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.
I am looking for a step by step instruction how to setup a pure assembler project with uVision which is possible to download and debug on the target board (LM3S8962 Evaluation Board) later on.
I have no problems with a c project but with an assembler project.
Any hint would be great.
Maybe someone could post an example project just with some lines of code.
Thanks for helping.
What problems, exactly, do you have?
Hi,
you could use an startup file that is already configured for your device, and change the jump into __main to a jump into your start code.
The rest is the same - new project, select chip, say 'yes' to 'add startup', debug & flash download settings, compile, ...
BR, /th.
Finally I was able to manage it. Thank you.
I tried to setup a project with startup file before, but I got the following errors: Project1.axf: Warning: L6665W: Neither Lib$$Request$$armlib Lib$$Request$$cpplib defined, not searching ARM libraries. Project1.axf: Error: L6218E: Undefined symbol __use_two_region_memory (referred from startup.o).
Because of your hint I tried it again but this time I remove the following section:
IF :DEF: __MICROLIB EXPORT __initial_sp EXPORT __initial_sp EXPORT __heap_base EXPORT __heap_limit ELSE IMPORT __use_two_region_memory EXPORT __user_initial_stackheap __user_initial_stackheap LDR R0, =HeapMem LDR R1, =(StackMem + Stack) LDR R2, =(HeapMem + Heap) LDR R3, =StackMem BX LR ENDIF
Without this lines of code (which are only for c projects necessary) it worked as expected.
this is C library startup/init stuff for stack and heap. You must manage this by yourselv. The minimum you'll need is the SP.
But _why_ do you want to write in ASM? Why not using the armcc and write only the "hardcore-quick" funcs in asm?
--- If you are not sure with the startup you may also use the arm C lib, and call your beginning assembler code as a function from C main :-)