Part Number:AM263P4
When the SWAP feature is enabled with A and B partitions configured, actual testing revealed that after setting the active region to A (FSS_selectRegionA), calling Flash operation APIs like Flash_read to read data at offsets 0x100000 and 0x500000 always retrieves data from the physical address 0x60100000. Similarly, when set to region B, reading the same offsets (0x100000 and 0x500000) consistently returns data from the physical address 0x60500000.Specifically as follows:


This leads to a question: How can I use Flash operation APIs (Flash_read, Flash_write, etc.) in region A to manipulate data physically located in region B (e.g., at 0x60500000)?
One approach I'm considering is that when operating in region A but needing to access region B Flash data, I would first switch to region B using FSS_selectRegionB, perform the necessary Flash operations, and then switch back to region A (FSS_selectRegionA) before exiting. Is this method feasible? Are there any other more reliable or simpler methods available?
Thank you very much for your answer!!
Taylor:
您好,
已经收到了您的案例,调查需要些时间,感谢您的耐心等待。
,
Links:
mingzhe dai 说: How can I use Flash operation APIs (Flash_read, Flash_write, etc.) in region A to manipulate data physically located in region B (e.g., at 0x60500000)?
The Flash APIs work agnostic of the FOTA IP, you still use the flash API with absolute offset
mingzhe dai 说:One approach I'm considering is that when operating in region A but needing to access region B Flash data, I would first switch to region B using FSS_selectRegionB, perform the necessary Flash operations, and then switch back to region A (FSS_selectRegionA) before exiting. Is this method feasible? Are there any other more reliable or simpler methods available?
My first question would be do you want to use FOTA IP or do you need just flash read writes only?
,
mingzhe dai:
Question 1 Translation:"First question: I see the Flash API provided in the SDK uses an offset as the parameter instead of an absolute address. Could you specify which Flash API you referred to that requires an absolute address?"
Question 2 Translation:"Second clarification: My FOTA implementation requires dual-partition (A/B) functionality, while also enabling full physical address space access from either Partition A or B. Please confirm if the approach remains consistent."
,
Links:
This would be the approach to physically write into the address at 0x6050000.
With FOTA enabled, it would not be possible to write into this address when FSSA is enabled. You would need to switch to FSSB to write into this region.
,
Links:
mingzhe dai 说:First question: I see the Flash API provided in the SDK uses an offset as the parameter instead of an absolute address. Could you specify which Flash API you referred to that requires an absolute address?"
Both the API's take the absolute offset. (Plase note, I had mentioned absolute offset), In the API address is calculated like – flash basea address(0x60000000)+offset.
mingzhe dai 说:My FOTA implementation requires dual-partition (A/B) functionality, while also enabling full physical address space access from either Partition A or B. Please confirm if the approach remains consistent."
I am not able to understand this?
TI中文支持网


