Important Notice: Our web hosting provider recently started charging us for additional visits, which was unexpected. In response, we're seeking donations. Depending on the situation, we may explore different monetization options for our Community and Expert Contributors. It's crucial to provide more returns for their expertise and offer more Expert Validated Answers or AI Validated Answers. Learn more about our hosting issue here.

Can I split my .bss section into two different memories while building a library so that I can keep the non-time critical code on external memory?

0
Posted

Can I split my .bss section into two different memories while building a library so that I can keep the non-time critical code on external memory?

0

You can use linker tricks to segregate critical code from libraries into separate sections so you can link them to internal memory instead of external memory. In terms of swapping code back and forth that is certainly doable. If you are intending to do overlays then the linker supports the UNION directive which allows you to have two different pieces of code execute from same address (at different times) while being loaded to distinct addresses. You can also use the table feature of the linker to generate copy tables that can then be used by a C program to access the start and sizes of the different sections to swap them in and out of internal memory. The latest run time support library even has a copy table routine that supports this. There is a secondary bootloading application note on C6000 devices that has example code and discussion of many of these topics.

Related Questions

What is your question?

*Sadly, we had to bring back ads too. Hopefully more targeted.

Experts123