This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:TI-RTOS
几个月内我没有接触到我的 CC1310硬件,但是在更新到 CCS v7.1并使用新的创建项目的方法-- Resource Explorer、用于 CC13x0的 SimpleLink SDK、TI-Drivers >空示例之后,我看到情况发生了很大的变化。
现在、"empty.c"的主线程有一个函数指针:
/* === mainThread ==== // void * mainThread (void * arg0) { /* 1秒延迟*/ uint32_t 时间= 1; ...
还有一个新的 main_tirtos.c、它使用 POSIX 线程(!????) API、我认为 TI-RTOS 现在已用作抽象层:
/* POSIX 头文件*/ #include /* RTOS 头文件*/ #include /*示例/板头文件*/ #include "Board.h" extern void *mainThread (void *arg0); /*以字节为单位的堆栈大小*/ #define THREADSTACKSIZE 1024 /* === main ==== */ int main (void) { pthread_t 线程; pthread_attr_t pAttrs; struct sched_param primParam; 内部 REC; 内部 detachState; /*调用驱动程序初始化函数*/ Board_initGeneral(); /*设置优先级和堆栈大小属性*/ pthread_attr_init (&pAttrs); priParam.sched_priority = 1; detachState = pthread_create_detached; retc = pthread_attr_setdetachstate (&pAttrs、detachState); 如果(retc!= 0){ /* pthread_attr_setdetachstate()失败*/ while (1); } pthread_attr_setschedparam (&pAttrs、&priParam); retc |= pthread_attr_setstacksize (&pAttrs、THREADSTACKSIZE); ...
这与过去的工作方式(适用于 CC13x0 v1.00-ish 的 SimpleLink SDK)有很大不同。 TI 是否提供了任何培训文档,以使熟悉 TI-RTOS 线程功能(Task_*)的人熟悉如何使用 Pthreads 管理 RTOS? 或者在 TI-RTOS 2.21.00.06和新的 SimpleLink SDK for CC13x0之间有任何其他变化、它们似乎有自己的独立 TI-RTOS?
尊敬的 Eric:
作为新 SimpleLink SDK (CC13xx、CC26xx、MSP432和 CC32xx)的一部分、我们将所有驱动程序示例移至使用 POSIX。 这使得这些示例能够与 MSP432和 CC32xx 器件的 TI-RTOS 或 FreeRTOS 配合使用。 在用于1.30 SDK 的 SimpleLink Academy 中、我们举办了 POSIX 技术讲座。
话虽如此、如果您不想使用 POSIX、则不必使用它。 Task_xyz 等 API 仍然存在并且完全受支持。 内核示例仍然使用它们。
此外、驱动程序示例使用发布或调试配置工程、而不是应用程序中存在.cfg。 这样做是为了在 FreeRTOS 和 TI-RTOS 之间轻松移动。 它还提供了一种启用/禁用调试功能的简单方法。 您不必使用调试/发布内核项目。 您可以保持.cfg 的使用方式与使用它的方式相同。
这是否能回答您的问题?
Todd
尊敬的 Eric:
请查看用户指南。 有关如何管理/更改内核配置项目的说明。 简而言之 ,它是由 项目属性->build->Dependencies 设置控制的。
我们讨论了配置项目的名称:debug / release 或 instruments/non-instrumented 或????。 注意项目构建配置与内核调试/发布项目不同。 之后、我们意识到内核项目的命名可能会与项目构建配置混淆。 到那时、我们正处于更改(文档更新等)太困难的阶段。 您 可以将 应用程序项目 Debug Build Configuration 设置为使用调试内核 、并将 Build Configuration 设置为使用发布内核。 我们尝试这样做是为了获得更好的 OOB 体验、但我们所支持的示例生成基础设施不支持它。
请注意、您可以使自己成为自定义内核项目、并指向它(详细信息请参阅用户指南)。
您实际上会将.cfg 文件放入驱动程序示例中。 以下是 相关步骤
1.将.cfg 拖放到已导入的驱动程序示例工程中。 系统将提示您 继续。 注:相反不起作用。 您不能删除工程中的.cfg 并使其指向内核工程(这是单向的街道!)。 注2:项目图标上的小"CCS"文本会更改为小"RTSC"。
2. 删除相关项目设置。
3.添加平台(您可以从内核项目复制/粘贴)。 这在“项目属性”->“常规”->RTSC->“平台”中进行控制。
4.仍在“项目属性->常规->RTSC”选项卡中,取消选择所有产品,然后仅重新选择所需的产品(例如,用于 CC13x0版本1.30....的 SimpleLink)
5.现在您应该能够执行清理/构建...但我遇到构建错误!! 我将使用 SimpleLink CC2640R2 SDK v1.30.00.25...进行测试 我需要在星期一回到办公室时查看这一点。 我将添加一个新帖子、其中包含我缺少的步骤(或混乱)。
Todd
现在、我得到一个构建错误:
>>编译失败
gmake[1]:离开目录`C:/Users/spiri/workspace_v7/smac_npi/src/sysbios
库构建失败。
subdir_rules.mk:47:目标'Build-39353201-InProc '的配方失败
"C:/ti/simplelink_cc13x0_sdk_1_30_00_06/kernel/tirtos/packages/ti/sysbios/family/arm/cc26xx/Boot.c "、第42行:致命错误:无法打开源文件"driverlib/sys_ctrl.h"
1在编译"C:/ti/simplelink_cc13x0_sdk_1_30_00_06/kernel/tirtos/packages/ti/sysbios/family/arm/cc26xx/Boot.c "时检测到灾难性错误。
编译已终止。
gmake.1]:***[BIOS.obj]错误1.
gmake:***[C:/Users/spiri/workspace_v7/smac_npi/src/sysbios/sysbios.aem3 ]错误2.
错误:xdc.cfg.SourceDir:"c:/ti/xdctools_3_50_01_12_core/packages/xdc/cfg/SourceDir.xs,第209行:xdc.cfg.SourceDir:生成的源库生成失败:退出状态= 2:
该文件位于"C:\ti\simplelink_cc13x0_sdk_1_30_00_06\source\ti\devices\cc13x0\driverlib\sys_ctrl.h"下、因此我想不会包含该文件。
是的、我想我通过修改库存空示例来跳过枪-空示例无论如何都不会生成。
全新的 TI 驱动程序/TI-RTOS/CCS 编译器/空示例... 建筑炸弹:
****为项目 empty_CC1310_LAUNCHXL_tirtos_ccs 构建配置调试****
"C:\\ti\\ccsv7\\utils\\bin\\gmake"-k -j 4 all -O
gmake:***没有使目标'C:/Users/spiri/workspace_v7/tirtos_builds_CC1310_LAUNCHXL_release_ccs/Debug/configPkg/compiler.opt '的规则,'CC1310_LAUNCHXL.obj'需要。
gmake:***没有使目标'C:/Users/spiri/workspace_v7/tirtos_builds_CC1310_LAUNCHXL_release_ccs/Debug/configPkg/linker.cmd '成为'All'所需的规则。
gmake:目标"全部"不会由于错误而重新生成。
****构建完成****
尊敬的 Eric:
将驱动程序示例转换为包含自包含 RTSC 工程对我来说从未使用过新的 SimpleLink SDK、即使在更新所有路径和变量时也不会使用。 我通过从内核示例开始解决了这一问题。 这些仍然是独立的。
尊敬的 Eric:
现在回到办公室。 我忘记了一个步骤。 您需要确保同时复制“项目属性”->“生成”->“XDCtools”设置。 在我的案例中、我使用的是 CC2640R2示例(我的电路板很方便)、我忘记将"-DDEVICE_family=cc26x0r2 "设置复制到项目中、我将.cfg 放入该项目中。
查看您在其中获取.cfg 文件的 Project Properties->Build->XDCtools 设置并复制这些设置。 如果您有问题、请告诉我。
注意:由于步骤的数量、我们通常不提倡这种方法。 正如 Richard 提到 的、从所需的模板(项目中的.cfg 与2个单独的项目相比)开始并根据需要替换代码会更容易。
谢谢 Todd。 了解如何手动执行仍然是一件很好的事情。