打印

关于STM32的J-LINK下载程序问题。

[复制链接]
7272|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 gavin_m 于 2011-4-7 17:50 编辑

在STM32中,使用J-LINK在线调试,程序满足功能需求;接下来将程序通过J-LINK下载到STM32的flash中,程序确定下载成功;下载之后,利用J-LINK 相关工具查看FLASH中的数据如图1、2所示。即,HEX代码已经成功写进flash中。接下来,将STM32切断电源,重新开机,问题出现了,即代码不能从FLASH开始启动。检查硬件,BOOT0设置恒为'0',但是这个东西就是不工作。我用的是IAR编译开发的。在这里请教各位这是一个什么问题。怎么解决。谢谢各位啦。

PS:图中的警告是因为小弟将电源给拔掉造成的。正常供电情况下,操作无任何警告和错误,一路successfully到底。
沙发
gavin_m|  楼主 | 2011-4-7 14:22 | 只看该作者
望路过的朋友帮帮忙给点思路也行啊。小弟在这里多谢啦。

使用特权

评论回复
板凳
gavin_li| | 2011-4-7 14:25 | 只看该作者
调试的时候不是已经下载到flash了吗,不需要另外下载了吧。

使用特权

评论回复
地板
gavin_m|  楼主 | 2011-4-7 14:28 | 只看该作者
调试的时候下载进的是RAM。掉电之后就不可用了。现在重新下载进flash中,下是下进去了,但是不能用啊。着急

使用特权

评论回复
5
yan2005| | 2011-4-7 16:13 | 只看该作者
你的J-Flash界面里面有一个警告,说是板子的电压太低了。

确保你的板子自己已经用了电源线或者是USB线供电,仅仅让JTAG来供电是不够的。

使用特权

评论回复
6
gavin_m|  楼主 | 2011-4-7 17:34 | 只看该作者
to yan2005:
这个警告是我将电源什么都拔掉之后的警告。这么低级的问题小弟不会犯的。

使用特权

评论回复
7
香水城| | 2011-4-7 21:32 | 只看该作者
在RAM中运行的程序,不做任何修改,下载到Flash后当然不能正常运行,因为RAM与Flash的地址不一样。

使用特权

评论回复
8
gavin_m|  楼主 | 2011-4-7 22:02 | 只看该作者
7# 香水城
我知道您的意思,但是在Option->Linker->Config->Override default中,我已经把“ $PROJ_DIR$\stm32f10x_ram.icf  ”改为了“ $PROJ_DIR$\stm32f10x_flash.icf  ”这样,程序的地址就不是0x20000000了。而是0x80000000了。就算是这样,还是启动不了啊。

使用特权

评论回复
9
yan2005| | 2011-4-8 17:05 | 只看该作者
不严谨,0x8000_0000?应该是0x0800_0000吧?

使用特权

评论回复
10
gavin_m|  楼主 | 2011-4-8 17:39 | 只看该作者
9# yan2005
额。一时手快。多打了一个零。不知道师兄对我这个问题有何高见呢!?

使用特权

评论回复
11
yan2005| | 2011-4-11 12:30 | 只看该作者
不敢称为师兄,呵。既然都已经在线调试成功了,说明硬件基本上没问题。

先证明硬件可以:
1. 先烧写,然后断电,再上电把flash里面的东西读出来,对比下,看看是不是一样的,确保100%烧对。
2. 找一个确定可以工作的hex文件(别人的都可以),跑下试试看。

如果硬件可以,再证明linker的脚本没写错。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
gavin_m + 1
12
gavin_m|  楼主 | 2011-4-11 22:09 | 只看该作者
11# yan2005
谢谢兄弟。检验了很久,现在弄好了。问题至今不明。(你说的方法用了,但是都是对的)等明白了来和大家分享。

使用特权

评论回复
13
yuliang0821| | 2011-4-17 11:40 | 只看该作者
楼主有没有 μCOSII在STM32处理器上的移植的源代码和方法啊?  十分感谢。

使用特权

评论回复
14
秋天落叶| | 2011-4-17 21:07 | 只看该作者
等着楼主分享

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:天行健,君子以自强不息

0

主题

24

帖子

1

粉丝