flash driver 制作与使用

本文详细描述了如何在嵌入式系统中使用BLFlash_driver,包括修改链接文件划分RAM空间、定义结构体和函数指针、编写解锁、擦除和写入函数,以及生成和应用单独的flashdriver文件以实现高效闪存操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

制作步骤:

一、修改链接文件,划分出flash driver所占RAM空间,根据不同情况自行定义。

二、定义结构体,分别存放解锁、擦除和写入函数的函数指针,也可以包含其它参数,存放在划分空间的开始处,便于后续调用。

三、申明和定义解锁、擦除和写入的具体函数内容,并测试能够实现对应功能。特别注意函数中不能有全局变量、函数外的指针等。申明时将函数指向对应空间。

四、将结构体放在指定RAM空间

五、生成bin或hex或S19文件,按照所划分的区域将flash driver部分截取出来,形成单独的flash driver文件。

使用步骤:

一、将原本的函数和结构体删除或注释掉。

二、申明结构体指针,指向存放flash driver空间的首地址,也就是指向了flash driver中的结构体。

三、在刷写时上位机加载flash driver文件,将flash driver写入RAM中。

四、程序内通过结构体调用相关函数,实现解锁、擦除和写入功能。

BLFlash_InfoPtr->flashUnlockFct(blocknum, SupMask, NorMask);

BLFlash_InfoPtr->flashEraseFct(address, 0);

BLFlash_InfoPtr->flashWriteFct(address,data,length);

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值