打印
[8/16-bit MCU]

bootloader用户程序编译问题

[复制链接]
1250|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lonelypumpkin|  楼主 | 2015-9-17 17:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 lonelypumpkin 于 2015-9-18 09:27 编辑

自己做了个bootloader,在对APP编译的时候,有些情况可以运行成功,有些情况下载之后跑飞,其区别可能是一句无关的代码,比如我在端口初始化时候已有DDRP = 0XFF; 在main里面又加上一个DDRP_DDRP4 = 1;实际上并没有区别,这句代码不影响实际配置,但是这两个的编译结果在下载到板子中一个正常一个跑飞,跑飞的我大概跟了一下跑到了LOAD SP 0XFFFF;(汇编大概是这个意思,堆栈炸了),不知有没有朋友遇到过这种现象,是否是跟编译优化设置有关的?我使用的是16位的MC9S12XEQ512型号MCU。

相关帖子

沙发
Tennasi| | 2015-9-17 20:30 | 只看该作者
所以说编程的时候一定要严谨

使用特权

评论回复
板凳
ccw1986| | 2015-9-18 08:59 | 只看该作者
一般不要乱写,写完之后要注意,要不容易出现问题

使用特权

评论回复
地板
FSL_TICS_ZJJ| | 2015-9-18 09:09 | 只看该作者
楼主用的飞思卡尔的什么芯片?请在一楼把你芯片的全称注明。

使用特权

评论回复
5
lonelypumpkin|  楼主 | 2015-9-18 09:30 | 只看该作者
ccw1986 发表于 2015-9-18 08:59
一般不要乱写,写完之后要注意,要不容易出现问题

你好,这个举例纯粹是验证式的,事实上注释掉一些有用的语句也会出现这样的现象,不知这位朋友有没有什么可能的思路?

使用特权

评论回复
6
lonelypumpkin|  楼主 | 2015-9-18 09:31 | 只看该作者
FSL_TICS_ZJJ 发表于 2015-9-18 09:09
楼主用的飞思卡尔的什么芯片?请在一楼把你芯片的全称注明。

你好 用的是MC9S12XEQ512型号,已在一楼添加

使用特权

评论回复
7
FSL_TICS_ZJJ| | 2015-9-18 10:40 | 只看该作者
lonelypumpkin 发表于 2015-9-18 09:31
你好 用的是MC9S12XEQ512型号,已在一楼添加

非常感谢你的技术问题。非常抱歉中国没有16位单片机方面的技术专家。请您在飞思卡尔的英文论坛提交请求。网址是https://community.freescale.com/welcome 谢谢。

使用特权

评论回复
8
lonelypumpkin|  楼主 | 2015-9-18 14:34 | 只看该作者
问题已解决。是在bootloader代码里面一个判定写字节数量的地方写错了,10进制写成了16进制,导致有些编译结果会丢数据。一时大意造成如此奇怪现象的bug。

使用特权

评论回复
9
xuejinlong12| | 2015-10-7 15:16 | 只看该作者
感谢分享

使用特权

评论回复
10
734774645| | 2015-10-8 15:29 | 只看该作者
能一句指令写完的,就不要多写

使用特权

评论回复
11
longlianqing| | 2015-10-28 13:10 | 只看该作者
734774645 发表于 2015-10-8 15:29
能一句指令写完的,就不要多写

本鸟最近在做mc9s12g的bootloader,但是还是个起步,能否传授一些经验呢?

使用特权

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

本版积分规则

1

主题

6

帖子

0

粉丝