Hi,
As mentioned earlier, I am developing second level bootloader to update the application firmware. The application firmware is sent via FlexCAN - FD. The second level bootloader runs from NOR FLASH in XIP mode. Linker file configurations are the same as mentioned above.
When I call the function:
nor_options.option0.U = 0xC0000008;
status_ = g_bootloaderTree->flexSpiNorDriver->get_config ( 1, &config_,&nor_options );
The base pointer for the CAN peripheral becomes Null.
Image is attached for your reference.
Can I know the root cause of this problem.
The procedure followed to develop a second level bootloader with the update over FlexCAN:
1. Bootloader code runs in Flash in XIP mode.
2. Check for GPIO to decide on whether to update or jump to firmware application.
3. Get the firmware to through FlexCAN.
4. ROM boot APIs are used to update the firmware in the flash.
5. Step 3 and step 4 continues to execute until the complete firmware is updated to Flash.
6. Jump to Application.
Please confirm if I am following the right procedure of developing a second level bootloader to update the Firmware application in Flash.
Regards,
Hemadri