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.
专家你好,我使用CCS配置CLA,生成后套用C盘软件安装目录里C2000Ware_5_00_00_00里的cla_ex1_asin模板。asin
使用模板能够正常调试CLA,也能在CLA里单步调试,能正常使用。
但是将模板的主要代码asin.cla、cla_ex1_asin_shared.h,还有其他代码移植到我的工程后无法正常调试和使用CLA。
具体现象如下:1.Cla1ProgRunStart能够将CLA程序从Flash拷贝到RAMLS0,memory中有显示相关代码。
2.在DEBUG界面CLA,Load Symbols后显示no symbols are defined
3.运行CLA_runTest()时y数组没有变化,y数值依然是初始值0。
board.c部分相关代码如下:
#include "board.h" //***************************************************************************** // // Board Configurations // Initializes the rest of the modules. // Call this function in your application if you wish to do all module // initialization. // If you wish to not use some of the initializations, instead of the // Board_init use the individual Module_inits // //***************************************************************************** void Board_init() { EALLOW; PinMux_init(); SYNC_init(); ASYSCTL_init(); CLA_init(); MEMCFG_init(); ADC_init(); AIO_init(); CPUTIMER_init(); EPWM_init(); GPIO_init(); PGA_init(); INTERRUPT_init(); EDIS; } //***************************************************************************** // // CLA Configurations // //***************************************************************************** void myCLA0_init(){ // // Configure all CLA task vectors // On Type-1 and Type-2 CLAs the MVECT registers accept full 16-bit task addresses as // opposed to offsets used on older Type-0 CLAs // #pragma diag_suppress=770 // // CLA Task 1 // CLA_mapTaskVector(myCLA0_BASE, CLA_MVECT_1, (uint16_t)&Cla1Task1); CLA_setTriggerSource(CLA_TASK_1, CLA_TRIGGER_SOFTWARE); // // CLA Task 2 // CLA_mapTaskVector(myCLA0_BASE, CLA_MVECT_2, (uint16_t)&Cla1Task2); CLA_setTriggerSource(CLA_TASK_2, CLA_TRIGGER_SOFTWARE); // // CLA Task 3 // CLA_mapTaskVector(myCLA0_BASE, CLA_MVECT_3, (uint16_t)&Cla1Task3); CLA_setTriggerSource(CLA_TASK_3, CLA_TRIGGER_SOFTWARE); // // CLA Task 4 // CLA_mapTaskVector(myCLA0_BASE, CLA_MVECT_4, (uint16_t)&Cla1Task4); CLA_setTriggerSource(CLA_TASK_4, CLA_TRIGGER_SOFTWARE); // // CLA Task 5 // CLA_mapTaskVector(myCLA0_BASE, CLA_MVECT_5, (uint16_t)&Cla1Task5); CLA_setTriggerSource(CLA_TASK_5, CLA_TRIGGER_SOFTWARE); // // CLA Task 6 // CLA_mapTaskVector(myCLA0_BASE, CLA_MVECT_6, (uint16_t)&Cla1Task6); CLA_setTriggerSource(CLA_TASK_6, CLA_TRIGGER_SOFTWARE); // // CLA Task 7 // CLA_mapTaskVector(myCLA0_BASE, CLA_MVECT_7, (uint16_t)&Cla1Task7); CLA_setTriggerSource(CLA_TASK_7, CLA_TRIGGER_SOFTWARE); // // CLA Task 8 // CLA_mapTaskVector(myCLA0_BASE, CLA_MVECT_8, (uint16_t)&Cla1Task8); CLA_setTriggerSource(CLA_TASK_8, CLA_TRIGGER_SOFTWARE); // // Disable background task // CLA_disableBackgroundTask(myCLA0_BASE); #pragma diag_warning=770 // // Enable the IACK instruction to start a task on CLA in software // for all 8 CLA tasks. Also, globally enable all 8 tasks (or a // subset of tasks) by writing to their respective bits in the // MIER register // CLA_enableIACK(myCLA0_BASE); CLA_enableTasks(myCLA0_BASE, CLA_TASKFLAG_ALL); } void CLA_init() { #ifdef _FLASH #ifndef CMDTOOL // Linker command tool is not used extern uint32_t Cla1ProgRunStart, Cla1ProgLoadStart, Cla1ProgLoadSize; extern uint32_t Cla1ConstRunStart, Cla1ConstLoadStart, Cla1ConstLoadSize; // // Copy the program and constants from FLASH to RAM before configuring // the CLA // memcpy((uint32_t *)&Cla1ProgRunStart, (uint32_t *)&Cla1ProgLoadStart, (uint32_t)&Cla1ProgLoadSize); memcpy((uint32_t *)&Cla1ConstRunStart, (uint32_t *)&Cla1ConstLoadStart, (uint32_t)&Cla1ConstLoadSize ); #endif //CMDTOOL #endif //_FLASH myCLA0_init(); } //***************************************************************************** // // INTERRUPT Configurations // //***************************************************************************** void INTERRUPT_init(){ // Interrupt Setings for INT_myCLA01 Interrupt_register(INT_myCLA01, &cla1Isr1); Interrupt_enable(INT_myCLA01); // Interrupt Setings for INT_myCLA02 Interrupt_register(INT_myCLA02, &cla1Isr2); Interrupt_enable(INT_myCLA02); // Interrupt Setings for INT_myCLA03 Interrupt_register(INT_myCLA03, &cla1Isr3); Interrupt_enable(INT_myCLA03); // Interrupt Setings for INT_myCLA04 Interrupt_register(INT_myCLA04, &cla1Isr4); Interrupt_enable(INT_myCLA04); // Interrupt Setings for INT_myCLA05 Interrupt_register(INT_myCLA05, &cla1Isr5); Interrupt_enable(INT_myCLA05); // Interrupt Setings for INT_myCLA06 Interrupt_register(INT_myCLA06, &cla1Isr6); Interrupt_enable(INT_myCLA06); // Interrupt Setings for INT_myCLA07 Interrupt_register(INT_myCLA07, &cla1Isr7); Interrupt_enable(INT_myCLA07); // Interrupt Setings for INT_myCLA08 Interrupt_register(INT_myCLA08, &cla1Isr8); Interrupt_enable(INT_myCLA08); // Interrupt Setings for INT_timer2 Interrupt_register(INT_timer2, &portTICK_ISR); Interrupt_disable(INT_timer2); // Interrupt Setings for INT_myADCA_1 Interrupt_register(INT_myADCA_1, &adcA1ISR); Interrupt_enable(INT_myADCA_1); // Interrupt Setings for INT_myADCB_1 Interrupt_register(INT_myADCB_1, &INT_myADCB_1_ISR); Interrupt_enable(INT_myADCB_1); // Interrupt Setings for INT_myADCB_4 Interrupt_register(INT_myADCB_4, &INT_myADCB_4_ISR); Interrupt_enable(INT_myADCB_4); // Interrupt Setings for INT_myADCC_1 Interrupt_register(INT_myADCC_1, &INT_myADCC_1_ISR); Interrupt_enable(INT_myADCC_1); // Interrupt Setings for INT_myADCC_2 Interrupt_register(INT_myADCC_2, &INT_myADCC_2_ISR); Interrupt_enable(INT_myADCC_2); // Interrupt Setings for INT_myADCC_3 Interrupt_register(INT_myADCC_3, &INT_myADCC_3_ISR); Interrupt_enable(INT_myADCC_3); // Interrupt Setings for INT_myADCC_4 Interrupt_register(INT_myADCC_4, &INT_myADCC_4_ISR); Interrupt_enable(INT_myADCC_4); }
main.c代码如下:
//############################################################################# // // //############################################################################# // // Included Files // #include "driverlib.h" #include "board.h" #include "device.h" #include "clocktree.h" #define MSGCOUNT 10000 const char gcs8_Software_Version[19] = {'V','A','S','8','6','2','S','0','0','1',0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};//VAS341C110; const char gcs8_Hardware_Version[14] = {'V','A','1','0','5','1','-','0','0','1','T'};//VA1064A-002A; const char gcs8_PCB_Version[12] = {'V','A','1','0','5','1','-','0','0','1','T'};//VA1060A-003A; #include "cla_ex1_asin_shared.h" // // Defines // #define WAITSTEP asm(" RPT #255 || NOP") // // Globals // // //Task 1 (C) Variables // NOTE: Do not initialize the Message RAM variables globally, they will be // reset during the message ram initialization phase in the CLA memory // configuration routine // #ifdef __cplusplus #pragma DATA_SECTION("CpuToCla1MsgRAM"); float fVal; #pragma DATA_SECTION("Cla1ToCpuMsgRAM"); float fResult; #else #pragma DATA_SECTION(fVal,"CpuToCla1MsgRAM"); float fVal; #pragma DATA_SECTION(fResult,"Cla1ToCpuMsgRAM"); float fResult; #endif //__cplusplus float y[BUFFER_SIZE]; // //Task 2 (C) Variables // // //Task 3 (C) Variables // // //Task 4 (C) Variables // // //Task 5 (C) Variables // // //Task 6 (C) Variables // // //Task 7 (C) Variables // // //Task 8 (C) Variables // // //Common (C) Variables //The Exponential table // #ifdef __cplusplus #pragma DATA_SECTION("CLADataLS1") #else #pragma DATA_SECTION(CLAasinTable,"CLADataLS1") #endif //__cplusplus float CLAasinTable[]={ 0.0, 1.0, 0.0, 0.000000636202, 0.999877862610, 0.007815361896, 0.000005099694, 0.999510644409, 0.015647916155, 0.000017268312, 0.998895919094, 0.023514960332, 0.000041121765, 0.998029615282, 0.031434003631, 0.000080794520, 0.996905974725, 0.039422875916, 0.000140631089, 0.995517492804, 0.047499840611, 0.000225244584, 0.993854840311, 0.055683712914, 0.000339579512, 0.991906765146, 0.063993984848, 0.000488979852, 0.989659972212, 0.072450958820, 0.000679263611, 0.987098979366, 0.081075891529, 0.000916805182, 0.984205946802, 0.089891150305, 0.001208627040, 0.980960476685, 0.098920384204, 0.001562502549, 0.977339379243, 0.108188712551, 0.001987071928, 0.973316400729, 0.117722933997, 0.002491973784, 0.968861907789, 0.127551759665, 0.003087995053, 0.963942521723, 0.137706074532, 0.003787242692, 0.958520694794, 0.148219231941, 0.004603341138, 0.952554219267, 0.159127386977, 0.005551660294, 0.945995657913, 0.170469875522, 0.006649579796, 0.938791682505, 0.182289647088, 0.007916796475, 0.930882303984, 0.194633761132, 0.009375683410, 0.922199974574, 0.207553958472, 0.011051710808, 0.912668537890, 0.221107321885, 0.012973941175, 0.902201997769, 0.235357042896, 0.015175614174, 0.890703070035, 0.250373315541, 0.017694840102, 0.878061473098, 0.266234382514, 0.020575425537, 0.864151902887, 0.283027765009, 0.023867860513, 0.848831624374, 0.300851714968, 0.027630504055, 0.831937595031, 0.319816937941, 0.031931014547, 0.813283013821, 0.340048646894, 0.036848083955, 0.792653161200, 0.361689022958, 0.042473551274, 0.769800358920, 0.384900179460, 0.048914992206, 0.744437830278, 0.409867752228, 0.056298910750, 0.716232177740, 0.436805274317, 0.064774696786, 0.684794109766, 0.465959540059, 0.074519565699, 0.649666934178, 0.497617226179, 0.085744766889, 0.610312179660, 0.532113122767, 0.098703445606, 0.566091493186, 0.569840443472, 0.113700678529, 0.516243664372, 0.611263845480, 0.131106395009, 0.459855210927, 0.656936015611, 0.151372169232, 0.395822366759, 0.707518998893, 0.175053263659, 0.322801460177, 0.763811905770, 0.202837883870, 0.239143420888, 0.826787304376, 0.235586468765, 0.142806299514, 0.897639596948, 0.274385149825, 0.031236880585, 0.977850174820, 0.320619535938, -0.098791845166, 1.069276441800, 0.376078169620, -0.251407364538, 1.174275392129, 0.443100143614, -0.431959397725, 1.295878193174, 0.524789871827, -0.647485610469, 1.438041695773, 0.625336471263, -0.907400624736, 1.606018804842, 0.750500589935, -1.224540947101, 1.806917563896, 0.908377657341, -1.616794995066, 2.050569262035, 1.110633894185, -2.109729648039, 2.350920816737, 1.374584721437, -2.740985157716, 2.728353889708, 1.726848242753, -3.567962877198, 3.213722960014, 2.210117561056, -4.682006534082, 3.855770086891, 2.896554011854, -6.236312386687, 4.735651038017, 3.916505715382, -8.505488022524, 5.997790945975, 5.526855868703, -12.026617159136, 7.922628470498, 8.298197116322, -17.983705080358, 11.123941286820, 13.741706072449, -29.488929624542, 17.203344479111, 27.202707817485, -57.466598393615, 31.741016484669, 83.158101335898, -171.803399517566, 90.149831709374 }; float asin_expected[BUFFER_SIZE]={ 1.570796, 1.393789, 1.320141, 1.263401, 1.215375, 1.172892, 1.134327, 1.098718, 1.065436, 1.034046, 1.004232, 0.9757544, 0.9484279, 0.9221048, 0.8966658, 0.8720123, 0.8480621, 0.8247454, 0.8020028, 0.7797828, 0.7580408, 0.7367374, 0.7158381, 0.6953120, 0.6751316, 0.6552721, 0.6357113, 0.6164289, 0.5974064, 0.5786270, 0.5600753, 0.5417370, 0.5235988, 0.5056486, 0.4878751, 0.4702678, 0.4528166, 0.4355124, 0.4183464, 0.4013104, 0.3843968, 0.3675981, 0.3509074, 0.3343180, 0.3178237, 0.3014185, 0.2850964, 0.2688521, 0.2526802, 0.2365756, 0.2205333, 0.2045484, 0.1886164, 0.1727327, 0.1568929, 0.1410927, 0.1253278, 0.1095943, 0.09388787, 0.07820469, 0.06254076, 0.04689218, 0.03125509, 0.01562564 }; uint16_t pass = 0; uint16_t fail = 0; // // Function Prototypes // void CLA_runTest(void); __interrupt void cla1Isr1(); __interrupt void cla1Isr2(); __interrupt void cla1Isr3(); __interrupt void cla1Isr4(); __interrupt void cla1Isr5(); __interrupt void cla1Isr6(); __interrupt void cla1Isr7(); __interrupt void cla1Isr8(); void main(void) { demo_mea(); Device_init(); Device_initGPIO(); Interrupt_initModule(); Interrupt_initVectorTable(); Can_Drv_Init(); Can_SetConfig(); Hardware_initialization_and_enable(); // // Enable Global Interrupt (INTM) and realtime interrupt (DBGM) // EINT; ERTM; // Can_Test(); // Ccp_Init(); // EcuM_Init(); // // Run the test // CLA_runTest(); for(;;) { } // while(1) // { // // } // // Stop application after completion. // asm(" ESTOP0"); } // // CLA_runTest - Execute CLA task tests for specified vectors // void CLA_runTest(void) { int16_t i; float error; for(i = 0; i < BUFFER_SIZE; i++) { fVal= (float)(BUFFER_SIZE - i)/(float)BUFFER_SIZE; CLA_forceTasks(myCLA0_BASE,CLA_TASKFLAG_1); WAITSTEP; y[i] = fResult; error = fabsf(asin_expected[i]-y[i]); if(error < 0.1f) { pass++; } else { fail++; } } #if 0 CLA_forceTasks(CLA1_BASE,CLA_TASKFLAG_2); WAITSTEP; CLA_forceTasks(CLA1_BASE,CLA_TASKFLAG_3); WAITSTEP; CLA_forceTasks(CLA1_BASE,CLA_TASKFLAG_4); WAITSTEP; CLA_forceTasks(CLA1_BASE,CLA_TASKFLAG_5); WAITSTEP; CLA_forceTasks(CLA1_BASE,CLA_TASKFLAG_6); WAITSTEP; CLA_forceTasks(CLA1_BASE,CLA_TASKFLAG_7); WAITSTEP; CLA_forceTasks(CLA1_BASE,CLA_TASKFLAG_8); WAITSTEP; #endif } // // cla1Isr1 - CLA1 ISR 1 // __interrupt void cla1Isr1 () { // // Acknowledge the end-of-task interrupt for task 1 // Interrupt_clearACKGroup(INTERRUPT_ACK_GROUP11); // // Uncomment to halt debugger and stop here // // asm(" ESTOP0"); } // // cla1Isr2 - CLA1 ISR 2 // __interrupt void cla1Isr2 () { asm(" ESTOP0"); } // // cla1Isr3 - CLA1 ISR 3 // __interrupt void cla1Isr3 () { asm(" ESTOP0"); } // // cla1Isr4 - CLA1 ISR 4 // __interrupt void cla1Isr4 () { asm(" ESTOP0"); } // // cla1Isr5 - CLA1 ISR 5 // __interrupt void cla1Isr5 () { asm(" ESTOP0"); } // // cla1Isr6 - CLA1 ISR 6 // __interrupt void cla1Isr6 () { asm(" ESTOP0"); } // // cla1Isr7 - CLA1 ISR 7 // __interrupt void cla1Isr7 () { asm(" ESTOP0"); } // // cla1Isr8 - CLA1 ISR 8 // __interrupt void cla1Isr8 () { // // Acknowledge the end-of-task interrupt for task 8 // Interrupt_clearACKGroup(INTERRUPT_ACK_GROUP11); // // Uncomment to halt debugger and stop here // // asm(" ESTOP0"); } // // End of File //
28004x_generic_flash_lnk.cmd代码如下:
MEMORY { PAGE 0 : /* BEGIN is used for the "boot to Flash" bootloader mode */ BEGIN : origin = 0x080000, length = 0x000002 RAMM0 : origin = 0x0000F6, length = 0x00030A RAMLS0 : origin = 0x008000, length = 0x001000 RAMLS3 : origin = 0x00A000, length = 0x000800 /* RAMLS4 : origin = 0x00A000, length = 0x000800 */ RESET : origin = 0x3FFFC0, length = 0x000002 /* Flash sectors */ /* BANK 0 */ FLASH_BANK0_SEC0 : origin = 0x080002, length = 0x000FFE /* on-chip Flash */ FLASH_BANK0_SEC1 : origin = 0x081000, length = 0x001000 /* on-chip Flash */ FLASH_BANK0_SEC2 : origin = 0x082000, length = 0x001000 /* on-chip Flash */ FLASH_BANK0_SEC3 : origin = 0x083000, length = 0x001000 /* on-chip Flash */ FLASH_BANK0_SEC4 : origin = 0x084000, length = 0x001000 /* on-chip Flash */ FLASH_BANK0_SEC5 : origin = 0x085000, length = 0x001000 /* on-chip Flash */ FLASH_BANK0_SEC6 : origin = 0x086000, length = 0x001000 /* on-chip Flash */ FLASH_BANK0_SEC7 : origin = 0x087000, length = 0x001000 /* on-chip Flash */ // FLASH_BANK0_SEC8 : origin = 0x088000, length = 0x001000 /* on-chip Flash */ FLASH_BANK0_SEC8 : origin = 0x088000, length = 0x000100 /* on-chip Flash */ FLASH_BANK0_SEC81 : origin = 0x088100, length =0x000F00 /* on-chip Flash */ //drc FLASH_BANK0_SEC9 : origin = 0x089000, length = 0x001000 /* on-chip Flash */ FLASH_BANK0_SEC10 : origin = 0x08A000, length = 0x001000 /* on-chip Flash */ FLASH_BANK0_SEC11 : origin = 0x08B000, length = 0x001000 /* on-chip Flash */ FLASH_BANK0_SEC12 : origin = 0x08C000, length = 0x001000 /* on-chip Flash */ FLASH_BANK0_SEC13 : origin = 0x08D000, length = 0x001000 /* on-chip Flash */ FLASH_BANK0_SEC14 : origin = 0x08E000, length = 0x001000 /* on-chip Flash */ FLASH_BANK0_SEC15 : origin = 0x08F000, length = 0x001000 /* on-chip Flash */ /* BANK 1 */ FLASH_BANK1_SEC0 : origin = 0x090000, length = 0x001000 /* on-chip Flash */ FLASH_BANK1_SEC1 : origin = 0x091000, length = 0x001000 /* on-chip Flash */ FLASH_BANK1_SEC2 : origin = 0x092000, length = 0x001000 /* on-chip Flash */ FLASH_BANK1_SEC3 : origin = 0x093000, length = 0x001000 /* on-chip Flash */ FLASH_BANK1_SEC4 : origin = 0x094000, length = 0x001000 /* on-chip Flash */ FLASH_BANK1_SEC5 : origin = 0x095000, length = 0x001000 /* on-chip Flash */ FLASH_BANK1_SEC6 : origin = 0x096000, length = 0x001000 /* on-chip Flash */ FLASH_BANK1_SEC7 : origin = 0x097000, length = 0x001000 /* on-chip Flash */ FLASH_BANK1_SEC8 : origin = 0x098000, length = 0x001000 /* on-chip Flash */ FLASH_BANK1_SEC9 : origin = 0x099000, length = 0x001000 /* on-chip Flash */ FLASH_BANK1_SEC10 : origin = 0x09A000, length = 0x001000 /* on-chip Flash */ FLASH_BANK1_SEC11 : origin = 0x09B000, length = 0x001000 /* on-chip Flash */ FLASH_BANK1_SEC12 : origin = 0x09C000, length = 0x001000 /* on-chip Flash */ FLASH_BANK1_SEC13 : origin = 0x09D000, length = 0x001000 /* on-chip Flash */ FLASH_BANK1_SEC14 : origin = 0x09E000, length = 0x001000 /* on-chip Flash */ FLASH_BANK1_SEC15 : origin = 0x09F000, length = 0x000FF0 /* on-chip Flash */ // FLASH_BANK1_SEC15_RSVD : origin = 0x09FFF0, length = 0x000010 /* Reserve and do not use for code as per the errata advisory "Memory: Prefetching Beyond Valid Memory" */ PAGE 1 : BOOT_RSVD : origin = 0x000002, length = 0x0000F1 /* Part of M0, BOOT rom will use this for stack */ RAMM1 : origin = 0x000400, length = 0x0003F8 /* on-chip RAM block M1 */ // RAMM1_RSVD : origin = 0x0007F8, length = 0x000008 /* Reserve and do not use for code as per the errata advisory "Memory: Prefetching Beyond Valid Memory" */ RAMLS1 : origin = 0x009000, length = 0x000800 RAMLS2 : origin = 0x009800, length = 0x000800 RAMLS5 : origin = 0x00A800, length = 0x001800 /* RAMLS5 : origin = 0x00A800, length = 0x002800//shc-yuanlai RAMLS6 : origin = 0x00B000, length = 0x000800 RAMLS7 : origin = 0x00B800, length = 0x000800 */ RAMGS0 : origin = 0x00C000, length = 0x002000 RAMGS1 : origin = 0x00E000, length = 0x002000 RAMGS2 : origin = 0x010000, length = 0x002000 RAMGS3 : origin = 0x012000, length = 0x001FF8 // RAMGS3_RSVD : origin = 0x013FF8, length = 0x000008 /* Reserve and do not use for code as per the errata advisory "Memory: Prefetching Beyond Valid Memory" */ CLA1_MSGRAMLOW : origin = 0x001480, length = 0x000080 CLA1_MSGRAMHIGH : origin = 0x001500, length = 0x000080 } SECTIONS { codestart : > FLASH_BANK0_SEC8, PAGE = 0, ALIGN(4) /*BEGIN*/ .mcuver1 : > FLASH_BANK0_SEC81, PAGE = 0, ALIGN(4) .text : >> FLASH_BANK0_SEC10 | FLASH_BANK0_SEC11 | FLASH_BANK0_SEC12 | FLASH_BANK0_SEC13 | FLASH_BANK0_SEC14 | FLASH_BANK0_SEC15 | FLASH_BANK1_SEC0 | FLASH_BANK1_SEC1 , PAGE = 0, ALIGN(4) /*| FLASH_BANK0_SEC8*/ .cinit : > FLASH_BANK0_SEC9, PAGE = 0, ALIGN(4) .switch : > FLASH_BANK0_SEC9, PAGE = 0, ALIGN(4) .reset : > RESET, PAGE = 0, TYPE = DSECT /* not used, */ .stack : > RAMM1, PAGE = 1 #if defined(__TI_EABI__) .init_array : > FLASH_BANK0_SEC9, PAGE = 0, ALIGN(4) .bss : > RAMLS5, PAGE = 1 .bss:output : > RAMLS3, PAGE = 0 .bss:cio : > RAMLS0, PAGE = 0 .data : > RAMLS5, PAGE = 1 .sysmem : > RAMLS5, PAGE = 1 /* Initalized sections go in Flash */ .const : > FLASH_BANK0_SEC12, PAGE = 0, ALIGN(4) #else .pinit : > FLASH_BANK0_SEC9, PAGE = 0, ALIGN(4) .ebss : > RAMLS5, PAGE = 1 .esysmem : > RAMLS5, PAGE = 1 .cio : > RAMLS0, PAGE = 0 .econst : > FLASH_BANK0_SEC12, PAGE = 0, ALIGN(4) #endif ramgs0 : > RAMGS0, PAGE = 1 ramgs1 : > RAMGS1, PAGE = 1 ramgs2 : > RAMGS2, PAGE = 1 ramgs3 : > RAMGS3, PAGE = 1 #if defined(__TI_EABI__) /* CLA specific sections */ Cla1Prog : LOAD = FLASH_BANK0_SEC11, RUN = RAMLS0, LOAD_START(Cla1ProgLoadStart), RUN_START(Cla1ProgRunStart), LOAD_SIZE(Cla1ProgLoadSize), PAGE = 0, ALIGN(4) #else /* CLA specific sections */ Cla1Prog : LOAD = FLASH_BANK0_SEC11, RUN = RAMLS0, LOAD_START(_Cla1ProgLoadStart), RUN_START(_Cla1ProgRunStart), LOAD_SIZE(_Cla1ProgLoadSize), PAGE = 0, ALIGN(4) #endif Cla1ToCpuMsgRAM : > CLA1_MSGRAMLOW, PAGE = 1 CpuToCla1MsgRAM : > CLA1_MSGRAMHIGH, PAGE = 1 #if defined(__TI_EABI__) .TI.ramfunc : LOAD = FLASH_BANK0_SEC9, RUN = RAMLS0, LOAD_START(RamfuncsLoadStart), LOAD_SIZE(RamfuncsLoadSize), LOAD_END(RamfuncsLoadEnd), RUN_START(RamfuncsRunStart), RUN_SIZE(RamfuncsRunSize), RUN_END(RamfuncsRunEnd), PAGE = 0, ALIGN(4) #else .TI.ramfunc : LOAD = FLASH_BANK0_SEC9, RUN = RAMLS0, LOAD_START(_RamfuncsLoadStart), LOAD_SIZE(_RamfuncsLoadSize), LOAD_END(_RamfuncsLoadEnd), RUN_START(_RamfuncsRunStart), RUN_SIZE(_RamfuncsRunSize), RUN_END(_RamfuncsRunEnd), PAGE = 0, ALIGN(4) #endif .scratchpad : > RAMLS1, PAGE = 1 .bss_cla : > RAMLS1, PAGE = 1 Cla1DataRam : > RAMLS2, PAGE = 1 cla_shared : > RAMLS1, PAGE = 1 CLADataLS1 : > RAMLS1, PAGE = 1 #if defined(__TI_EABI__) .const_cla : LOAD = FLASH_BANK0_SEC10, RUN = RAMLS3, RUN_START(Cla1ConstRunStart), LOAD_START(Cla1ConstLoadStart), LOAD_SIZE(Cla1ConstLoadSize), PAGE = 0, ALIGN(4) #else .const_cla : LOAD = FLASH_BANK0_SEC10, RUN = RAMLS3, RUN_START(_Cla1ConstRunStart), LOAD_START(_Cla1ConstLoadStart), LOAD_SIZE(_Cla1ConstLoadSize), PAGE = 0, ALIGN(4) #endif } /* //=========================================================================== // End of file. //=========================================================================== */