Hi All,
I'm trying to use the UART Bootloader to download and start my application. Everything seems to be working fine except for the interrupts. I read from other forums that I need to change the intvecs.asm file in my bootloader but still no luck. My application starts at 0x0020020.
I'm using rti and gio interruputs, without the bootloader both are working fine. Is there anything else I should be aware to handle interrupts when using a bootloader, besides the modifications in the intvecs file?
sys_intvecs.asm (bootloader)
;------------------------------------------------------------------------------- ; sys_intvecs.asm ; ; (c) Texas Instruments 2009, All rights reserved. ; ;------------------------------------------------------------------------------- ; import reference for interrupt routines .ref _c_int00 .ref _svc ;------------------------------------------------------------------------------- ; interrupt vectors .sect ".intvecs" b _c_int00 b #0x20018 b #0x20018 b #0x20018 b #0x20018 b #0x20018 ldr pc,[pc,#-0x1b0] ldr pc,[pc,#-0x1b0]
The cmd file on my application.
/* Linker Settings */
--retain="*(.intvecs)"
/* USER CODE BEGIN (1) */
/* USER CODE END */
/*----------------------------------------------------------------------------*/
/* Memory Map */
MEMORY
{
/* USER CODE BEGIN (2) */
/* USER CODE END */
VECTORS (X) : origin=0x00020020 length=0x00000020
FLASH0 (RX) : origin=0x00020040 length=(0x001FFFE0-0x00020020)
FLASH1 (RX) : origin=0x00200000 length=0x00200000
STACKS (RW) : origin=0x08000000 length=0x00001500
RAM (RW) : origin=0x08040000 length=(0x00080000-0x00040000)
/* USER CODE BEGIN (3) */
/* USER CODE END */
}
/* USER CODE BEGIN (4) */
/* USER CODE END */
/*----------------------------------------------------------------------------*/
/* Section Configuration */
SECTIONS
{
/* USER CODE BEGIN (5) */
/* USER CODE END */
.intvecs : {} > VECTORS
.text align(32) : {} > FLASH0 | FLASH1
.const align(32) : {} > FLASH0 | FLASH1
.cinit align(32) : {} > FLASH0 | FLASH1
.pinit align(32) : {} > FLASH0 | FLASH1
.bss : {} > RAM
.data : {} > RAM
.sysmem : {} > RAM
/* USER CODE BEGIN (6) */
/* USER CODE END */
}
Thank you!
Best regards,
