例程

在此示例中,闪存程序存储器 (PFLASH) 的 64 字节被写入并在之后进行验证。 此外,64 字节的数据闪存 (DFLASH) 被写入和验证。
在任何写操作之前,闪存被擦除。 如果对应flash操作成功后,每个测试的 LED 都会亮起。
数据存储器单元 (DMU) 控制在程序和数据闪存存储器(PFLASH 和 DFLASH)上执行的命令序列,与闪存标准接口 (FSI) 和程序闪存接口 (PFI) 连接。

FSI 对所有闪存执行擦除、编程和验证操作。
AURIX™ TC39x 器件具有:

  • 6 Program Flash Banks (PFx)
  • 2 Data Flash Banks (DFx)

AURIX™ TC39x 具有五个大小为 3 MB 的 Program Flash bank (PF0…PF4) 和一个大小为 1 MB 的 Program Flash bank (PF5)。 每个 Program Flash bank 被划分为大小为 1024 KB 的物理扇区,每个物理扇区被划分为 64 个大小为 16 KB 的逻辑扇区.

AURIX™ TC39x 具有两个数据闪存组,DFLASH0 和 DFLASH1。 两者都包括通常用于 EEPROM 仿真的多个 EEPROM 扇区。 只有 DFLASH0 包含用于数据保护的用户配置块 (UCB) 和用户无法直接访问的配置扇区 (CFS)。

DFLASH EEPROM 可以配置为单端模式(默认)或补码检测。 根据所选模式,每个扇区的大小分别设置为 4 KB 和 2 KB。

可以在闪存中编程的最小数据量是 page

  • Program Flash pages are made of 32 Bytes
  • Data Flash pages are made of 8 Bytes

可以执行擦除操作的最小单位是逻辑扇区。


编程闪存程序存储器或数据闪存存储器的最小命令序列如下:

Flashing the Program Flash memory

要执行 PFLASH 编程,建议从与要编程的 PFLASH 不同的存储器位置运行代码。因此,在开始闪存操作之前,通过函数 copyFunctionsToPSPR() 将擦除和编程例程复制到 CPU0 的 Program Scratch-Pad SRAM (PSPR) 中。 这使用标准 c 库 string.h 中的 memcpy() 函数并将函数指针分配给新的内存位置。然后,实际的闪存编程操作从擦除所涉及的逻辑扇区开始。

Erase of Logical Sectors

要执行擦除操作,必须通过清除 EndInit 保护位在 PFLASH 上启用写操作,通过函数 IfxScuWdt_clearSafetyEndinitInline() 完成。然后,可以通过 IfxFlash_eraseMultipleSectors() 函数执行一个或多个连续逻辑扇区的擦除命令序列,该函数由函数指针 eraseSectors() 从 PSPR 执行。
最后,必须通过函数 IfxScuWdt_setSafetyEndinitInline() 再次设置 EndInit 保护位。
函数指针 waitUnbusy() 调用的函数 IfxFlash_waitUnbusy() 停止,直到扇区被擦除并且 PFLASH 再次准备好。

Write operations

擦除所需的逻辑扇区后,就可以开始写操作了。
函数指针 enterPageMode() 从 PSPR 调用的函数 IfxFlash_enterPageMode() 用于进入页面模式。 函数 waitUnbusy() 用于暂停,直到 PFLASH 准备好,然后,必须在页面中写入的数据被加载,重复调用函数 IfxFlash_loadPage2X32(),从 PSPR 使用函数指针 load2X32bits() 执行。

然后通过调用函数指针 writePage() 来写入加载的页面,该指针从 PSPR 执行 IfxFlash_writePage() 函数(在写入操作之前和之后,EndInit 保护位被清除和分别设置)。
最后调用waitUnbusy(),等待页面写入完成,PFLASH再次准备就绪,然后可以重复写入过程,直到所有需要的数据都成功写入PFLASH。

所有用于执行闪存操作命令序列的函数都可以在 iLLD 头文件 IfxFlash.h 中找到,而函数指针在 Flash_Programming.c 文件中声明和分配。

Flashing the Data Flash memory

除了地址不一样,其他跟PFLASH一致。

TC397 Flash相关推荐

  1. ST NXP Infineon 常用MCU的汇总说明

    文章目录 ST NXP Infineon 主要是 ST, NXP, Infineon 的芯片: 基本都有免费的IDE 图形化的配置, 生成初始化代码 便宜的调试工具(RMB几十 ~几百) 都有移植好的 ...

  2. 【Autosar 存储栈Memery Stack 4.Tc397的Flash编程】

    首先我们要了解Autosar的存储模块介质主要是两种:EEPROM和Flash仿EEPROM,分为片内与片外存储,因此就有2*2=4种存储方式: 主芯片片内FLASH仿EEPROM 主芯片片内EEPR ...

  3. Infineon Aurix TC397启动过程学习

    一.概览 TC397整个启动过程如下图所示: 首先由某个复位事件开始,必要情况下经历上电过程,然后执行芯片的引导固件进而跳转到用户启动代码,最后执行用户程序,因此整个过程可总结为"复位.上电 ...

  4. TOF摄像机可以替代Flash激光雷达吗?

    TOF摄像机可以替代Flash激光雷达吗? 一.基于ToF技术的Flash激光雷达 基本成像原理上ToF Camera与LiDAR相同,都采用飞行时间测距技术(包括利用APD或SPAD的直接测距法,和 ...

  5. 如何下载flash离线安装包

    如何下载flash离线安装包 CreateTime--2018年4月14日16:02:13 Author:Marydon 1.下载地址 UpdateTime--2018年5月13日16点55分 ppa ...

  6. 使用 Flash Builder 的 Apple iOS 开发过程

    使用 Flash Builder 的 Apple iOS 开发过程 iOS 开发和部署过程概述 构建.调试或部署 iOS 应用程序前的准备工作 在测试.调试或安装 iOS 应用程序时选择的文件 将应用 ...

  7. [转]优化Flash性能

    原文:http://www.adobe.com/devnet/flash/articles/optimizing-flash-performance.html 翻译:http://bbs.9ria.c ...

  8. (转)flash的Socket通讯沙箱和安全策略问题

    一.沙箱和安全策略问题     1.此问题发生在连接时,准确地说是连接前,分别两种情况:         1.本地播放    本地播放时,默认情况下Flash Player将不允许swf访问任何网络. ...

  9. Flash气泡回弹效果

    好久没有碰过Flash了,今天温习一下AS3.0,做了一个回弹效果,气泡回弹 本想着怎么可以定义气泡的不同颜色,这样可以做出更绚丽的效果,或者更进步一,气泡和气泡直接回弹,想了老半天没有想出来,就先这 ...

最新文章

  1. php原生态三级联动_js,php,html实现地区三级联动
  2. 阿里打破自然语言理解世界纪录,AI常识推理水平正在逼近人类
  3. Linux根文件系统介绍
  4. Normal Bayes 分类器过程详解
  5. 计算机二级vb重点知识,计算机二级《VB》历年考试重点知识
  6. Nginx不停机优雅升级
  7. zanli_android_1.1.0,【轻松集赞】写了个涉嫌混淆微信官方服务的小程序
  8. Oracle 11g 使用RMAN备份数据库
  9. 网众远程修改ip、dns
  10. vcpkg安装库时异常解决
  11. java面试中掺水了,java软件工程师工作简历模板下载
  12. 马云现场演讲:宣布卸任董事局主席——“青山不改,后会有期!”
  13. vue js 前端实现PDF文件下载的三种方式 解决vue下载pdf文件打开文件后空白
  14. javaScript 对象大全 (javascript code al 2)(转转)
  15. linux系统中mywho命令,linux查看在线用户 who命令参数及用法
  16. 分布式计算模式:MapReduce
  17. C语言 循环结构打印*号三角形
  18. 服务器无法用u盘安装系统安装win7系统安装不了怎么办,为什么新电脑不支持安装Win7操作系统?...
  19. Mac环境下百度网盘闪退的解决方法
  20. Python小游戏 猜数字——非常有趣的小游戏

热门文章

  1. poi系列(二):通过poi、poi-ooxml读取写出excel
  2. DW 2023年1月Free Excel 第六次打卡 查找函数
  3. Jetson Nano/NX系统拷贝
  4. Python 接受N个数字,求他们的和。
  5. No module named ‘pywin32_boot_strap‘ 解决
  6. 能力一般,却可以大厂随便横跳?强在哪里?
  7. 话费三网充值系统 三网直冲系统可快慢充值源码
  8. 2018寒假编程总结1
  9. Java基础语法的案例练习-编程思维的训练
  10. 用C语言编写程序计算cos x 的近似值,输入精度 e 和 x,用下列公式求cos(x)的近似值...