-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ATmega128 support #30
Conversation
Has more work been done since this PR, or should I review this one? |
No more work had been done, thanks for reviewing and merging. We have an ATmega128 blink reference deployment (with fprime-gds support) working off of the changes you just merged. I will try to make that deployment public soon. |
@nathancheek Otherwise, I get an error when generating:
The |
Ah you are correct. @SterlingPeet can we get those changes to arduino-cli-cmake-wrapper merged into main with a new release that can be installed via pip? |
This is on my todo list, should percolate up to the top in the next two weeks. Just cleaning up some release-support stuff. @ethancheez you can install the |
@SterlingPeet I am going to do a release of the tool on PIP from the above branch, just so we have published something that works. When finished with merging to main, let me know and I can release again. |
@LeStarch That seems fine, just publish it as a patch or alpha release so we don't confuse the version numbering. |
These changes enable the ATmega128 design to compile and successfully run a basic blink deployment (with F Prime GDS commanding and telemetry). This builds off the ranlib update in PR #29.
There are 4 main changes:
TimerOne
library updated with latest patches, AVR builds made to point to the local patchedTimerOne
library instead of the upstream unpatched version (which doesn't support ATmega128), and now-unnecessaryTimerOne
-related compiler flags removedARDUINO_BOARD_OPTIONS
cmake variable which works with thearduino-cli-cmake-wrapper
to pass--board-options
toarduino-cli
(necessary in this case for specifying the clockspeed)ARDUINO_LINKER_FLAGS
cmake variable which allows for custom linker flags (necessary in this case for telling the linker to place.data
,.bss
, and the heap in external SRAM, leaving internal SRAM dedicated to the stack [0])[0] https://www.nongnu.org/avr-libc/user-manual/malloc.html#malloc_tunables