Board logo

标题: 908 在线烧写FLASH的问题 [打印本页]

作者: luohao    时间: 2005-7-29 15:39     标题: 908 在线烧写FLASH的问题

使用908单片机在JK3上的BOOTLOADER调试成功了,可以使用PC机串口下载程序。
说明在线烧写FLASH是可行的。

然而我在程序中用FLASH仿真EEPROM时却不成功。好象是调用ROM中的烧写程序时不能返回。
有谁做成功过吗?
作者: strongchen    时间: 2005-7-29 16:52

应该是可以返回的。不过你可以试试将程序载入RAM中运行。
作者: luohao    时间: 2005-7-29 16:56

调用ROM时,需要关中断吗?
还有看门狗什么的?
是不是应该关掉LVI?
作者: luohao    时间: 2005-8-2 12:52

在908中,JK/JL系列有一个ROM函数
RDVRNG
据说是读FLASH用的。
而我认为读FLASH直接用
LDA #ADDR,X
不就行了吗?
作者: strongchen    时间: 2005-8-2 14:46

一般来说,读一个FLASH地址用LDA指令就可以了。
但是ROM中的模拟EEPROM指令有所不同。为了提高模拟EEPROM时的擦写周期数,一般是将一个FLASH页全部写满了之后再擦除。这样,每次写入FLASH时,是在一页中按照顺序依次从上往下写,所以写入的并不一定是一个固定的地址。EE_READ指令会自动判断最后写入的是哪部分数据。
调用ROM子程序时,最好关中断。在调用前清一次COP。LVI则没有关系。
作者: strongchen    时间: 2005-8-4 09:59

可以将COP先关掉试试。
另外,不同的MCU的内置FLASH操作子程序的地址和功能可能有所不同,要注意一下。
作者: luohao    时间: 2005-8-4 10:08

能想的办法都想了。JK3还是不能在线烧写FLASH
头痛!
mentrowerks的API不管用啊。我知道一定行的。因为BOOTLOADER是成功的。


[此贴子已经被作者于2005-8-4 10:08:13编辑过]


作者: luohao    时间: 2005-8-4 10:24

COP关了,中断关了。ROM程序的入口地址肯定也没有问题。
现在怀疑是PRM可能有问题。
但是头大了,不想再试了。
作者: strongchen    时间: 2005-8-4 10:49

ROM程序的调用应该与PRM没有关系。关键还是调用前参数的设置。JK8的数据手册(V3.1版)第102页有示例程序,是否看过?




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