J-Link 在基于 AM335x 的
Starterware 开发中的应用
Starterware 是 TI 针对工业客户推出的基于 AM335x 的非操作系统的软件开发包,具有
实时性高,灵活性高等特点。随着 AM335x 在业界得到广泛的肯定,目前已经在工业各个
领域得到了广泛的应用。J-Link 是市场上很流行的 ARM 仿真器,价格便宜,使用方便。本
文主要介绍如何使用 J-Link 在 CCS(Code Composer Studio )和 IAR(IAR Embedded
Workbench)集成调试环境中对基于 AM335x 的 Starterware 进行编译调试。
1 Starterware 介绍
Starterware 是一个非操作系统的软件开发包,包含 SOC 启动代码,DDR 内存初始化代
码,以及串口,I2C,USB,Ethernet, LCD,中断等驱动。由于没有操作系统复杂平台化功
能,所以 Starterware 是一个结构简单的软件包。非常适合于有高实时性,但无并行性需
求的应用领域,目前在工控,HMI,工业缝纫机,PLC 等工业方向已经有了很多成功应用。
Starterware 的目录结构及说明可以参考相应的 wiki 页面,文件夹的布局除了考虑功能
模块的划分外,也在板级支持和编译环境两个方面有所考虑,理清了这两点便于理解
Starterware 的架构,说明如下:
A. 按支持不同开发板划分的目录。在 driver,example,platform 等目录中,子目录
evmAM335x, beaglebone 和 evmskAM335x,分别针对 AM335x 的三个开发板 GP
EVM,BeagleBone 和 Starter Kit,存放着相应的板级配置代码。
B. 按不同编译环境划分的目录。Starterware 把所有编译相关的工程文件放在了
build/armv7a 目录中,其子目录 cgt_ccs, ewarm 和 gcc,存放分别对应 CCS, IAR
和 GCC 编译环境的工程配置文件。
从软件结构来看, Starterware 有两部分组成,Bootloader 和 Application(应用程序),具
体介绍如下:
1.1 BootLoader
BootLoader 被 ROM code 加载到片上 SRAM 中。AM335x 启动后,首先运行 ROM code,
ROM code 根据 sys_boot(具体可以参考 AM335x technical reference manual 中的
Initialization 章节)的配置,从相应的存储器或者外设中得到 Bootloader,并加载到片上的
SRAM 的起始地址处,即 0x402F0400。
BootLoader 中完成如下工作:
A. ARM core 的配置,包括中断向量表,Cache,MMU 等配置。
B. PRCM 模块(具体可以参考 AM335x technical reference manual 中的 PRCM 章节)的
配置,主要是对各 PLL,power management 等的配置。
评论1
最新资源