Introduction
For my GSoC project, I worked on porting RTEMS to ARM Cortex-M4F and provide a board support package for TI TM4C129E. TM4C129E is a low cost, simple IoT demonstrator with high-performance onboard emulation. As stated in my project proposal, my aim was to add processor, console and clock ticks support for the BSP. Also, I planned on adding network support which I was not able to complete during the project time frame.
Presently, I will say I have completed 80% of the work stated in my project proposal. I made use of the OpenOCD and GDB to debug and test my codes during this process.
Status of work accomplished
Add support for the ARM cortex M4F
Firstly, I updated all the required files to implement the BSP and implemented the first binary on the board. During the implementation of this particular phase, I encountered some difficulties with the board dependent files. One particular problem was running the BSP that my new BSP was based on Qemu. Eventually, I was able to run the BSP for the board family and could then work on adding my BSP.
Add support for the BSP port
At this stage, I worked on adding the board support package for (BSP) TM4C129E. I implemented the memory mappings for the systems control, the UART, GPIO and other IO configurations required for this BSP.
A considerable amount of time of the whole GSoC effort was spent at this phase of the project because the memory mappings of the TM4C129E board have much difference to the board family that my work was based on. This involves continuous iteration of the processes involved in building a new BSP. OpenOCD and GDB came into play here for debugging and testing the codes.
Console and clock tick test
After a successful build of the BSP, I ran some binary test code on the board to determine if the console and clock tick drivers are working as desired.
Using OpenOCD and GDB as my test bench, I was able to test the console and clock driver with the HelloWorld and Ticker binaries. Although some of the results were a little bit off at first, continued iteration of this process produced the appropriate results.
What I achieved finally
- Completed processor and Board Support Package (BSP) for TM4C129E
- Implement and tested console on OpenOCD and GDB
- Implement and tested clock tick driver on OpenOCD and GDB.
Code Produced
All implemented code can be viewed on my GitHub repository. Click here.