4. 开发环境搭建与SDK获取
Jacinto 域控制器的软件开发不是“装一个 IDE 就能开工”的流程,它同时涉及主机侧工具链、目标板侧运行环境、SDK 源码与预编译镜像、以及启动与调试通道。本节围绕 Code Composer Studio(CCS)、Processor SDK RTOS/Linux、Yocto 构建、SD 卡启动与调试串口配置展开,目标是让读者能独立搭出一套可编译、可烧写、可观察启动日志的最小开发环境。
一、主机环境与工具链定位
TI 官方推荐在 Ubuntu LTS(如 20.04/22.04)上做 Jacinto 开发,主机需要预留约 100 GB 以上磁盘空间,因为 Yocto 构建的临时文件与下载缓存会迅速膨胀。主机侧工具大致分三层:
- IDE 与调试层:Code Composer Studio,用于工程管理、编译、JTAG 调试、寄存器与内存查看。
- SDK 与构建层:Processor SDK RTOS 与 Processor SDK Linux,前者面向 MCU/R5F、DSP 等实时核,后者面向 A72 Linux 侧;Linux SDK 内部集成 Yocto,用于生成完整根文件系统与镜像。
- 烧写与观察层:SD 卡制作工具、串口终端(如 minicom、picocom、Tera Term),用于启动镜像和查看 U-Boot/Kernel 日志。
需要特别区分:CCS 主要解决“代码级调试”,而 SDK 解决“系统级构建与启动”。两者不是替代关系,而是配合关系。典型做法是先用 SDK 生成可启动镜像,再用 CCS 对关键核或驱动做单步调试。
二、Code Composer Studio 安装与配置
从 TI 官网下载 CCS 安装包后,在 Linux 下执行安装脚本,安装时至少勾选 Jacinto 对应的器件支持包(Device Support)与编译器(ARM CGT、C6000 CGT 等)。安装完成后,建议在 CCS 中做三件事:
- 设置工作区(Workspace)到独立目录,避免与 SDK 源码目录混放。
- 在
Window → Preferences → Code Composer Studio → Build → Compilers中确认编译器路径已被识别。 - 导入 SDK 自带的示例工程,验证能否编译通过,这是判断环境是否可用的最快方式。
如果后续要用 JTAG 调试,还需要安装对应的仿真器驱动(如 XDS110、XDS560),并在 Target Configuration 中新建 .ccxml 文件,选择正确的 SoC 型号与核(如 A72、R5F、C7x)。
三、Processor SDK RTOS/Linux 获取与目录结构
Processor SDK 可从 TI 官网按器件型号下载,常见形式是安装包(.bin)或压缩包。安装后目录结构通常包含:
| 目录 | 作用 |
|---|---|
board-support/ | U-Boot、Kernel、设备树等源码 |
linux-devkit/ | 交叉编译工具链 |
bin/ | 环境变量脚本,如 setup.sh |
filesystem/ | 预编译根文件系统 |
example-applications/ | 示例程序与测试用例 |
每次打开新终端,先执行 source setup.sh 或对应环境脚本,把交叉编译器加入 PATH。可以用 echo $PATH 和 aarch64-none-linux-gnu-gcc -v 验证工具链是否生效。
四、Yocto 构建流程
Processor SDK Linux 的根文件系统与镜像由 Yocto 构建。核心步骤是:进入 SDK 的 Yocto 目录,执行环境初始化脚本,然后选择目标机器(MACHINE)并启动 BitBake。例如:
cd <sdk>/yocto-build
source oe-init-build-env
# 编辑 conf/local.conf,设置 MACHINE = "j721e-evm"
bitbake tisdk-default-image
首次构建耗时较长,可能数小时,取决于主机性能与网络。构建产物通常位于 build/tmp/deploy/images/<machine>/,包括 tisdk-default-image-<machine>.wic.xz、Image、设备树 .dtb 等。若只需快速验证,可先用 SDK 预编译镜像,不必每次全量构建。
DL_DIR 与 SSTATE_DIR 指向独立大容量目录,避免重复下载与重复编译,显著缩短后续构建时间。五、SD 卡启动与调试串口配置
SD 卡启动是最常用的验证方式。制作流程是:用 balenaEtcher 或 dd 将 .wic.xz 解压后的镜像写入 SD 卡,插入板卡,设置启动模式拨码为 SD 启动,上电后通过串口观察日志。串口参数通常为 115200-8-N-1,无流控。Linux 下可用:
sudo picocom -b 115200 /dev/ttyUSB0
若能看到 U-Boot 打印、Kernel 解压与登录提示,说明启动链路基本正常。常见问题包括:拨码错误、串口线接错、SD 卡未正确写入、镜像与板卡型号不匹配。排查时优先确认串口是否有任何输出,再检查启动模式与镜像版本。
六、最小可用环境验收清单
完成上述步骤后,可以用下面这份清单快速判断环境是否可用:
| 检查项 | 验证命令/现象 | 通过标准 |
|---|---|---|
| 交叉编译器 | aarch64-none-linux-gnu-gcc -v | 能打印版本信息 |
| CCS 工程编译 | 导入示例工程并 Build | 无错误,生成可执行文件 |
| Yocto 构建 | bitbake tisdk-default-image | 生成 .wic 镜像 |
| SD 卡启动 | 上电后串口输出 | 出现 U-Boot 与登录提示 |
| 串口终端 | picocom -b 115200 /dev/ttyUSB0 | 可交互输入命令 |