ST MCU Finder
安装免费手机应用,
寻找理想的ST MCU
查看: 6057|回复: 18
收起左侧

为什么STM32重新上电程序就没有了?

[复制链接]

40

主题

319

帖子

961

积分

高级技术员

 楼主| 发表于 2011-8-31 21:48 | 显示全部楼层 |返回版面|阅读模式
我用串口ISP下载程序(BOOT1=0 BOOT0=1) ,下载成功后恢复(BOOT1=0,BOOT0=0)程序正常运行,但是只要电源一断电程序就不运行了,不知是什么原因?
     

582

主题

1万

帖子

4万

积分

版主

发表于 2011-9-1 09:45 | 显示全部楼层 |返回版面
是程序不运行还是程序没有了,LZ的题目与帖子说法严重不一致。
I do not teach, but I coach. I do not feed, but I seed.
欢迎访问我的博客:http://bbs.ednchina.com/BLOG_OWNER_199055.HTM

40

主题

319

帖子

961

积分

高级技术员

 楼主| 发表于 2011-9-4 08:58 | 显示全部楼层 |返回版面
刚入门,写了一个GPIO控制LED闪烁,同时USART1不断的将同一数据返回给串口助手的程序。
详细过程是这样,我用串口ISP下载程序,下载完成后程序马上就正常运行了,然后设置BOOT1,0=00按下复位键,程序依然是正常运行的。但是如果这时把板子的电源拔掉又插上后程序就不对了,只有LED灯在正常闪烁,串口就没有数据出来了。
  由于没有JLINK,所以用软件DEBUG调式了下,第一次进入DEBUG,就直接进入main()第一条语句,下面都是对了,但是我按下工具条左上角的复位按钮,程序箭头指向stm32f10x_hd.s里,当要跳入mian函数的时候,再单步程序就连续运行了。我想应该停在mian的第一条语句才对啊,是不是跳过了串口的初始化语句,导致串口没有使能工作。
  请教一下香主,我这情况到底是怎么回事,是不是没有设置好呢?

5

主题

114

帖子

427

积分

资深技术员

发表于 2011-9-4 13:27 | 显示全部楼层 |返回版面
这种情况似乎很邪门。用示波器一量就知道是真的串口没输出还是串口助手的瑕疵.

5

主题

2303

帖子

7028

积分

高级工程师

发表于 2011-9-5 10:36 | 显示全部楼层 |返回版面
marking...
不知道
淘宝:Http://y-ec.taobao.com
微博:http://weibo.com/stmicroelectronic
STM8/STM32全系列QQ:1569164539 MB:15900733302

3

主题

27

帖子

146

积分

中级技术员

发表于 2011-11-29 14:55 | 显示全部楼层 |返回版面
我也遇到同样问题,仿真时程序跑得都对,重新上电时运行不了,痛苦啊!!!!!!
BOOT0,1都是0,IAR下载到FLASH提示成功了,等高手来解决
现在就是未来
     

582

主题

1万

帖子

4万

积分

版主

发表于 2011-11-29 15:38 | 显示全部楼层 |返回版面
我也遇到同样问题,仿真时程序跑得都对,重新上电时运行不了,痛苦啊!!!!!!
BOOT0,1都是0,IAR下载到FLASH提示成功了,等高手来解决
进程 发表于 2011-11-29 14:55


这种情况很可能是你在片外外设还没有准备好的时候,就执行了初始化。
I do not teach, but I coach. I do not feed, but I seed.
欢迎访问我的博客:http://bbs.ednchina.com/BLOG_OWNER_199055.HTM

3

主题

27

帖子

146

积分

中级技术员

发表于 2011-11-29 15:47 | 显示全部楼层 |返回版面
这种情况很可能是你在片外外设还没有准备好的时候,就执行了初始化。
香水城 发表于 2011-11-29 15:38


外外设还没有准备好?请问顺序!
现在就是未来
     

582

主题

1万

帖子

4万

积分

版主

发表于 2011-11-29 16:41 | 显示全部楼层 |返回版面
顺序由你自己决定!

某些外设的上电时间比较长,但MCU的上电时间比较短,你在外设没有就绪时就对它发命令,肯定会出问题的。
I do not teach, but I coach. I do not feed, but I seed.
欢迎访问我的博客:http://bbs.ednchina.com/BLOG_OWNER_199055.HTM

13

主题

118

帖子

359

积分

资深技术员

发表于 2013-8-30 16:18 | 显示全部楼层 |返回版面
我也遇到相似的问题,不过我用的是TIM1定时器PWM输出的,现在感觉好像PLL倍频没有成功。

13

主题

118

帖子

359

积分

资深技术员

发表于 2013-8-30 19:14 | 显示全部楼层 |返回版面
香水城 发表于 2011-11-29 16:41
顺序由你自己决定!

某些外设的上电时间比较长,但MCU的上电时间比较短,你在外设没有就绪时就对它发命令 ...

NONONO,问题不是那样子的,我今天定时器也遇到跟楼主相似的问题,如果用纯寄存器配置的话,是不会出现想楼主那样的,而用库就会,为什么呢?就是因为库在配置过程中,需要临时变量作为寄存器配置的参数,所以楼主对USART初始化时,必须先初始化相应的结构体如TIM_BDTRStructInit(&TIM1_BDTRInitStruct);然后再逐一配置相应结构体的变量。另外,配置顺序影响倒不是很大。

519

主题

4197

帖子

1万

积分

资深工程师

发表于 2013-9-20 20:50 | 显示全部楼层 |返回版面
程序不运行可能有很多原因,不一定是程序没有.所有影响启动配置的因素都有可能吧.
好好学习,天天向上!

13

主题

118

帖子

359

积分

资深技术员

发表于 2013-9-20 20:52 | 显示全部楼层 |返回版面
拿起书本 发表于 2013-9-20 20:50
程序不运行可能有很多原因,不一定是程序没有.所有影响启动配置的因素都有可能吧. ...

如果启动方式选择没问题,看看你初始化外设前有没有复位结构体变量???如果没有,很可能那里出错。
     

11

主题

573

帖子

1793

积分

助理工程师

发表于 2013-9-21 09:36 | 显示全部楼层 |返回版面
看一下复位后电平是否为高,进入主程序入做一下延时试试。
男怕入错行,女怕嫁错郎。
我是来灌水的,顺便采点蘑菇。
     

111

主题

1779

帖子

5777

积分

高级工程师

发表于 2013-9-21 10:10 | 显示全部楼层 |返回版面
1)检查外部晶振,以及你倍频后的时钟频率是否允许范围内。如果你外部用12M,倍频9,时钟频率就为108M,跑飞也是很正常的。
2)检查配置,无用的都删掉。
3)换一块芯片。

1、博客:http://blog.csdn.net/feilusia
2、QQ群:STM8/STM32群(164311667);职场交流群(450154342);CC2640R2F群(557278427)
3、淘宝店:https://shop217632629.taobao.com/?spm=2013.1.1000126.d21.hd2o8i
      

7

主题

420

帖子

1273

积分

助理工程师

发表于 2013-10-19 23:03 | 显示全部楼层 |返回版面
不会是没写进去吧?只是在线仿真。

好比在IAR软件的Options->Debugger->Download不勾选use flash loader进行仿真,就是这个效果。
Dylan疾风闪电
QQ:26****683
学海无涯,蝴蝶粉(STM32F全系列)

0

主题

8

帖子

200

积分

中级技术员

发表于 2013-10-19 23:53 | 显示全部楼层 |返回版面
应该是串口没有初始化吧,下载完可以是因为Bootloader里面做了初始化

0

主题

1126

帖子

3391

积分

中级工程师

发表于 2013-10-20 17:23 | 显示全部楼层 |返回版面
有可能是芯片初始化没有成功  导致的  应该有这种可能吧  楼主

0

主题

2

帖子

6

积分

实习生

发表于 2017-7-17 14:54 | 显示全部楼层 |返回版面
BOOT0需要硬件接地
*滑动验证:
您需要登录后才可以回帖 登录 | 注册 手机登录

本版积分规则

分享 快速回复 返回顶部 返回列表