IAR下生成的bin文件,bootloader ,调试方面的问题

[复制链接]
8429|6
 楼主| Fairchild2440 发表于 2012-11-26 11:29 | 显示全部楼层 |阅读模式
用的芯片是EFM32G230,是CM3的,软件是IAR6.3,
自己搞了一个bootloader,用Jlink下载后能正常烧写数据,打算用bootloader下载应用程序,我用IAR生成应用程序的bin文件。
当我用JLink单独调试应用程序时,查看memory发现flash中的数据和bin文件中的数据部不一样,请问两者是否是应该一样的?
这样就导致了用bootloader下载应用程序的bin文件时,跳转的时候出错,因为主栈地址和复位地址全是错的。
其实我想知道的问题就是为什么生成的bin文件中的数据和单独调试应用程序两者flash数据不一样。
还有生成bin文件是不是:options->output converter->选binary,

生成的bin文件我是在debug->exe文件夹下拿的。

请大家指教。
 楼主| Fairchild2440 发表于 2012-11-26 13:48 | 显示全部楼层
用jlink调试正常的程序,生成bin文件下载后都跑不起来
airwill 发表于 2012-11-26 17:42 | 显示全部楼层
bin 文件就是烧写数据, 应该是一样的. 不一样就有问题了.
bin 文件只是单纯的二进制文件. 由于里面没有地址信息, 在烧写的时候, 请注意 FLASH 的起始地址设定.
 楼主| Fairchild2440 发表于 2012-11-26 19:22 | 显示全部楼层
3# airwill 问题解决了,原来是电脑上加密软件的原因,每次生成bin文件都被加密了,所以数据根本不一样,==!。把加密软件关了就好了。谢谢ls的朋友。再问个问题,bin文件里除了代码,还有那些变量啊,全局数组是怎么存放的呢?
airwill 发表于 2012-11-26 21:18 | 显示全部楼层
bin文件里除了代码, 还有常量和初始化变量的映像(并不是变量本身).
全局数组的存放是由编译器来确定的, 跟 BIN 文件没有直接关系
adams.gh 发表于 2012-11-26 21:51 | 显示全部楼层
4# Fairchild2440 看map文件,看三天。
lwx0280833 发表于 2014-3-28 14:43 | 显示全部楼层
楼主,我也遇到这个entire,我用的是G222,bootloader有8K多,我就留了10K,应用程序地址从0X2800开始,可是跳转不成功,我看了bin文件和少写道flash的大部分想通过,只有局部不同。楼主的加密软件是什么意思?IAR自动加密还是说生成的bin文件被第三方软件自动加密了?如何关掉的?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:本人初学者

0

主题

88

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部