Hi all !
Info : working uVision V3.60 on MCB2300
I created an application using theses guidelines : Add RTX to my project : www.keil.com/.../rlarm_ar_create_newapp.htm
- Copy the RTX_config - Modify device startup - Add a retarget.c file with "#pragma import(__use_no_semihosting_swi) "
Don't Add SWI file as it is not need (no user swi) : http://www.keil.com/support/man/docs/rlarm/rlarm_ar_hints_arm.htm
Add TCPnet task in that way : www.keil.com/.../rlarm_tn_using_withkernel.htm
When I compiled there was an error regarding to "__use_no_semihosting_swi" : It said that _sys_open was referenced. SO I understand that I had to retarget this function, and found it in FlahsFS example. No pb for me as I will need to use SDcard So that use the FlashFS retarget.c
So Finally I added in projet libs TCTP/TCTPD/FS_ARM driver LPC23_EMAC & MCI_LPC23 (needed by File_config).
But when I run the simulator I got the following error : Data Abort: ARM Instruction at 00000128H, Memory Access at FFE0800H.
What does it mean ?
I just want to had that PC stuck to Dabt_Handler (LPC2300.s file)
I used the following method to check could be wrong. http://www.keil.com/support/docs/3080.htm
At this address I fall in startup code in "Setup External Memory Controller" line
STR R4, [R0, #EMC_CTRL_OFS]
.
So at this point I just compared the RTX_config that I got from C:\Program Files\Keil\ARM\Startup\Philips\RTX_Conf_LPC23xx.c
And the one that is working in MCB2300/FlashFS/SD_File example and I see :
Heap Size was 0 for me and x800 for FlashExample No EMC setup in flash example ??!!!
So I disabled EMC setup and well I manage to go until main() function.
Did I copy wrong RTX_config file ? If not why is EMC enable by default ?
Anyway I really did like the way KEIL showed howto debug it.
I also defined a heap size but still see on keil doc how to correctly define it.
There was an error in what I told before : ECM config is not in RTX_config file but startup file. The thing is that I restarting from zero the project and the default startup file enables the ECM.