SYS/BIOS:RTSC与XDCtools


前言

SYS/BIOS 是通过 RTSC + XDCtools 实现的。
如果想在工程中使用信号量:
var Semaphore = xdc.useModule('ti.sysbios.knl.Semaphore');
这句代码会告诉 XDCtools:
“我在工程中要用信号量模块,请帮我自动生成初始化和相关配置代码。”
所以如果在工程中没启用 XDCtools 或配置错误,哪怕写了 Semaphore_pend() 也会因为找不到模块而编译失败。


提示:以下是本篇文章正文内容,下面案例可供参考

一、RTSC是什么?

RTSC:Real-Time Software Components(实时软件组件)
是一种用于创建、配置、管理嵌入式实时系统组件的软件架构标准。
支持在 CCS 中 配置、编译、链接嵌入式组件(比如:BIOS、任务、信号量)

核心思想:把嵌入式系统的不同模块(比如 BIOS、驱动、任务)都变成“可配置的模块”,用一套机制自动生成我们需要的代码(比如 .cmd、.c、.h 文件)。

功能目标说明
软件组件化让每个模块(比如任务调度器、信号量)都封装成独立“组件”,可以复用和配置
配置自动化用户只需通过 .cfg 脚本“描述”想要的系统结构,工具自动生成初始化代码和链接文件

✔️ RTSC 是一种标准,用来 规范模块的接口、配置、打包方式,也通过工具(如 XDCtools)实现 “让模块变成可配置模块” 的功能。

举例:
Semaphore 模块需要手动写很多代码:

Semaphore_Handle sem;
Semaphore_Params_init(&params);
sem = Semaphore_create(0, &params, NULL);

使用RTSC只需要在 .cfg 中写一行:

var Semaphore = xdc.useModule("ti.sysbios.knl.Semaphore");

然后在代码中写入:

Semaphore_pend(sem, BIOS_WAIT_FOREVER);

初始化代码、模块导入、内存配置全由工具生成,避免出错、节省时间。


二、XDCtools是什么?

XDCtools :RTSC 标准的软件实现工具包,RTSC 的操作系统 + 编译器 + 脚本执行器,不包含编译工具链,使用时需要搭配相应编译工具链,比如C6000系列DSP需要搭配C6000系列的CGT工具?

可以把 RTSC 理解成一个“标准”,而 XDCtools 是 TI 提供的“工具软件”,用来实现这个标准。它包括:

工具功能说明
xs类似 JavaScript 解释器 + 编译器,可以运行 .cfg 配置脚本并生成配置代码
configuro把 .cfg脚本转换为 C 工程可以用的 .cmd(链接器)、.c/.h(初始化代码)等
xdcpath指定模块搜索路径,例如 SYS/BIOS、PDK,指明去哪找 ti.sysbios.* 模块等
xdc.useModule()在脚本中声明要用哪个模块,比如 Task、Semaphore、BIOS,相当于自动 #include + init

举例:
写出.cfg文件:

var Task = xdc.useModule('ti.sysbios.knl.Task');

Task.create("&myTask0");

点击 Build Project,CCS 背后就会做以下几件事:
1.XDCtools 调用 configuro 工具读取 .cfg 文件
2.自动生成 linker.cmdmain.csem_pe66.c 等必要的源文件
3.你写的 myTask0() 函数也会被加入 BIOS 任务调度器中
4.编译器把这些组合起来,最后生成可运行的 .out 文件

2.1 .cfg文件

.cfg 是 RTSC 的核心配置文件,是个 JavaScript 脚本文件,里面用 xdc 提供的 API 来配置系统行为,比如:

var BIOS = xdc.useModule('ti.sysbios.BIOS');
BIOS.libType = BIOS.LibType_Custom;

var Task = xdc.useModule('ti.sysbios.knl.Task');
Task.create("&myTask0", params);

这不是普通配置文件,而是“可执行的配置脚本”,可以动态创建任务、信号量、配置系统参数。
配置完成后进入编译和链接操作,在编译时会根据配置文件自动成成.c文件和.cmd文件,所以一般在基于SYS/BIOS的工程当中一般是没有.cmd文件的。在RTSC中,.cmd文件一般是根据paltform平台配置动态生成的

2.1 在CCS中使用XDCtools

在 CCS 中启用 RTSC 项目(RTSC-enabled project)时:
就能在项目中添加 .cfg 文件
编译时调用 XDCtools 自动生成系统配置代码
不需要手动写 .cmd 或复杂初始化代码,全部由工具完成

工程中必须包括这些内容才能正常使用:

组件说明
.cfg 文件配置文件,告诉系统使用哪些 RTSC 模块(如 Semaphore)
.c 文件自己写的任务代码(如 myTask0())
.cmd 文件链接器文件,可以由 configuro 自动生成或手动提供
RTSC product path设置安装的 XDCtools 和 SYS/BIOS 路径

三、问题

configPkg没有 .cmd/.c 文件
❌ 不正常,说明 .cfg 没被执行或写法有问题
正确的.cfg文件应该生成以下内容:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值