完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
什么是“闪存驱动程序”
“闪存驱动程序(实际闪存算法)是执行闪存功能的硬件相关代码。在大多数情况下,不可能从闪存编程闪存。因此闪存驱动程序被下载并执行到 RAM 中以允许对应用程序进行编程。将闪存算法下载到 RAM 的优点是可以更新闪存算法,而无需重新编程主引导加载程序。下载完成后,算法会从 RAM 中清除,以避免在应用程序中意外调用闪存功能。 在特殊情况下,闪存算法保存在闪存中,并在需要时复制到 RAM。当然,使用此配置时,无法再更改闪存算法。此外,闪存可能因意外调用这些函数而被无意中擦除。纠正此问题的补救措施是加密相应的程序代码,例如 XOR 等。” 关于演示 -软件使用“S32 Design Studio for S32 Platform V3.4”,SDK为“RTM 4.0.3” - 基于S32K142-EVB的硬件 - 提供两个demo,一个用于制作“flash driver”,另一个用于测试flash driver image ·“ Flash_Driver_Source_Project ”这个例程用来制作flash驱动镜像。 ·“ Flash_Driver_Source_Project_Test ”这个例程用于测试flash驱动镜像。 ·Flash驱动镜像制作流程 1.新建工程,添加flash组件 参考提供的demo,修改main.c文件。 注1 在main.c中定义函数索引表 2.修改链接文件 注2修改S32K142_32_flash.ld文件 注3修改S32K142_32_flash.ld文件 3.增加操作flash所需功能的“属性”命令 Note 4给函数加上“属性”,像这样 如果一个函数中引用了另一个函数,那么我们还需要给被引用的函数加上“属性”。 4.编译工程,查看xx.map文件,确认分配的地址空间是否正确。 注5 检查Flash_Driver_Source_Project.map 5.制作闪存驱动 Note 6 创建闪存图像 Note 7 选择图片格式 Note 8 制作闪存驱动镜像 新建一个“xx.s19”文件,然后将0x1fffe000~0x1ffffffff 范围内的数据复制到这个文件中 注 9 如有必要,更改链接顺序 如果一些函数分布在不同的文件中,可以通过改变链接顺序来改变分配的函数地址。 测试flash驱动镜像的过程 1.新建工程,不添加flash组件。 您仍然需要创建一个新项目,但不需要向其中添加 Flash 组件。 2.和以前一样修改链接文件。 3.参考提供的demo,修改main.c文件。 4.编译工程,检查.map文件,确认分配的数组位置的地址空间是否正确 注意1 0 确保 Function_TABLE 已经放在正确的位置 5.进入调试部分,导入准备好的flash驱动镜像。 注意 1 2在操作 flash 模块之前导入 flash 驱动镜像 6.测试flash驱动是否能正常工作。 注1 3检查测试结果 至此,我们知道了如何制作flash驱动镜像以及如何测试flash驱动镜像。这种方法不局限于制作flash操作相关的函数,其他函数也可以这样使用,但是这种应用场景的应用很少。 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
1935个成员聚集在这个小组
加入小组我的项目我做主,使用GN+Ninja来完成构建系统(VSCode开发RT106X)
36427 浏览 0 评论
NXP IMX8应用处理器快速入门必备:技巧、使用、设计指南
4963 浏览 1 评论
6114 浏览 1 评论
6821 浏览 0 评论
NXP i.MX6UL开发板(linux系统烧录+规格+硬件+模块移植)使用手册
4250 浏览 0 评论
653浏览 2评论
求助,S32G上Core M启动后如何让Core A在Flash指定位置加载uboot?
646浏览 2评论
ESP32-WROVER-IE + LAN8720以太网,GPIO0电压只有1.6v,无法正常进入spi flash boot模式如何解决?
647浏览 2评论
求分享适用于PN7160 Android的NFC工厂测试应用程序
737浏览 2评论
848浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 20:12 , Processed in 1.415622 second(s), Total 75, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号