在线时间85 小时
UID288030
注册时间2011-5-4
NXP金币118
TA的每日心情 | 奋斗 前天 10:15 |
---|
签到天数: 35 天 [LV.5]常住居民I
金牌会员
- 积分
- 1180
- 最后登录
- 2024-9-13
|
本帖最后由 jiang887786 于 2023-8-19 22:56 编辑
关于MKE18F512VLL16的SDK_DEMO flexnvm_eeprom运行测试问题
亲爱的版主、各位大侠,您好!
先说说过程,
IDE是MDK5.35 NXP官网生成的flexnvm_eeprom代码,手册429页。
*原始代码使用的是/*! @brief Set 32B FlexRAM Size(EEESIZE) for EEprom, Subsystem A = B = EEESIZE / 2 */ 32个byte作为EEprom
*它定义了EEPROM_DATA_SET_SIZE_CODE 是(0x39U),0x30是EEESPLIT (FCCOB4[5:4)] 0x9是EEESIZE (FCCOB4[3:0]。
*那我现在要使用4096个byte作为EEprom,我就改了EEPROM_DATA_SET_SIZE_CODE 是(0x32U),
*然后是FlexNVM Partition Code DEPART ,因为EEPROM 备份大小必须至少是 FlexRAM 中 EEPROM 分区大小的 16 倍。EEPROM-backup Size (Kbytes)对应64kb的大小可选择为0x04或者0x08.我配置了0x04.0x08我还没测试!
***
*根据代码打印信息和仿真运行查看,eepromTotalSize分区大小已经是4096.
flexramTotalSize大小也已经是4096.
*也设置了 FlexRAM 为EEPROM , FLEXNVM_SetFlexramFunction 函数也没有返回错误。
*仿真指定读取0x14000000地址memory观察读写情况发现。32个byte写0正常可以看到,写了4个byte的1 2 3 4也可以看到。
我遇到的问题,仿真时写完1 2 3 4我reset再次运行到main继续观察地址0x14000000的memory发现全部是FF,为什么?理论上不应该是复位时自动加载(我配置了自动加载0)EEPROM的数据到FlexRAM我看到的不应该时1 2 3 4吗?为什么变成了FF了呢?
我的疑问点:
1,为啥0x14000000地址memory的数据是FF?出了什么问题?
2,jilnk擦除整个芯片时是不是把分区配置也一起擦除掉?手册没翻到。
3,手册说了不用每次上电都配置EEPROM分区。为啥0x14000000地址memory的数据是FF?
4,我用jlink调试的话每次加载hex文件到cpu后都会上锁芯片flash 0x40D地址都会是0x7D。但是使用ulink2调试就没有问题flash 0x40D地址都会是0x7B,难道是某宝牌jlink的原因?呵呵?
5,附件是我在使用的demo代码。
请万能的版主多多指教!
编辑原因添加附件。
|
|