This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[FAQ] TMS570LC4357: Issues with application Interrupts when using a Bootloader

Part Number: TMS570LC4357


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,