AM243x Sitara™ 微控制器-------刷新固件
- AM243x 是 德州仪器(Texas Instruments, TI) 推出的 高性能工业级微控制器(MCU),专为 实时工业通信、自动化控制和边缘计算 设计。该系列基于 Arm® Cortex®-R5F 和 Cortex-M4F 多核架构,并集成了 PRU-ICSS(可编程实时工业通信子系统),适用于 EtherCAT、Profinet、EtherNet/IP 等工业以太网协议。
。。。。。。。。
一、主要特点
(1) 多核处理器架构
主处理器:
4x Arm Cortex-R5F 核心(最高 800MHz),用于 实时控制 和 确定性任务处理。
1x Arm Cortex-M4F 核心(最高 400MHz),用于 低延迟控制任务(如传感器管理)。
PRU-ICSS(工业通信加速器):
支持 EtherCAT、Profinet RT/IRT、EtherNet/IP、OPC UA 等协议,无需外部 ASIC。
(2) 高性能外设
工业通信接口:
2x 千兆以太网(TSN 支持)
CAN-FD、RS-485、SPI、I2C、UART
高速数据接口:USB 3.0、PCIe Gen2、QSPI、OSPI
模拟与 PWM 控制:
12-bit ADC、高分辨率 PWM(HRPWM),适用于电机驱动和电源管理。
(3) 内存与存储
片上 SRAM:最大 2.25MB(共享内存 + 本地缓存)。
外部存储支持:
DDR4/LPDDR4、NOR/NAND Flash、eMMC(通过 OSPI/QSPI 接口)。
(4) 功能安全与安全性
功能安全(适用于工业自动化):
符合 IEC 61508 SIL-3、ISO 13849 PL e 标准。
支持 ECC 内存保护、故障检测机制。
硬件安全:
安全启动(HSM)、AES/SHA 加密加速、真随机数生成器(TRNG)。
(5) 工业级可靠性
工作温度范围:-40°C 至 +125°C(适用于严苛环境)。
长期供货支持(10+ 年生命周期)。
二、硬件平台:
(1) AM243x LaunchPad 电路板(主芯片为XAM2434ASFGGAALX),芯片型号不同,对应的SDK版本不同。

(2)其中AM243X的SDK各版本如下:
https://www.ti.com/tool/download/MCU-PLUS-SDK-AM243X/08.06.00.45

MCU+SDK 主要支持 GP (General Purpose) 作为主要器件类型。MCU+SDK 现在将支持 SDK 中的 HS-FS(高安全性 - 现场安全)作为主要设备类型,并对 GP 提供限时支持。本文档旨在列出两种设备类型的区别,并帮助用户对 HS-FS 设备类型进行开发。
(3)sdk操作流程:
https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/latest/exports/docs/api_guide_am243x/index.html#autotoc_md5
三、Flash SOC 初始化二进制文件:
其中下载SDK、CCS、pyth、openssl1.1.1等问题见SDK操作流程。

其中红色的为由于芯片版本与SDK不符合导致刷新固件失败,蓝色为更改SDK版本之后,刷新固件成功。
最新SDK版本都是争对HS-FS版本芯片的,GP版本芯片的TI公司不在做技术支持。可能需要openssl1.1.1。
四、AM243X 的程序加载
1、程序初始化
- 预初始化:电源、时钟和控制连接必须存在,并且引导配置引脚必须保持在所需的逻辑级别。
- 电源、时钟、复位斜坡序列:由电源管理芯片应用的特定序列
- ROM代码:负责查找、下载和执行初始软件(SBL)
- 初始软件:加载、准备并将控制传递给应用软件或高级操作系统(HLOS)的软件
- 高级操作系统或运行在主处理器上的裸机应用程序
**多阶段引导加载程序 bootloader 可以加载另一个 bootloader,在高级 SoC中通常是这种情况,原因有很多。出于安全原因,第一个 bootloader通常保存在安全的只读内存中,并且始终在应用程序软件启动之前具有已知状态。因此,保持此 bootloader简单并让它只执行所需的最低配置是有意义的。这个辅助 bootloader 可以很复杂,并且可以根据应用程序的需求进行配置。与第一阶段 bootloader 相比,这也可以很容易地更新。事实上,对于 MCU+SDK中的器件,我们有一个两阶段的引导加载——第一阶段的引导加载程序称为 ROM 引导加载程序 (RBL),第二阶段的引导加载程序称为二级引导加载程序 (SBL)。
多核引导加载 当存在多阶段引导加载时,多核引导加载几乎总是跟进。在这种情况下,从技术上讲,第一个 bootloader 甚至可能不知道其他内核,它只会引导下一阶段的 bootloader,而第二个阶段的 bootloader 将处理不同内核上的复杂引导加载。加载多核应用程序比加载单核应用程序稍微复杂一些。会有关于映像准备、共享内存访问等的担忧。大多数情况下,会有一种特定的格式来创建各个核心图像,然后它们可能会/可能不会连接成单个图像以供SBL 加载。无论应用程序映像采用何种格式,SBL 都应该知道它,以便它可以正确分析和加载映像。**
- ROM 引导
(1) RBL ( ROM Bootloader )存储在只读存储器中,几乎被视为 SoC 的一部分。
一旦电路板上电,ROM 引导加载程序或 RBL 就开始运行。RBL 是主要的引导加载程序。根据选择的引导模式,RBL 将从引导介质(OSPI 闪存、SD 卡或通过 UART)加载辅助引导加载程序或 SBL。其余的引导由 SBL 完成。


2304

被折叠的 条评论
为什么被折叠?



