Hi all !
Info : working uVision V3.60 on MCB2300
I created an application using theses guidelines :
Add RTX to my project :
- 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) :
Add TCPnet task in that way :
When I compiled there was an error regarding to
"__use_no_semihosting_swi" : It said that _sys_open was
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
What does it mean ?
I just want to had that PC stuck to Dabt_Handler (LPC2300.s
I used the following method to check could be wrong.
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
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()
Did I copy wrong RTX_config file ? If not why is EMC enable by
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.
View all questions in Keil forum