创龙DSP6748开发板SYS/BIOS的LED闪烁-第2篇
1. 作为1个456MHz的处理器,不跑个操作系统说不过去,直接打开工程\Demo\SYSBIOS\Application\GPIO_LED,主函数比较简单
// 创建任务 Task_create(taskMain, NULL, NULL); // 启动 SYS/BIOS 系统 BIOS_start();
2. 把重点放在task的C文件在哪里?有哪些函数,熟悉一下D:\ti\bios_6_33_06_50\packages\ti\sysbios\knl,以前安装C6657的BIOS的包,里面有代码,其中knl就是内核部分,当然现在不清楚两个BIOS安装包能不能通用,这个是CCS自动搜索到的,创龙提供的版本高一些tools /bios_setupwin32_6_37_03_30.exe
3. 现在不清楚两个安装包的区别,前一个主要是C6000系列的函数库,包括NDK网络函数库等,也包含BIOS。第二个就是只有BISO库。
4. 烧写测试一下,编译出了一个问题,应该是不能解析xdc.platform.IPlatform.peripherals,难道是XDC的版本太低,或者BIOS版本低?
js: "D:/ti/xdctools_3_23_04_60/packages/xdc/tools/Cmdr.xs", line 51: Error: xdc.tools.configuro: InternalError:
tl.dsp.evm6748: can't resolve name xdc.platform.IPlatform.peripherals
5. 还有一个问题,说是找不到这个包,TI的开发工具,RTSC里面,希望用包的概念,在创龙的文件夹可以找到这个文件\Demo\SYSBIOS\Platform\tl\dsp\evm6748,怀疑是安装第3步的时候,也会把这个文件安装到CCS的路径,这样CCS就能找到。看了一下帖子说是把tl.dsp.evm6748换成ti.platforms.evm6748可以编译过去,我估计ti.platforms.evm6748在目录里面可以搜到
js: "D:/ti/ccsv61/xdctools_3_32_00_06_core/packages/xdc/tools/Cmdr.xs", line 51: Error: xdc.tools.configuro: Error: Can't find the platform package 'tl.dsp.evm6748' along the path
6. 在工程属性里面,安装了多个XDCtools经过研究发现,后缀带_core的不带的区别,带_core的话就是只有核心,不包括Platform,不带_core的话就是核心加上Platform。
7. 搜索目录去对比一下,所以我们要去选择XDCtools的3.23.04.60版本,才能找到Platform,然后编译通过,同时需要注意的是选择版本后ti.platforms.evm6748是下拉框选的,不是手动输入的,因为下拉框有的话,代表CCS检索到了ti.platforms.evm6748这个包。
8. 重新编译工程,顺利通过,不过现在的问题是为什么创龙的板子是tl.dsp.evm6748?
9. 连接目标开发板,下载.out文件。程序运行。
10. 下一个研究的重点,配置文件.cfg,使用RTSC的话,必须至少要有1个配置文件。配置文件很重要,后面会常用到,值得好好研究。
/* 系统栈(ISR 及 Swi) */ Program.stack = 10240; /****************************************************************************/ /* */ /* BIOS 配置 */ /* */ /****************************************************************************/ var BIOS = xdc.useModule('ti.sysbios.BIOS'); BIOS.libType = BIOS.LibType_Custom; /****************************************************************************/ /* */ /* 内存配置 */ /* */ /****************************************************************************/ var Memory = xdc.useModule('xdc.runtime.Memory') Memory.defaultHeapSize = 16 * 1024 * 1024; /****************************************************************************/ /* */ /* 线程配置 */ /* */ /****************************************************************************/ var Task = xdc.useModule('ti.sysbios.knl.Task'); var Idle = xdc.useModule('ti.sysbios.knl.Idle');
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App