Goal: To be able to compile Ledger Nano S apps, load them onto a Ledger Nano S, and interact with those apps entirely from within Raspbian running on a Raspberry Pi. This would be one alternative to running a Ledger Nano dev environment from a virtual machine, as is currently needed if you are devloping from a Windows or Mac OS based host machine.
According to here, Nano development uses both GCC and Clang toolchains, with each serving a slightly different purpose:
- A standard ARM gcc to build the non-secure (STM32) firmware and link the secure (ST31) applications
- A standard ARM clang above 4.0.0 with ROPI support to build the secure (ST31) applications
So, if I'm interpretting correctly (iffy), the actual apps we build will compile with Clang, (they're ST31 apps), but the GCC toolchain is still needed for linking, (and additionally for compiling ST32 firmware, if for some reason we are doing that).