MC68HC908AZ60A的EEPROM擦写在prm文件中地址应该如何映射?
- UID
- 341524
- 性别
- 男
|
MC68HC908AZ60A的EEPROM擦写在prm文件中地址应该如何映射?
LINK master.abs
NAMES
ansi.lib
/* other object files to link are passed from the IDF with the linker -Add option */
END
SECTIONS
LIN_ZRAM = READ_WRITE 0x0050 TO 0x00FF; /* zero page */
LIN_RAM = READ_WRITE 0x0100 TO 0x03BF; /* program data */
LIN_STACK = READ_WRITE 0x03C0 TO 0x044F; /* stack */
LIN_ROM = READ_ONLY 0x8000 TO 0xFDFF; /* program code & constants */
//EEPROM1 = READ_WRITE 0x0800 TO 0x09FF;
LIN_VECTORS = READ_ONLY 0xFFD0 TO 0xFFFF; /* interrupt vectors (use your vector.obj) */
END
PLACEMENT
ZeroSeg, _DATA_ZEROPAGE INTO LIN_ZRAM;
DEFAULT_ROM, ROM_VAR INTO LIN_ROM;
DEFAULT_RAM INTO LIN_RAM;
SSTACK INTO LIN_STACK;
VECTORS_DATA INTO LIN_VECTORS;
END
STACKSIZE 0x001F
ENTRIES
_vectab
END
INIT _Startup /* contains line replacing default _PRESTART */
MAPFILE ON |
|
|
|
|
|
- UID
- 137374
- 性别
- 男
|
我正想调908AZ60A.好像加密了.你能读FLASH吗?想找个人共同完成. |
|
|
|
|
|
- UID
- 104380
- 性别
- 男
|
|
|
|
|
|
- UID
- 137374
- 性别
- 男
|
汽车中央控制器CPU是908AZ60A.现有2个版本.我想读出新CPU的FLAH,更新老版本.加入部分优化程序.CPU好象限读. |
|
|
|
|
|
- UID
- 341524
- 性别
- 男
|
我的意思是RAM,ROM都要进行地址映射,那么EEPROM用不用地址映射呢?
比如:
ROM = READ_ONLY 0x8000 TO 0xFDFF;
DEFAULT_ROM, ROM_VAR INTO ROM;
那么EEPROM作为数据存储器时是否也需要映射?如何以映射呢?
|
|
|
|
|
|
- UID
- 137374
- 性别
- 男
|
|
|
|
|
|
- UID
- 104380
- 性别
- 男
|
如果你需要用EEPROM的话,当然要在PRM文件中定义EEPROM的物理地址。如果用引导wizard生成一个project,你可以看到在其PRM文件中已经定义了EEPROM的地址。 |
|
|
|
|
|
- UID
- 341524
- 性别
- 男
|
地址映射一般应该分两个步骤吧:
步骤一:地址范围
ROM = READ_ONLY 0x8000 TO 0xFDFF;
步骤二:具体什么值写入该区域
DEFAULT_ROM, ROM_VAR INTO ROM;
那对于EEPROM来说:
步骤一:
EEPROM = READ_ONLY 0x0600 TO 0x09FF;
步骤二:?????????????????????
步骤二是什么呢?
|
|
|
|
|
|
- UID
- 104380
- 性别
- 男
|
你可以在PRM文件中自己定义一个SECTION,例如:
EE_DATA INTO EEPROM;
然后在用户程序中定义EEPROM常数时,用如下声明即可:
#pragma DATA_SEG EE_DATA
|
|
|
|
|
|
- UID
- 341524
- 性别
- 男
|
在PRM文件中定义如下:
EEPROM = NO_INIT 0x0600 TO 0x09FF;
EEPROM_DATA INTO EEPROM;
在用户程序里定义如下
#pragma DATA_SEG EEPROM_DATA
extern unsigned char data;
#pragma DATA_SEG DEFAULT
这里的data是不是应该要写入的数据呢?
EEPROM的编程有这么麻烦吗?好像手册中都没有提到这些东西,但是如果不映射地址,数据又该往哪里写呢? |
|
|
|
|
|
- UID
- 104380
- 性别
- 男
|
EEPROM里应该放具有初始值的常量,而不应该放变量。EEPROM不能像RAM那样去写入。CodeWarrior的安装目录下有C编译器和汇编器的使用手册。 |
|
|
|
|
|