打印

调试st的用uart的IAP出问题

[复制链接]
3061|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jackbao|  楼主 | 2008-1-23 15:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
是不是  直接把程序通过jlink下载到班子上,然后再调试。怎么我下完后,屏幕白屏。
   我还是搞不懂,到底是怎么个演示顺序。
         希望大家弄过的帮帮忙!
沙发
jackbao|  楼主 | 2008-1-23 16:14 | 只看该作者

二进制文件

下载的二进制文件 必须是.hex文件吗  iar生成的二进制是什么格式

使用特权

评论回复
板凳
jackbao|  楼主 | 2008-1-23 16:45 | 只看该作者

为什么到最后一步不能更新程序,要什么格式的二进制呢?

使用特权

评论回复
地板
香水城| | 2008-1-23 17:28 | 只看该作者

请指明你使用的程序的来源,并说明用的什么板子?

最后一步是指哪一步?更新的什么程序?如何设置生成的?

你提供的信息越多越具体,别人才能越快知道你的问题所在。

使用特权

评论回复
5
jackbao|  楼主 | 2008-1-23 17:39 | 只看该作者

二进制文件

例程就是
https://bbs.21ic.com/club/bbs/list.asp?boardid=49&t=2823032&tp=%u8C01%u80FD%u8BE6%u7EC6%u8BF4%u4E00%u4E0Bstm32%u7684iap%u7F16%u7A0B%u8BE6%u7EC6%u8FC7%u7A0B
帖子提供的  uart 的链接
  步骤就按照文档进行 按键盘1 然后把二进制文件下载进去后  按键盘2就会更新程序,可是没有反应,可能我的二进制文件有问题,他自带的说有,可我没有找到,另外我也不知道到底哪个格式是二进制文件。
  请大家帮忙

使用特权

评论回复
6
jackbao|  楼主 | 2008-1-23 17:59 | 只看该作者

板子

板子就是st原厂的stm3210B 他要求的

使用特权

评论回复
7
香水城| | 2008-1-23 18:01 | 只看该作者

好像你并没有按照说明做,否则你不可能不知道哪个是二进

下面是那个例子自带的说明有关使用IAR的部分,请指出你做到那一步:

How to use it
=============
In order to load the SysTick example with the IAP, you must do the following:
 + EWARM:
    - Open the SysTick.eww workspace
    - Rebuild all files: Project->Rebuild all
    - A binary file "SysTick.bin" will be generated under "BOOT_FLASHExe" folder
    - Finaly load this image with IAP application

使用特权

评论回复
8
jackbao|  楼主 | 2008-1-24 09:08 | 只看该作者

没有bin文件

可是我的编译 后为什么 不生成.bin文件 而只有下面两个文件,要配置什么吗
 请指点!!

使用特权

评论回复
9
香水城| | 2008-1-24 09:54 | 只看该作者

不知道为什么你不能生成那个文件,你的IDE是什么版本?

我刚刚按照我在7楼给出的说明做了一下,很方便地生成了SysTick.bin。

你试试删除所有文件,重新安装这个例子的程序包,怀疑你自己改过什么。

这里还有一个帖子可供参考:使用IAR EWARM下载BIN文件

使用特权

评论回复
10
tl590| | 2008-1-24 10:53 | 只看该作者

uart接收

今天试了下光盘里的UART的例子
把波特率该为115200用串口终端来接收
发现有些是错的 

使用特权

评论回复
11
jackbao|  楼主 | 2008-1-24 11:05 | 只看该作者

flash.xcl怎么设置

我知道 为什么  没有生成bin了 要这样设置:
  1)在options->linker ->output->other选中->output里选择raw-binary,module-local里选择Include all,其余默认;

(2) options->linker ->Extra Output->generate output file->format->output format 选择intel extended,override default 不选中,format variant 里面选择none;

(3)结果*.bin在 工程的flash文件夹下的exe文件夹里面。

这个程序搞定!
但是我用别的程序生成了bin 也不行,我知道是有一个什么8002000要设置,关于这个地址 都要设置什么呢?

使用特权

评论回复
12
香水城| | 2008-1-24 11:22 | 只看该作者

回11楼的问题:flash.xcl怎么设置

请参考5楼所说的例子中的文件lnkarm_flash_offset.xcl


关于10楼的问题,你需要微调各种参数;那只是个例子教你如何使用UART,而不是工程实例,要实际使用到项目中,还有很多工作要做。

使用特权

评论回复
13
hotpower| | 2008-1-24 11:25 | 只看该作者

菜地里有祥解~~~

使用特权

评论回复
14
jackbao|  楼主 | 2008-1-24 12:47 | 只看该作者

lnkarm_flash_offset.xcl

使用特权

评论回复
15
jackbao|  楼主 | 2008-1-24 12:53 | 只看该作者

lnkarm_flash_offset.xcl

里面的改变只有把8000000改为8002000,option 我也都改了  还是不行。为什么

使用特权

评论回复
16
vigia| | 2008-1-24 17:16 | 只看该作者

LZ说实话我没看懂你在说什么

不过你既然把xcl里的代码首地址改成了0x08002000,那你也应该修改 stm32f10x_nvic.h文件里对于Vector Table的定义:
#define NVIC_VectTab_FLASH           ((u32)0x08002000)

使用特权

评论回复
17
香水城| | 2008-1-24 17:21 | 只看该作者

肯定你的设置不对

完整的步骤说明已经在你5楼提到的帖子中给出的说明文档里。

步骤十分简单,你只需要把目标项目的ROM起始地址改成0x8002000即可,修改之后重新编译整个项目。

你可以通过查看生成的map文件确认你的修改是否正确;要生成map文件需要做下述设置:
options -> linker -> list -> Segment map/Module map
编译链接好后,在List目录下有.map文件,打开这个文件,看看最后的“SEGMENTS IN ADDRESS ORDER”部分是什么,基本可确定你的设置是否正确。

使用特权

评论回复
18
jackbao|  楼主 | 2008-1-28 16:52 | 只看该作者

为什么要lcd显示的不能iap

有lcd显示功能的程序不行,为什么??

使用特权

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

本版积分规则

92

主题

260

帖子

0

粉丝