[8/16-bit MCU] bootloader用户程序编译问题

[复制链接]
1641|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 | 显示全部楼层
楼主用的飞思卡尔的什么芯片?请在一楼把你芯片的全称注明。
 楼主| lonelypumpkin 发表于 2015-9-18 09:30 | 显示全部楼层
ccw1986 发表于 2015-9-18 08:59
一般不要乱写,写完之后要注意,要不容易出现问题

你好,这个举例纯粹是验证式的,事实上注释掉一些有用的语句也会出现这样的现象,不知这位朋友有没有什么可能的思路?
 楼主| lonelypumpkin 发表于 2015-9-18 09:31 | 显示全部楼层
FSL_TICS_ZJJ 发表于 2015-9-18 09:09
楼主用的飞思卡尔的什么芯片?请在一楼把你芯片的全称注明。

你好 用的是MC9S12XEQ512型号,已在一楼添加
FSL_TICS_ZJJ 发表于 2015-9-18 10:40 | 显示全部楼层
lonelypumpkin 发表于 2015-9-18 09:31
你好 用的是MC9S12XEQ512型号,已在一楼添加

非常感谢你的技术问题。非常抱歉中国没有16位单片机方面的技术专家。请您在飞思卡尔的英文论坛提交请求。网址是https://community.freescale.com/welcome 谢谢。
 楼主| lonelypumpkin 发表于 2015-9-18 14:34 | 显示全部楼层
问题已解决。是在bootloader代码里面一个判定写字节数量的地方写错了,10进制写成了16进制,导致有些编译结果会丢数据。一时大意造成如此奇怪现象的bug。
xuejinlong12 发表于 2015-10-7 15:16 | 显示全部楼层
感谢分享
734774645 发表于 2015-10-8 15:29 来自手机 | 显示全部楼层
能一句指令写完的,就不要多写
longlianqing 发表于 2015-10-28 13:10 | 显示全部楼层
734774645 发表于 2015-10-8 15:29
能一句指令写完的,就不要多写

本鸟最近在做mc9s12g的bootloader,但是还是个起步,能否传授一些经验呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

6

帖子

0

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