+SYS/BIOS中的定时服务
时间:10-02
整理:3721RD
点击:
对于SYS/BIOS之前不敢碰触,总感觉涉及系统、任务、线程这些与操作系统相关的名字让人望而生畏!但是要使用C6655的网络功能,又想让DSP用起来更有“范儿”,打算硬着头皮来了解一下。借助创龙提供的例程由简入手,就选择了SYS/BIOS例程中的第一个入手。
SYS/BIOS中的定时服务内容描述见TI SYS/BIOS v6.35 Real-time Operating SystemUser's Guide(Literature Number: SPRUEX3M)的第5章节:Timing Services
涉及计时和时钟相关服务包括以下几个模块:
代码内容简短,但信息量庞大。
在CCS中同时打开BoardOS_Tronlong_TL665x_TL6678这个工程,在SYSBIOS_Clock工程中右键查看工程属性:
然后Add,并选择BoardOS_Tronlong_TL665x_TL6678这个工程
Void ClkMain(UArg arg)这个函数就是定时超时要执行的内容。
Clock_create(ClkMain, 5000, &ClkParams, NULL);这个函数定义了超时值为5000ms
整个例程核心代码就这么多,但是涉及了SYS/BIOS的好多知识,需要用户详细阅读SYS/BIOS手册第5章节来理解这些内容。
上图红色部分为时钟服务章节的描述。
SYS/BIOS中的定时服务内容描述见TI SYS/BIOS v6.35 Real-time Operating SystemUser's Guide(Literature Number: SPRUEX3M)的第5章节:Timing Services
涉及计时和时钟相关服务包括以下几个模块:
- The ti.sysbios.knl.Clock模块
- The ti.sysbios.hal.Timer 模块
- The xdc.runtime.Timestamp模块
代码内容简短,但信息量庞大。
- Int main()
- {
- // 取得芯片型号
- DSPChipType = DSPTypeGet();
- LEDInit();
- // 创建一个时钟(时间以系统时钟为基准)
- Clock_Params ClkParams;
- Clock_Params_init(&ClkParams);
- ClkParams.period = 1000; // 执行周期为 1000ms
- ClkParams.startFlag = TRUE;
- // 初始化为 5000ms 后执行
- Clock_create(ClkMain, 5000, &ClkParams, NULL);
- // 启动 SYS/BIOS 系统
- BIOS_start();
- return(0);
- }
在CCS中同时打开BoardOS_Tronlong_TL665x_TL6678这个工程,在SYSBIOS_Clock工程中右键查看工程属性:
然后Add,并选择BoardOS_Tronlong_TL665x_TL6678这个工程
Void ClkMain(UArg arg)这个函数就是定时超时要执行的内容。
Clock_create(ClkMain, 5000, &ClkParams, NULL);这个函数定义了超时值为5000ms
整个例程核心代码就这么多,但是涉及了SYS/BIOS的好多知识,需要用户详细阅读SYS/BIOS手册第5章节来理解这些内容。
上图红色部分为时钟服务章节的描述。