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
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.
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
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.
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.
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
1 | 7.3.2 MAP |
2 | 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. |
3 | Syntax |
4 | MAP expr{,base-register} |
5 | ... |
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.
Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
Log in with Google account
No account? Register here.