Tool/software:
Hi, Team:
Now I can start the user program using the ethernet bootloader. The start address of the user program (LED_Blinky_RM57_At_0x20020) is 0x20020. The content in the current user program HL_sys_link.cmd is as follows:
MEMORY
{
/* USER CODE BEGIN (2) /
/ USER CODE END */
VECTORS (X) : origin=0x00020020 length=0x00000020
FLASH0 (RX) : origin=0x00020040 length=(0x001FFFE0-0x20040)
FLASH1 (RX) : origin=0x00200000 length=0x00200000
STACKS (RW) : origin=0x08050000 length=0x00001500
RAM (RW) : origin=0x08051500 length=(0x00080000-0x51500)
{
/* USER CODE BEGIN (2) /
/ USER CODE END */
VECTORS (X) : origin=0x00020020 length=0x00000020
FLASH0 (RX) : origin=0x00020040 length=(0x001FFFE0-0x20040)
FLASH1 (RX) : origin=0x00200000 length=0x00200000
STACKS (RW) : origin=0x08050000 length=0x00001500
RAM (RW) : origin=0x08051500 length=(0x00080000-0x51500)
/* USER CODE BEGIN (3) /
/ USER CODE END */
}
/ USER CODE END */
}
The content of the.cmd file of the ethernet bootloader is as follows:
MEMORY
{
/* USER CODE BEGIN (2) */
VECTORS (X) : origin=0x00000000 length=0x00000020 vfill = 0xffffffff
FLASH0 (RX) : origin=0x00000020 length=0x001FFFE0 vfill = 0xffffffff
FLASH1 (RX) : origin=0x00200000 length=0x00200000 vfill = 0xffffffff
RAM (RWX) : origin=0x08002000 length=0x0007E000
STACK (RW) : origin=0x08000000 length=0x00002000
{
/* USER CODE BEGIN (2) */
VECTORS (X) : origin=0x00000000 length=0x00000020 vfill = 0xffffffff
FLASH0 (RX) : origin=0x00000020 length=0x001FFFE0 vfill = 0xffffffff
FLASH1 (RX) : origin=0x00200000 length=0x00200000 vfill = 0xffffffff
RAM (RWX) : origin=0x08002000 length=0x0007E000
STACK (RW) : origin=0x08000000 length=0x00002000
My questions are:
1 After the user program runs, if the following exceptions occur (undefEntry, svcEntry, prefetchEntry, dataEntry), can they be routed to the interrupt vector table in the user program?
2 How can the above exceptions be handled in the user program?
thanks