1.0.5.A 速通S32K312 Fls Flash Driver
发布时间:2026/9/12 18:26:46 锦皓数字建站

Fls的配置与调试打开S32DS中包含的Example。双击mex文件来到引脚配置界面。在引脚配置界面先更新生成一下配置代码。然后回到代码界面配置代码已经生成好了。打开主函数看看。去外设配置界面看看和Fls有关系的配置。外设界面显示有报错原因是RTD的版本号不匹配需要进行修改。修改为正确的版本号后点击更新源代码即可消除所有的错误。可以看到和Fls外设配置有关的是名为Fls的组件。回到主函数可以看看主函数的内容结构。1、初始化MCU时钟和模式。2、Flash Driver的初始化3、擦除指定的Flash的地址例程里面擦除的是0x10000000这块地址长度是8K0x10000000是K312的Dflash的地址块在S32K3xxRM手册里面是有说明的。4、调用Fls_Erase()后并不会立即实现Flash的擦除它必须配合Fls_MainFunction()的调用才行。5、完成擦除后就往0x10000000地址中写入一些数据内容。6、调用了一个Fls_Compare()的函数进行期望写入数据和实际写入数据的比对这里其实不用官方的Fls_Compare()函数也是可以因为取DFlash的非限制性地址可以直接使用指针。7、调用Fls_Read()读取函数读取0x10000000的内存数据看看数据是否与写入的一样。再去看看Fls的配置内容。Debug看看例程的运行效果可以看到当程序运行到断点1的位置的时候0x10000000的内存块是存在此前遗留的数据的。接下来执行Fls_Erase()擦除后看看效果。当程序运行到断点2的位置的时候0x10000000的内存块的数据全部被擦除为0xFF。再次运行后程序停止在断点3的位置此时0x10000000内存块的数据仍为0xFF。再次运行程序到断点4的位置经过了Fls_Write()函数和Fls_MainFunction()函数后此时可以看到0x10000000内存块被写入了有效的数据。再次运行程序到断点5的位置可以看到程序顺利的通过了Fls_Compare()函数完成了TxBuffer的数据和写入内存数据的比对是完全一致的。再次运行程序到断点6的位置可以看到程序经过了Fls_Read()函数后将数据读取到了RxBuffer的数组的数组中的值和内存中的数值是一样的。到这里关于S32K312的Flash Driver的基础内容就完结了Fls最常见的使用有Fls的初始化Fls_Init()Fls的擦除Fls_Erase()Fls的写入Fls_Write()Fls的读取Fls_Read()。
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。