We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi,project VScode PIO, ATSAM3X8, Framework Arduino.simple bootloader on Flash, loader code in RAM call code, execute.load code call direct ( my entry_main_ram) 0x20000000 area ok.
see: run ok , file flash.ld and sram.ld compiling separately (flash)
code in bootloader main flash{
typedef void(*entry_function_t)( void);
loader code in ram...ok entry_function_t entry_exe = entry_exe = (entry_function_t) entry_main_ram; for call
entry_main_ram; for call
entry_exe(); call ram code
}
//-------------program in RAM running ok
void entry_main_ram(){ it in area RAM running ok uint32_t led =0; while(1){ digitalWrite( L1, led ); led ^=1; } } //---------------------- problems violation cause reset processor, program in RAM execute code void entry_main_ram(){ bool bl = true; while(1){ digitalWrite( L1, bl = !bl ); not effects, in flash ok set_invert_led(); simple call reset processor } } //---------------------see list call reset processor Serial.begin(9600); //reset processor pmc_enable_periph_clk(ID_CAN0); //reset processor can_init(CAN0, 84000000, 500); //reset processorin short, all calls outside the function cause an error or have no effect on variables.
thanks,Carlos.