1684126_zh-CN

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

1684126_zh-CN

1684126_zh-CN

MBDT 闪存/nvm 写入冻结程序 S32K3xx

问题:当我试图写入芯片的闪存区域时,程序似乎冻结了。

我可以利用内存示例来读写 RAM 地址(0x20400000-0x20444000)。没问题。

如果我将 DatameMWrite 地址更改为闪存区域内的某个值(0x00400000-0x007E0000),程序就会编译并闪存到板上。当我的程序尝试进行写入操作时,FreeMaster 显示程序已锁定(计数器冻结)。

(我是否需要利用 MCAL FLS 驱动程序来利用闪存区域?)

附上我的代码尝试--MBDT 工具箱 1.2.2 版(在相关帖子中,我利用了一个补丁,以适应子系统中的内存写入)。压缩包中还包括 FreeMaster 项目。

是否有关于 MBDT 和闪存/NVM 利用的指南或示例?

Re: MBDT flash / nvm write freezes program S32K3xx

有没有带有 MBDT 电池管理系统 1.2 和 MBDT S32K3 1.4 的 K358 板的示例文件

Re: MBDT flash / nvm write freezes program S32K3xx
目前的模式无法运行的原因与闪存的操作方式有关。使用 Data Write MBDT 模块进行直接内存操作会导致 MCU 进入故障状态,因此必须通过专用驱动程序进行访问。
 
为此,我们创建了一个演示应用程序,演示如何访问闪存。请参阅附件中包含模型和自述文件的压缩包。
 
启用这种支持的步骤可归纳如下:
1.在 .mex 中配置 Fls 驱动程序锉刀
在 Fls 外围设备中,以下配置选项与本例相关:
a.Fls 物理扇区:可从下拉列表中选择,该选项指定在哪个闪存扇区执行操作(可选 16 个数据闪存扇区和 512 个代码闪存扇区(4 个代码闪存区域各 128 个))。有关内存区域、大小和扇区数量的更多信息,请参见参考手册中的闪存模块配置表。
b.Fls 页面大小:该选项指定先前配置扇区内页面的大小。对于内部闪存,页面大小为 8 字节
c.Fls 扇区大小:该选项指定配置扇区的大小。对于 S32K344 MCU,所有内部扇区的大小均为 8kb。
d. Fls 扇区起始地址:此选项指定扇区的地址偏移量,从存储区域的起始地址开始。(例如:如果配置了 2 个大小为 8192 字节的扇区,则第一个扇区的起始地址为 0,第二个扇区的起始地址为 8192)
e.Fls 硬件通道:该选项指定配置的扇区位于内部还是外部闪存中
2。在板初始化 GUI 中初始化 Fls 元器件
3.应用程序的实施
- 由于 MBDT for S32K3 v1.2.0 在 Simulink 块和配置方面不支持 Fls,因此我们使用 Simulink 自定义代码功能来调用特定的 Fls 驱动程序 API,如您在所附模型中看到的那样。有关 Simulink 自定义代码功能的更多信息,请查看以下文章: https://community.nxp.com/t5/NXP-Model-Based-Design-Tools/How-to-use-your-own-C-code-in-our-Toolbo...
- 我们使用 Fls_Read、Fls_Write 和 Fls_Erase 演示了访问 S32K344 数据闪存部分的基本操作。
 
更多详情,请查阅相关的 readme 文件,其中提供了如何运行应用程序的详细信息。
 
我们还想说明的一点是,您在应用程序中使用的当前地址与代码 Flash 部分相对应。您能告诉我们为什么/是否需要将数据写入该特定部分吗?

Tags (1)
No ratings
Version history
Last update:
‎11-21-2025 01:54 AM
Updated by: