Topic : problem with executing program

Forum : ARM

Original Post
Post Information Post
March 7, 2011 - 10:54am
Guest

I have written program that fine works under Ride-7 debugger. But the problem is when I want to execute it without it (SWD connector unconnected), or poweroff and on board - programm doesnt want to start at all.

I have also tried load hex file from RFlasher7 - when (after loading hex file) I push button "Reset and Run" program starts and works, but when I switch off power and then switch power on (or simply reset device), also nothing happens... until I use 'magic' "Reset and Run" button.
It seems like program wants to be 'pushed' by Ride-7 programmer. What am I doing wrong ?

I use STM32F105
with
Ride-7 ver 7.30.10.0159
RKitArm ver 1.30.10.0356
Ride7 patch 7.30.10.0169

Can it be caused by 2-wire SW debugger connection, without NRST pin connected to debug interface?

thanks

Replies
Post Information Post
+1
0
-1
March 7, 2011 - 6:35pm
Raisonance Support Team

Hi,

What you describe could come from several possible sources. Here are the first ideas that come to my mind...

1. No pullup resistor on NRST.

2. Application linked for RAM mode. (see GettingStartedARM.pdf)

3. Application requiring clocks to keep on running during low-power mode, which is activated by the RLink when debugging, but the application must do it itself for normal reset.

4. Bad reset or stack init vector in the startup.

5. Use of uninitialized RAM by the application.

Considering it happens with SWD connector unconnected, it cannot come from your missing NRST connection. But this missing connection could lead to other problems in the future. As explained here:
http://forum.raisonance.com/viewtopic.php?id=3385

I'm afraid we cannot help much more without some details about the board and application...

Best Regards,

Vincent

+1
0
-1
March 7, 2011 - 11:17pm
Guest

VincentC wrote:
Hi,

What you describe could come from several possible sources. Here are the first ideas that come to my mind...

1. No pullup resistor on NRST.

2. Application linked for RAM mode. (see GettingStartedARM.pdf)

3. Application requiring clocks to keep on running during low-power mode, which is activated by the RLink when debugging, but the application must do it itself for normal reset.

4. Bad reset or stack init vector in the startup.

5. Use of uninitialized RAM by the application.

Vincent

Hi,
Application linked in FLASH mode, clock is inited but in normal way - external osc 8MHZ with PLL to 36MHz - i havent done any setup for low power mode.
But I didnt set up manually any reset vector or stack (Should I ? And how to check it ? I use standard startup_stm32f10x_cl.s file included into project. I thought it is done in this file. Maybe I should set "use Default startup" in project LDLinker section ? )
And about uninitialized RAM - in C language all globals are defaulted initialized to zero - is it true here ?