Other Parts Discussed in Thread: UNIFLASH,
Hello expert,
Question:
"How can we configure our memory correctly to work in an environment where the SBL and a data-focused program operate harmoniously?"
Problem and Background:
We currently have the SBL implemented on the IWRL6432. We have done thorough testing showing that images flashed over the SBL will work. In particular the image we are flashing uses the CAN bus to communicate. These communications work as intended. We added a feature which will transmit range FFT data over the CAN. This feature works well when flashed directly to the device (using Uniflash for example) but when the image with this new data streaming feature is flashed using the SBL the data streamed is all 0s.
In looking at this problem we are concerned that it is a memory sharing issue. We have located that the range FFT data is pulled from the gMmwMssMCB.L3RamObj which is stored at the address gMmwMssMCB.L3RamObj.cfg.addr which is set with the '.l3' attribute. This '.l3' location is part of the HWASS_SHM_MEM as shown below.
Looking at the Developer notes in the documentation for the SBL example provided in SDK 5.4 we found the following statement, "If SBL example is being used, application being loaded cannot use Shared RAM for text, data, Read Only sections. Also, as SBL uses 64KB of RAM from address 0x00470000, application should avoid this area as well."
This statement leads us to believe that we will need to do a custom memory configuration in order for the SBL to work with our application. Can you please provide some insight on how we might approach confirming our diagnosis of the problem, and solving the problem? Thank you.