-
Notifications
You must be signed in to change notification settings - Fork 197
Make project PlatformIO compilable #207
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
base: master
Are you sure you want to change the base?
Conversation
The *.s files were renamed to *.S because PlatformIO, under Linux, treats .s files differently (it runs them through the arm-none-eabi-as instead of the wanted arm-none-eabi-gcc -x assembler-with-cpp). To make this project still buildable with the Makfile, the wildcard is changed accordingly.
Builds fine directly from an unzip. Just the two trivial warnings which we've had all along - src\cr_startup_lpc21.S:63:1: warning: "/*" within comment [-Wcomment] src\cr_startup_lpc21.S:79:1: warning: "/*" within comment [-Wcomment] Also, again trivial, PlatformIO complains if there isn't an /include directory, empty or not. |
Make Firmware PlatformIO compatible as of UnifiedEngineering#207
PlatformIO is a Python commandline tool with supplementary VSCode and CLion extensions for building embedded firmwares in a platform-independent way. PlatformIO is also able to generate project files for 11 desktop IDEs in which the project can be seamlessly edited and uploaded.
Based on issue #206 and the related community topic I've created
platformio.ini
configuration file so thatMakefile
would apply for compilation are applied during the PlatformIO buildversion.c
fromgit describe
lpc21isp
for Windows (compiled with Visual Studio) and LinuxSo, building this firmware on the CLI is as simple as having PlatformIO installed (
pip install platformio
) and executingpio run
for compiling andpio run -t upload
for upload. (Or use the VSCode plugin to nicely load and edit the project). The experience is that it's an easily loadable, editable and uploadable project.The
Makefile
buildsystem still works exactly as before, and has been slightly adapted to be PlatformIO as well as Makefile compilable. These changes include renaming.s
files to.S
(PIO treats these extension differently) and removing the PlatformIO-generatedversion.c
file.