Topic : Translating Keil startup code into gnu

Forum : ARM

Original Post
Post Information Post
February 18, 2009 - 10:22am
Guest

Hello,

I'm new into Ride7, as I've always worked with Keil tools and development boards (but I'm not an expert!). Now I'm trying to translate one simple example from Keil MCBSTR9 into gnu toolchain (this board uses STR912FAW44 MCU). The app is blinky, of course.

The idea is to generate an hex file with Ride7 and download it using ULINK2 to Keil MCB-STR9 board. As far I know, in the C code I only need to change the interrupt handler declaration.

The problem is that Keil startup files inits some registers: Clock and PLL configuration, peripheral gating registers, SRAM, Flash... I managed to change this code into as syntax and incorporate it to crt0_STR91x.s but the application hangs.

I don't know how to debug the app. Using SIM-ARM, all the SCU values seems correct. Maybe the problem is FLASH configuration?

So, my questions are:
Is some hidden configuration of the peripherals (using linker scripts) that can affect my code?
Can I on-chip debug the application using Keil ULINK2 or USB RLink? I only have development boards from Keil!
I suppose the Hex format is not the problem, no?

I can post crt0_STR91x.s code if needed.

Thanks in advance for your help.

Replies
Post Information Post
+1
0
-1
February 18, 2009 - 2:26pm
Guest

Hi

Here are some suggestions

1. Always make sure you have the latest version of Ride7 and RKit-ARM by checking into our website
2. Make sure the modifications you have done are taken in account in the hex file you get from Ride7
I mean either this file is in your project and "LD linker->startup->use default startup" is set to "No"
Either "LD linker->startup->use default startup" is set to "Yes" and you have recompiled your file
and put the .o in the same place you found the initial version
3. If you use RLink to load your hex file it means you use Ride7 and RKit-ARM to load debug
So in "Advanced Options-> Debug environnement->start mode" you can select "Reset address"
Then you might can debug the startup and see what happens

Regards,
Matloub

+1
0
-1
February 18, 2009 - 3:10pm
Guest

Well, my Ride7 version is 7.16 and RKit for ARM is 1.16.0930.
The o file in startup code is generated each time I compile the assembler file, which I exclude from link.

I was wrong about having a Rlink: the Rlink is embedded in STM32Primer. So I only have ULINK to download the hex file: can I debug the code compiled by Ride?

If not, then I will have to explore the elf file and see the symbols in each project: the one generated by Keil toolchain and the one generated by Ride.

Thanks for your help.