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.

[参考译文] TMS570LC4357:使用引导加载程序时应用中断的问题

Guru**** 2419530 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1358298/tms570lc4357-issues-with-application-interrupts-when-using-a-bootloader

器件型号:TMS570LC4357

大家好!

我正在尝试使用 UART 引导加载程序 来下载和启动我的应用程序。 除了中断、一切似乎都正常工作。 我从其他论坛上看到、需要在引导加载程序中更改 intvecs.asm 文件、但仍然不能成功。 我的应用程序从0x0020020开始。

我使用的是 RTI 和 GIO 中断、没有引导加载程序、它们都可以正常工作。 除了 intvecs 文件中的修改外、在使用引导加载程序时、我还需要注意其他什么东西来处理中断?

SYS_intvecs.asm (引导加载程序)

;-------------------------------------------------------------------------------
; 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]

应用程序上的 cmd 文件。

/* 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 */
}

谢谢!

此致、