This essentially is the same question as here, but the link provided there no longer works...
Even better than having to search and download these files by itself, was to have these files contained in the EFM32 SDK. It took me approx. 2 hours searching, browsing, googling,.. to eventually find the link above, finding it's no longer working...
The functionality in crt0.S is essential for understanding the startup sequence of a C program running on an EFM32, for educational reasons. Ideally, I could create a project in Simplicity Studio and single step through the code in crt0.S without any change to the project/launch configuration. Alternatively, simple instructions somewhere on the web would also do it.
Thanks & BR,
Per the message posted here:
As previously announced all new binary and source packages will not be released on Launchpad henceforth, they can be found on:
it looks like that link is now located at something like https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads
Thanks for the link. It does answer part of the question, though on further digging down I ran into the following issues:
a) Library selection
Newlib https://sourceware.org/newlib/ only applies if [Base C Library] (= full library) is selected.
However, the default setting for EFM32 projects is [Nano C Library] (= optimized for embedded systems).
Hence, Newlibs's crt0.S is not the startup code which applies to a typical EFM32 project. Where can I find Nano's crt0.S?
The code at https://github.com/32bitmicro/newlib-nano-2 could be the one used with EFM32, but could also mismatch. Difficult to tell for a user...
b) Source code lookup in Eclipse
Once the source code in use could be identified, telling Eclipse to locate that code isn't straightforward either. Thus, as mentioned in the initial post:
Ideally, I could create a project in Simplicity Studio and single step through the code in crt0.S without any change to the project/launch configuration. I assume this requires the following changes to the SDK:
Alternatively, simple instructions somewhere on the web would also do it. I tried to do this by...
But this isn't sufficient or not the way to do it. Eclipse doesn't open and show neither crt0.S nor memset(). Stuck again...
So, as a user of EFM32 and Simplicity Studio, I am currently not able to step through the startup sequence of my project. I think I should be able to do this. Having spent several hours on the topic already, I am getting frustrated about this. Further guidance is highly appreciated.
Here's the findings of a case conversion and a few more hours of digging further:
All fine so far. Quite complicated though, given that even commercial tool chains like IAR these days provide full standard library source code as part of the installation, but at least I got there after some days.
Still, source lookup in Simplicity Studio / Eclipse doesn't work. I added both paths...
...to the debug configuration, but stepping into bl __START of startup_gcc_efmwg.S line #267 doesn't show library source, neither does memset() a few steps later.
Something puzzles me. Normally, Eclipse shows a "Source not found." message like e.g. shown at http://h22208.www2.hpe.com/eginfolib/networking/docs/sdn/sdnc2_7/5200-0910prog/content/s_sdnc-eclipse-AttachingSource.html. But that doesn't happen. And I did not find any way to manually locate the corresponding source file either.
Upgrading to GNU ARM v7.2.1 didn't help either.
Creating a case at ARM.