这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » M16c/64 ROM 编程

共7条 1/1 1 跳转至

M16c/64 ROM 编程

菜鸟
2008-12-04 10:09:40     打赏
        各位大家好,我最近用 Renesas的M16c/64 芯片,写了一个改写程序,是在 EW0 模式下运行的。这个程序只能改写闪存的 块A和块B ,而我想改写的时 ROM1 和 ROM2,但程序就时改写不了,不知道是什么问题。请问各位在改写时需要注意什么问题?  谢谢!



关键词: 编程    

菜鸟
2008-12-08 11:08:50     打赏
2楼
先进来看看咯

菜鸟
2008-12-30 23:06:24     打赏
3楼

如果是EW0模式的话,原则上是所有的块都能改写。
但是需要注意以下3点:
1 程序必须在RAM中,估计LZ是这么做的
2 各个块的保护必须打开
3 由于Data Flash的地址<64K,但是其他块的地址>64K,所以定义指针时的类型不一样。估计LZ是这个问题。
最好就是都定义成 char far *,这样就都是32为指针。否则对ROM2和ROM1就不能改写


菜鸟
2009-01-16 13:18:04     打赏
4楼

Fishs_new_life,谢谢你的建议!
    之前我写的程序其实也是按照你说的去做的,我已经把改写程序放到RAM中,并跳转到RAM中执行。像pm10   PRG2c0这些保护位我也都把其禁止了,数据也是定义成far型的,由于ROM的改写是以16位位单位的,所以我定义成 unsigned short far *类型。
 


助工
2009-01-16 22:35:02     打赏
5楼
LZ说的改写ROM,是不是让MCU通过内部程序自己改写自身ROM,而不是使用编程器改写?

菜鸟
2009-01-19 12:03:45     打赏
6楼
是的,就是让MCU通过内部程序自己改写自身ROM(而不是使用编程器改写),不知道原因出在什么地方,就是不能够改写ROM1和ROM2,只能写数据闪存。

菜鸟
2009-01-22 08:41:10     打赏
7楼

Flash的保护位,楼主开了嘛?
FMR0寄存器的FMR02位


共7条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]