NXP MCU 技术论坛
登录
直播中
张昂笙
7年用户
1001经验值
私信
关注
[问答]
如何制作flash驱动镜像以及如何测试flash驱动镜像?
开启该帖子的消息推送
镜像
什么是
“闪存
驱动
程序”
“闪存驱动程序(实际闪存算法)是执行闪存功能的硬件相关代码。在大多数情况下,不可能从闪存编程闪存。因此闪存驱动程序被下载并执行到 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 确保 Func
ti
on_TABLE 已经放在正确的位置
5.进入调试部分,导入准备好的flash驱动镜像。
注意 1 2在操作 flash 模块之前导入 flash 驱动镜像
6.测试flash驱动是否能正常工作。
注1 3检查测试结果
至此,我们知道了如何制作flash驱动镜像以及如何测试flash驱动镜像。这种方法不局限于制作flash操作相关的函数,其他函数也可以这样使用,但是这种应用场景的应用很少。
更多回帖
rotate(-90deg);
回复
相关问答
镜像
如何将自制的ext4
镜像
烧录R1的emmc
2020-04-07
5538
esp32使用
flash
_download_tool选择
镜像
出错是什么原因?
2024-06-24
195
请问烧写
镜像
后
测试
SD卡
驱动
时,串口提示用户的密码是多少?
2022-01-07
477
如何缩小
制作
完成的系统
镜像
大小?
2022-01-04
2654
可以使用Optane加速硬盘设置
镜像
吗
2018-10-18
3136
安装
镜像
时,OTG安装不了只能用SD卡安装吗?
2022-11-22
206
请问A40i
驱动
调试时更新整个
镜像
太繁琐了,能直接更新内核uImage嘛?
2022-01-04
571
求助一个
镜像
烧写问题
2016-04-14
3603
关于CC3220片外
Flash
的问题
2021-09-17
749
跪求CDLINUX带无线网卡
驱动
的
镜像
文件
2013-03-18
7469
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分