Hello,
- We are using FSP v5.1.0 for RA, we are creating project with non-Trustzone (Flat project) using MCUBoot and an application SW.
- When looking to IDAU regions define for MCUBoot (flat project), we have the below setting:
- When looking to IDAU regions define for application SW (flat project), we have the below setting:
< Questions >
1- Having a MCUBoot and an application SW what will the IDAU regions to set-up?
2- We noticed that as we are using Non-TrustZone (Flat projects for both MCUBoot and application SW), R_BSP_SecurityInit (setting CFS1 and CFS1)) is not called.
Therefore in case of flat project what will be the incidence of setting IDAU regions ?
In advance thank you for your responses
The IDAU Trustzone boundary settings will be programmed by e2studio based on the Flash Layout settings you have set on the MCUboot project. For example:
Since you do not use Trustzone and the projects are flat, the images are secure so your Flash Layout should look like this:
IDAU Trustzone boundary settings are programmed via serial programming in boot mode. E2studio automatically puts the device into boot mode (before running the code in single-chip mode) and programs those registers.
Thank you for your feedback,
- I understand then we should the e2Studio setting from application SW project. For what we see the below value is considering both the McuBoot and Primary App area.
from our McuBoot configuration Boot size 0x10000 and Primary App size 0x20000 = 0x30000 (192kB)
<Question>
- We have additional requirements to have a fixed constant area which shall be still available regardless SW update (e.g. for motor calibration). For instance using your previous example because of the layout we were thinking to put it after the secondary App
How should we configure the IDAU to consider the part for Motor calibration?
In advance thank you for your response,
What will be stored in this area, code or data ?
In any case I do not see a reason why it should be placed in non-secure area, so I recommend to place it in secure.
Note: Some peripherals (for example EDMAC, QSPI etc) are always non-secure so some non-secure space should be configured in SRAM because so the associated RAM buffers must be placed in non-secure RAM. Otherwise they will not work.
- It will be some constants
- As the example with a system using a motor, it will be the constant calibration value of the motor determine at plant for each HW.
As it is HW dependent, it shall not be changed because of a SW update. That's why we were thinking to put at fix address, therefore this will be transparent after a SW update
We were thiniking to put it after the block of Primary and Secondary because this area will be changed after each SW update
>> How to handle this kind of HW calibration data (independent of SW update) and the configuration of IDAU in this case?
In advance thank you for your response
You can consider putting the constants on data flash. The secure application can access data flash even it is secure or non-secure.
Motor calibration can take a large amount of data (e.g. map), therefore put it in flash appears the best option.
How can we proceed in such case?
In advance thank you for your support
You can create a new section in linker in a specified code flash address and place your data there. If you are interested in this please create a new post as we try to keep one issue per post.
I have created this one community.renesas.com/.../new-section-linker-file---idau-configuration-update