我新建了一个工程,对其start08.c及project.prm没有做什么改动,现将Z-STACK中的
OSAL_Memory.h&OSAL_Memory.c
OSAL_Nv.h&OSAL_NV.c
移植到我的工程中,
main.c中的程序如下
void main(void) {
/* Uncomment this function call after using Device Initialization
to use the generated code */
/* MCU_init(); */
// EnableInterrupts; /* enable interrupts */
// Setup the FLASH Clock Divider Register (FCDIV)
FCDIV = 0x4a; // Setup for 16 MHz busclock
osal_mem_init();
data=0;
osal_nv_item_init(2,sizeof(UINT16),&data);
data=9;
osal_nv_write(2,0,sizeof(UINT16),&data);
for(;;) {
__RESET_WATCHDOG(); /* feeds the dog */
} /* loop forever */
/* please make sure that you never leave this function */
}
当我执行到osal_nv_write()中的 osal_ErasePage( *pPage ); 时,便出错,被告知ILLEGAL_BP,
我不晓得该怎么办也!!!
搞得晕头转向,而又没有成果.
其实我只是想将flash的部分存储空间当成EEPROM用,对flash操作有WRITE和ERASE两种操作,每次执行这两函数,需将其装载到RAM中执行。
感觉上OSAL_Memory.h&OSAL_Memory.c负责的是如何将WRITE和READ函数调入到RAM中,所以看上去似乎并不复杂也.我都能成功执行WRITE操作了,但为什么我执行到ERASE的时候,总是说ILLEGAL_BP.
我不会改写的是起动代码和配置文件,我也不知到有没有资料对其进行说明的。
不晓得哪位仁兄有针对于MC9S08GT60的FLASH操作(模拟成EEPROM),只需要能成功进行WRITE,ERASE即可.
另外,seuafu2005,您说的CWV 3.1中的PE是什么?
搞了好久了,都想哭了,555...
[此贴子已经被作者于2006-5-5 15:23:37编辑过]
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |