【TC3xx芯片】TC37x芯片DMU介绍

目录

前言

正文

1.DMU硬件架构

2.DMU寄存器

2.1 DMU状态寄存器

2.2 DMU控制寄存器

2.3 错误状态寄存器

3.DMU命令序列

3.1 读Flash

3.2 写Flash

4.DMU错误处理

5.DMU中断和Trap

5.1中断

5.2Trap

6.总结


前言

AUTOSAR架构图下的Fls模块对上(Fee)模块提供统一的标准接口,但是具体的实现因不同的芯片而不一样,Infineon公司的Fls模块通过操作TC3xx芯片的DMU模块实现Fls的功能。在具体介绍Fls模块的功能之前,有必要先介绍下TC3xx芯片的DMU模块。本文就来详细介绍下TC37x芯片的DMU功能,希望能搞清楚以下问题:

问题1:站在软件实现的角度来看,如何通过DMU实现读,写,擦除DFlash?

问题2:站在软件实现的角度来看,如何通过DMU监控读,写,擦除DFlash等任务完成的?

问题3:站在软件实现的角度来看,如何通过DMU监控读,写,擦除DFlash等任务出现Error的?

问题4:站在软件实现的角度来看,在监控到读,写,擦除DFlash等任务出现Error后如何恢复重来?

Note: 作者对芯片的各种模块的硬件接口或者功能实现也不是很理解(非电子信息专业出身,属于半路出家的半吊子……),但是站在软件开发者的角度来看,个人理解,操作芯片模块基本就是操作芯片模块的控制寄存器来达到想要的功能,轮询芯片的状态寄存器判断控制命令是否完成,监控Error寄存器看是否发生错误(发送错误后一般通知上层后尝试重置芯片模块功能)。对于软件开发者,搞清楚上述四个问题其实就是搞清楚在上述问题的上下文中如何控制和监控寄存器。

缩略词

简写

全称

DMU

Data Memory Unit

DPI

Direct Processor Interface (to Local Flash Bank)

FSI

Flash Standard Interface

SRI

Shared Resource Interconnect

SIF

Slave Interface

正文

1.DMU硬件架构

CPU通过SRI总线能够访问/控制DMU,DMU通过FSI接口能够控制DFLASH。CPU访问/控制DMU可以通过软件(我们写代码)实现,DMU通过FSI访问/控制DFLASH是硬件实现(软件不不参与,软件发错命令序列后只能轮询DMU的状态寄存器来获取DMU访问/操作DFLASH的结果)。

### TC3xx 芯片 Flash 编程方法及工具 #### 1. Flash 编程概述 对于英飞凌 AURIX TC3XX 系列单片机而言,Flash 编程是指将应用程序或其他数据写入内部非易失性存储器(NVM-Flash)的过程。该系列设备具备多种特性支持高效可靠的编程操作[^1]。 #### 2. 使用 illD 库进行 Flash 驱动开发 为了简化对 Flash 的访问并提高代码可移植性和维护性,通常会利用厂商提供的库函数来进行底层硬件抽象。针对 TC37X 型号,illD (infineon low-level drivers) 提供了一套完整的 API 来管理 Flash 存储资源,包括擦除、读取以及写入等功能的实现[^2]。 ```c // 示例:初始化 Flash 控制器 void Init_Flash(void){ // 初始化配置结构体 Ifx_FLASH_Config config; // 设置默认参数 Ifx_FLASH_initConfig(&config, &MODULE_FLASH); // 启动控制器 Ifx_FLASH_init(&FLASH_MODULE, &config); } ``` #### 3. 利用 DMU 模块优化 Fls 接口性能 在 AUTOSAR 架构下,Fls 模块作为 Fee(Flash EEPROM Emulation)层的一部分负责处理与物理 Flash 设备之间的交互逻辑。而在实际应用中,Infineon 实现了特定于 TC3xx 平台上的 Fls 组件,它借助 DMU(Data Management Unit)来加速数据传输速率并增强系统的鲁棒性[^3]。 #### 4. 主引导加载程序的角色 当涉及到更新固件或重新烧录新版本的应用软件时,“主引导加载程序”扮演着至关重要的角色。其主要职责是在系统加电初期完成必要的初始化工作之后,再决定是从内置 Flash 中执行现有映像还是通过外部通信端口接收新的二进制文件以便后续安装到目标位置[^4]。 #### 工具推荐 - **DAVE™ Studio**: 英飞凌官方推出的集成开发环境,集成了丰富的外设驱动和中间件组件,能够显著减少项目前期准备时间。 - **J-Link Debugger/Programmer**: Segger 生产的专业级调试接口适配器,广泛应用于 ARM Cortex-M 和 Tricore 架构微控制器领域内,支持在线仿真、断点设置以及全速运行模式切换等多项实用功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汽车电子嵌入式

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值