Skip to content

Update ARM GNU toolchain, switch C library versions, rewrite linker/Makefile, update startup code

Aidan Matzko requested to merge mac into master

This requires an update to the QtCreator installer on both Mac and Windows.

Changes

  • Update ARM GNU toolchain included with our QtCreator installation (located in %QTINSTALL%/Proteus). This includes faster compile times, better compiler flags, and more up to date documentation.
  • Switch C standard libraries. We were using a very old version of EWL with no documentation. We are now using a non-semihosted version of newlib written and optimized by ARM.
  • Update startup code. The old startup code was EWL dependent, while the new code is not. This required renaming the interrupts used in the libraries.
  • Update linker and Makefile. The linker was updated because the code sections it defines are necessary for the updated startup code. The Makefile was updated to reduce redundant variables and specify relevant compiler flags for the new C library.
  • Fix tool permissions and update copyS19 on mac. The tools need to be chmod 775 so they can execute. The old mac version of copyS19 was inefficient.

Known Issues
On mac, see this stackoverflow post: https://stackoverflow.com/questions/32659348/operation-not-permitted-when-on-root-el-capitan-rootless-disabled. Students cannot create projects in their user directory (e.x. /Users/amatzko/), but rather have to create them in a lower directory (e.x. /Users/amatzko/Development/). This shouldn't really be an issue - just something we need to note on u.osu.

Testing Progress
LCD Screen - Done
Low Power Timer - Done
Motors - Not Done
Digital I/O - Not Done
Analog I/O - Not Done Xbee - Not Done

Edited by Aidan Matzko

Merge request reports