我在使用CC1310时,没有使用OAD_BOOT时,通过HwiP_construct()可以配置中断函数,但当使用boot后,应用程序APP调用HwiP_construct()就配置不了中断函数了,直接使用IntRegister()又会出现程序崩溃的情况,请问一下需要如何配置?以下是使用boot后的APP的cmd配置:
/*
* ======== CC1310_LAUNCHXL.cmd ========
*/
--retain=g_pfnVectors
--stack_size=1024 /* C stack is also used for ISR stack */
/*
HEAPSIZE = 0x1000; */ /* Size of heap buffer used by HeapMem */
HEAPSIZE = 0x800;
/* Override default entry point. */
--entry_point ResetISR
/* Allow main() to take args */
--args 0x8
/* Suppress warnings and errors: */
/* - 10063: Warning about entry point not being _c_int00 */
/* - 16011, 16012: 8-byte alignment errors. Observed when linking in object */
/* files compiled using Keil (ARM compiler) */
--diag_suppress=10063,16011,16012
/* The starting address of the application. Normally the interrupt vectors */
/* must be located at the beginning of the application. */
/* #define FLASH_BASE 0x0 */
/* #define FLASH_SIZE 0x20000 */
#define FLASH_START 0x0
#define FLASH_BASE 0x1010
#define FLASH_SIZE 0x1BFF0
#define RAM_BASE 0x20000000
#define RAM_SIZE 0x5000
/* System memory map */
MEMORY
{
/* Application stored in and executes from internal flash */
FLASH (RX) : origin = FLASH_BASE, length = FLASH_SIZE
/* Application uses internal RAM for data */
SRAM (RWX) : origin = RAM_BASE, length = RAM_SIZE
}
/* Section allocation in memory */
SECTIONS
{
.intvecs : > FLASH_START
.text : >> FLASH
.TI.ramfunc : {} load=FLASH, run=SRAM, table(BINIT)
.const : >> FLASH
.constdata : >> FLASH
.rodata : >> FLASH
.cinit : > FLASH
.pinit : > FLASH
.init_array : > FLASH
.emb_text : >> FLASH
.ccfg : > FLASH (HIGH)
.vtable_ram : > SRAM
.data : > SRAM
.bss : > SRAM
.sysmem : > SRAM
.nonretenvar : > SRAM
/* Heap buffer used by HeapMem */
.priheap : {
__primary_heap_start__ = .;
. += HEAPSIZE;
__primary_heap_end__ = .;
} > SRAM align 8
.stack : > SRAM (HIGH)
}