完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
上个月,我在您的帮助下实现了闪存 ECC 错误注入代码。
我对附加代码中的奇偶校验生成有疑问。 ================================================ ============================== /* 第2步。程序数据 */ DFLASH_0.MCR.B.PGM = 1; // 选择操作(程序) *((unsigned int*) DATA_FLASH_addr_0) = 0x00450000; // 首先写入 DFLASH_0.MCR.B.EHV = 1; // 开始程序运行 while(DFLASH_0.MCR.B.DONE == 0){}; // 等待完成 DFLASH_0.MCR.B.EHV = 0; // 操作结束 *((unsigned int*) DATA_FLASH_addr_1) = 0x00000000; // 附加写入 DFLASH_0.MCR.B.EHV = 1; // 开始程序运行 while(DFLASH_0.MCR.B.DONE == 0){}; // 等待完成 DFLASH_0.MCR.B.EHV = 0; // 操作结束 DFLASH_0.MCR.B.PGM = 0; // 取消选择操作 /* step3. 过度编程数据 - 这会产生 ECC 错误 */ DFLASH_0.MCR.B.PGM = 1; // 选择操作(程序) *((unsigned int*) DATA_FLASH_addr_0) = 0x00580000; // 首先写入 DFLASH_0.MCR.B.EHV = 1; // 开始程序运行 while(DFLASH_0.MCR.B.DONE == 0){}; // 等待完成 DFLASH_0.MCR.B.EHV = 0; // 操作结束 *((unsigned int*) DATA_FLASH_addr_1) = 0x00000000; // 附加写入 DFLASH_0.MCR.B.EHV = 1; // 开始程序运行 while(DFLASH_0.MCR.B.DONE == 0){}; // 等待完成 DFLASH_0.MCR.B.EHV = 0;// 操作结束 DFLASH_0.MCR.B.PGM = 0; //取消选择操作 ================================================ ============================== 在第 2 步代码中,当数据存储在闪存中时会生成奇偶校验位。 但是,在步骤 3 代码中,当数据存储在闪存中时,不会生成奇偶校验位。 我已经明白了。 我了解到每次在闪存中写入任何数据时都会生成奇偶校验位。 这样理解错了吗? 是否需要一些程序来重新生成奇偶校验位? |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
1908个成员聚集在这个小组
加入小组我的项目我做主,使用GN+Ninja来完成构建系统(VSCode开发RT106X)
36361 浏览 0 评论
NXP IMX8应用处理器快速入门必备:技巧、使用、设计指南
4400 浏览 0 评论
6054 浏览 1 评论
6765 浏览 0 评论
NXP i.MX6UL开发板(linux系统烧录+规格+硬件+模块移植)使用手册
4216 浏览 0 评论
620浏览 2评论
求助,S32G上Core M启动后如何让Core A在Flash指定位置加载uboot?
617浏览 2评论
ESP32-WROVER-IE + LAN8720以太网,GPIO0电压只有1.6v,无法正常进入spi flash boot模式如何解决?
608浏览 2评论
求分享适用于PN7160 Android的NFC工厂测试应用程序
694浏览 2评论
799浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 08:13 , Processed in 1.059017 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号