I am new on ARM and I am using Keil micro vision v3 . I had build an example for RTX kernel on NXP LPC2368. I flowed step by step the description (Getting started for arm ) but
While I compiled this build I get this Error
RTX_Test.axf: Error: L6218E: Undefined symbol __SWI_0 (referred from swi_table.o).
Can anyone help me to solve this error.
Hi Tamir I have the same SWI.s file as you described. I added this to my application.
int __swi(0) disable_fiq(void) ; int __SWI_0 () { return __disable_fiq() ; }
When I do that, the compilation go’s *** without any error but when I run debugging I receive this message.
Data Abort: ARM Instruction at 00000128H, Memory Access at FFE08000H
does it go wrong after you call the SWI function? also, you can try the following: place a breakpoint inside your startup file where SWIs are handled. follow it up from there. is your function invoked at all? is machine code generated for your swi.s file ?
the address you mentioned (0x128) is typically in your startup file. check it out by looking at the disassembly view.
did you remember to change the SWI number from 0 to 8? I don't think so...RTX uses 0-7 !
nt __swi(8) disable_fiq(void) ; int __SWI_8 () { return __disable_fiq() ; }
you have to update the swi.s file as well, of course.
If I change SWI number from 0 to 8 I get the same error as before
well, I never worked with RTX, but why you just add the references that cause trouble and see what it gives? you might need to do an extra configuration step of RTX, leaving the entries for 0-7 in place. I would suggest that you consult your documentation.
Tom, I didn't ask you to change the range from 0 to 8. 0 to 7 must remain for RTX. 8 and above are yours! leave the handlers for 0-7 in place. solve any compile/link error. add your own stuff. tell us what happens.
I can only note that the SWI file you are using is not the file that I mentioned and taht is available in the RTX directory tree.
Have you tried to use: /Keil/ARM/RL/RTX/SRC/SWI_Table.s in your application?
It does define the entries 0..7 that RTX needs. It then shows where you may continue by adding own SWI entries.
Yes I had tried SWI_Table.s the result is the same
try to include rtx_config.c
Hi all
Now its running.
Tank you all for your help. TOM