FAQ
- M051 Base Series(95)
- M0518 Series(97)
- M0519 Series(43)
- M0564 Series(1)
- Mini51 Base Series(90)
- Nano100/102 Base Series(101)
- Nano103 Base Series(10)
- Nano110/112 LCD Series(100)
- Nano120 USB Series(111)
- Nano130 Advanced Series(110)
- NUC029 Series(94)
- NUC100/200 Advanced Series(102)
- NUC120/122/123/220 USB Series(116)
- NUC121/125 Series(1)
- NUC126 USB Series(2)
- NUC130/230 CAN Series(103)
- NUC131/NUC1311 CAN Series(98)
- NUC140/240 Connectivity Series(114)
- M451 Base Series(118)
- M451M Series(117)
- M452 USB Series(130)
- M4521 USB Series(1)
- M453 CAN Series(128)
- M463 CAN FD/USB HS Series(1)
- M467 Ethernet/Crypto Series(1)
- M471 Series(1)
- M479 Motor Control Series(1)
- M481 Base Series(4)
- M482 USB FS OTG Series(4)
- M483 CAN Series(4)
- M484 USB HS OTG Series(4)
- M485 Crypto Series(4)
- M487 Ethernet Series(4)
- M4TK Touch Key Series(25)
- NUC442/472 Series(130)
- NUC472 Series(1)
- NUC505 Series(138)
FAQ
How to put code into SRAM for execution when using NUC505? Issue Date:2017-10-17
1. In the main, add:
/* Relocate vector table in SRAM for fast interrupt handling. */
{
#if defined ( __CC_ARM )
extern uint32_t __Vectors[];
extern uint32_t __Vectors_Size[];
extern uint32_t Image$$ER_VECTOR2$$ZI$$Base[];
printf("Relocate vector table in SRAM (0x%08X) for fast interrupt handling.\n", Image$$ER_VECTOR2$$ZI$$Base);
memcpy((void *) Image$$ER_VECTOR2$$ZI$$Base, (void *) __Vectors, (unsigned int) __Vectors_Size);
SCB->VTOR = (uint32_t) Image$$ER_VECTOR2$$ZI$$Base;
#elif defined (__ICCARM__)
#pragma section = "VECTOR2"
extern uint32_t __Vectors[];
extern uint32_t __Vectors_Size[];
printf("Relocate vector table in SRAM (0x%08X) for fast interrupt handling.\n", __section_begin("VECTOR2"));
memcpy((void *) __section_begin("VECTOR2"), (void *) __Vectors, (unsigned int) __Vectors_Size);
SCB->VTOR = (uint32_t) __section_begin("VECTOR2");
#endif
}
2. Add scatter file, as shown below:
For the sample code, refer to: NUC505BSPV3.01.000\SampleCode\BootTemplate\MainOnSRAM
3. To execute the code in Debug mode, change the initialization file to SPIROM.ini.
Products: | Microcontrollers ,Arm Cortex-M4 MCUs ,NUC505 Series ,NUC505DL13Y ,NUC505DLA ,NUC505DS13Y ,NUC505DSA ,NUC505YLA2Y ,NUC505YLA ,NUC505YO13Y |
---|---|
Applications: | |
Function: | Peripherals,Memory,SRAM |