打印
[技术问题解答]

mc9s12xdp512 bootloader 困惑

[复制链接]
3850|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lookerForYou|  楼主 | 2015-7-1 09:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在正研究mc9s12xdp512 的bootloader,发现一个很奇怪的问题:使用BDM调试运行时,能对flash正常的读写;脱离BDM运行后,读取flash获得的数据就不是所写入的数据,一版都是0xFF。如下:通过全局地址读写flash时:
写:
*(ULONG *far) addr=data;
FCMD=0x20;
........
读:
data=*(ULONG *far) addr ;


为何BDM下读出的数据和我写入的一致,脱离BDM后就读出0xFF?



相关帖子

沙发
FSL_TICS_ZJJ| | 2015-7-1 10:16 | 只看该作者
有没有flash的出错标志呢?
你查看flash的出错标志是不是有置上。

使用特权

评论回复
板凳
lookerForYou|  楼主 | 2015-7-1 10:45 | 只看该作者
FSL_TICS_ZJJ 发表于 2015-7-1 10:16
有没有flash的出错标志呢?
你查看flash的出错标志是不是有置上。

前期我也怀疑过,在对“FSTAT|=0x80”后,读取FSTAT中的ACCER和PVIOL,没有发现置位。不知还需要检查哪些地方?谢谢

使用特权

评论回复
地板
FSL_TICS_ZJJ| | 2015-7-1 10:48 | 只看该作者
lookerForYou 发表于 2015-7-1 10:45
前期我也怀疑过,在对“FSTAT|=0x80”后,读取FSTAT中的ACCER和PVIOL,没有发现置位。不知还需要检查哪些 ...

写之前,有没有先擦除下?

使用特权

评论回复
5
lookerForYou|  楼主 | 2015-7-1 10:59 | 只看该作者
FSL_TICS_ZJJ 发表于 2015-7-1 10:48
写之前,有没有先擦除下?

恩,已经擦除了。刚开始时我没有擦除,发现上电后只能正确修改一次,第二次之后就不正确了。后加上擦除指令,BDM调试下每次都能正确读写。
另:我这边是用CAN来判断读写是否正确的,发送一个CAN信息过去,然后往相关的flash区域烧写收到的CAN数据。然后再从flash相关区域中读取出数值,并通过CAN回复。对比回复与发送的是否一致就可以判断是否正确读写。

使用特权

评论回复
6
FSL_TICS_ZJJ| | 2015-7-1 11:17 | 只看该作者
lookerForYou 发表于 2015-7-1 10:59
恩,已经擦除了。刚开始时我没有擦除,发现上电后只能正确修改一次,第二次之后就不正确了。后加上擦除指 ...

你是说上电后,如果不加BDM,擦除区域之后写,然后再擦除,再写就不能成功?
你擦之后,读取下,看看是否擦除成功了。

使用特权

评论回复
7
lookerForYou|  楼主 | 2015-7-1 11:27 | 只看该作者
FSL_TICS_ZJJ 发表于 2015-7-1 11:17
你是说上电后,如果不加BDM,擦除区域之后写,然后再擦除,再写就不能成功?
你擦之后,读取下,看看是否 ...

不是这个意思,现象是:
加BDM:
1)如果:“ 擦除--》写--》读”  ,都正常
2)如果:“不擦除--》写--》读”  ,第一次写、读时正确,第二次之后就不正确了。

不加BDM:  
1)如果:“ 擦除--》写--》读”  ,不正常,读的数据都是0xFF
2)如果:“不擦除--》写--》读”  ,不正常,读的数据都是0xFF

肯定是要加擦操作肯定是要的,但为什么加BDM就能正常,不加BDM就不正常,难道两者对flash的操作不一样?

使用特权

评论回复
8
FSL_TICS_ZJJ| | 2015-7-1 12:53 | 只看该作者
lookerForYou 发表于 2015-7-1 11:27
不是这个意思,现象是:
加BDM:
1)如果:“ 擦除--》写--》读”  ,都正常

这样吧,因为我不是16位的工程师。
你就把7楼的现象发到飞思卡尔官方论坛或者是建一个SR,那边会有专门的16位工程师帮你解答。

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

使用特权

评论回复
9
lookerForYou|  楼主 | 2015-7-1 16:08 | 只看该作者
FSL_TICS_ZJJ 发表于 2015-7-1 12:53
这样吧,因为我不是16位的工程师。
你就把7楼的现象发到飞思卡尔官方论坛或者是建一个SR,那边会有专门的 ...

OK ,多谢。
哪个专家也碰到这方面的问题可以交流交流

使用特权

评论回复
10
lookerForYou|  楼主 | 2015-7-1 21:00 | 只看该作者
已发现问题,是flash时钟设置问题,若时钟设置不合适,就无法更改flash。多谢了

使用特权

评论回复
11
ccw1986| | 2015-7-2 22:11 | 只看该作者
问题挺难找,直接对地址进行操作

使用特权

评论回复
12
风去| | 2015-7-3 10:24 | 只看该作者
很棒。。。

使用特权

评论回复
13
米尔豪斯| | 2015-7-3 21:52 | 只看该作者
若时钟设置不对,就无法更改flash

使用特权

评论回复
14
jiang887786| | 2015-11-16 14:17 | 只看该作者
lookerForYou 发表于 2015-7-1 21:00
已发现问题,是flash时钟设置问题,若时钟设置不合适,就无法更改flash。多谢了 ...

楼主你的xdp512bootloader已经成功了吗?我想根据xdp512改写成xd256的呢,一直都没搞定,痛苦死了,唉!

使用特权

评论回复
15
xietiger| | 2016-5-12 00:23 | 只看该作者
楼主,你是怎样擦除和写FLASH的,我擦除和写FLASH都不成功,我的芯片是XHY256,能请教一下吗,谢谢!

使用特权

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

本版积分规则

5

主题

23

帖子

1

粉丝