Board logo

标题: XEP100的FLASH擦写问题 [打印本页]

作者: 极光kk    时间: 2011-2-24 11:16     标题: XEP100的FLASH擦写问题

小弟最近在研究将AN3275的DG系列的SCI的bootloader移植到XEP100上去,
需要解决以下这个问题,希望版上大牛帮助一下!
XEP100的Program Flash只能从[2:0] = 000的开始写入4个word,也就是前8个bytes,
而000-FFF总共有4Kbytes,那 8个bytes之后的怎么写呢?
如果有包括flash各种操作的例程发我一份,那就感激不尽啦!

另外我发现AN3275中的注释有很多错误,有兴趣的可以交流一下。
qq:365111897
作者: 极光kk    时间: 2011-2-24 11:22

另外还有一个问题,s19中的address,是指的CPU绝对地址吗?还是PPAGE+分页地址?
在XEP100中写flash,ccob寄存器中,
是写PPAGE+分页地址呢?
还是直接写CPU绝对地址呢?
希望能够快点得到解答啊,这个困扰我很久了!!
谢谢!
作者: 极光kk    时间: 2011-2-24 14:35

还有一个问题,在DG128中,操作Flash的语句要copy到RAM中去执行,
在XEP100中是不是也要这样哦?
作者: expand    时间: 2011-2-28 13:59

XEP100的Program Flash只能从[2:0] = 000的开始写入4个word,也就是前8个bytes,
而000-FFF总共有4Kbytes,那 8个bytes之后的怎么写呢?
1. Flash每次最小插写单位为8个(或者4个)bytes,一般情况都是8个写一次,比如0x0000写入8个地址;再从0x0008开始写8个bytes;以此类推。还有一种是块写,你1K大小写一次,这个得根据你的上位机是如何解析hex的,很多情况下hex的地址并不是联系的,我用的是第一种方法;

另外还有一个问题,s19中的address,是指的CPU绝对地址吗?还是PPAGE+分页地址?
在XEP100中写flash,ccob寄存器中,
是写PPAGE+分页地址呢?
还是直接写CPU绝对地址呢?
2. s19的地址是逻辑地址,你必须把它转化为全局地址才能写,这个比较麻烦。所有对flash操作的驱动只认全局地址有效;(我指的全局地址是你说的绝对地址,我说的逻辑地址是你说的page分页地址)

还有一个问题,在DG128中,操作Flash的语句要copy到RAM中去执行,
在XEP100中是不是也要这样哦?
3. 我把它copy到RAM中去了,放在RAM一是速度快,而是安全可以避免误操作插写程序。个人认为这个要看你的Bootloader是如何设计的。
作者: Superzhu    时间: 2011-3-22 14:43

不知道你跳成功了吗?我在调MC9s12xdp512的,一直出现问题,可以交流交流




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0