Posted on:
Hi All,
I am trying to convert the asm code from ARM to GNU format. I converted
most of the code to the new format but could not find the equivalent of
some code in the gnu format. Here is the snippet.
LTORG
ALIGN
AREA RamData, DATA, READWRITE
^ _ISR_STARTADDRESS ; _ISR_STARTADDRESS=0x33FF_FF00
HandleReset # 4
HandleUndef # 4
HandleSWI # 4
In the above the code, what is the symbol '^' says and what its
equivalent in the gnu asm. Similarly the following lines like
"HandleReset # 4" how its expanded and equivalent in gnu asm.
Please let me know if you have any idea or come across such problems. I
will really appreciate your help.
Thanks in advance,
Saleem
Posted on:
Why are you trying this? Normally the GNU GCC ARM toolchains have already C startup code files. You find the source of these files in the NEWLIB for your GNU GCC ARM toolchain. If there is a need to implement a new ARM target taht only available in IARARM, then it is a better way to adapt an existing NEWLIB C startup file from a target similar to the new one.
Posted on:
Thanks for the prompt response. The files I am building are board specific, will the gnu version of these files also available in newlib and board iam using in FriendlyARM (mini2440). Can you please point me to link for newlib sources. Thanks, Saleem
Posted on:
No i can't, because i don't have experience with FriendlyARM. But there is a large FriendlyARM Wiki at http://www.friendlyarm.net with developer information for different scenarios: FriendlyARM with Bootloader, Linux, WinCE, Other. In case you are looking for Linux development there is a GNU GCC toolchain and there will be precompiled c startup files and libraries so you can start with application-for-known-target-development instead of toolchain-for-new-target-development.
Posted on:
Assembly sources(c/assembly) provided in the friendly website are tested using the ARM toolchain(for example UCOS-II) but i am using the gnu toolchain. C files are building fine but the issue is with the .s files as the syntax is ARM specific.
Posted on:
So you try a port of UCOS-II to FriendlyARM Mini2440 with GNU Toolchain... The the ARM® Developer Suite, Version 1.2, Assembler Guide might be useful http://www.idt.mdh.se/kurser/cdt214/ARM_Assembler_Guide.pdf
7.3.2 MAP
The MAP directive sets the origin of a storage map to a specified address. The storage-map location counter, {VAR}, is set to the same address. ^ is a synonym for MAP.
Syntax
MAP expr{,base-register}
...
|
Posted on:
Thanks a lot for your help. Using MAP(^) and FIELD(#) directives, data structure is defined in the ASM file. Now I will see how to make it gnu equivalent.