工具/软件:TI-RTOS
您好!
开箱即用、由 CCS 和 SYS/BIOS TI-RTOS 生成的"新项目"代码创建一个"任务"。 "Task_sleep (10)"。 而不会返回。 代码就是这样:
/*
=== main.c ======
*/
#include
#include
#include
#include
#include
/*
=== taskFxn ====
*/
void taskFxn (UArg a0、UArg A1)
{
system_printf ("enter taskFxn ()\n");
Task_sleep (10);
system_printf ("exit taskFxn ()\n"\});
system_flush();/*强制 SysMin 输出到控制台*/
}
/*
=== main ====
*/
int main()
{
Task_Handle 任务;
ERROR_Block EB;
system_printf ("enter main()\n");
ERROR_INIT (&EB);
任务= Task_create (taskFxn、NULL、&EB);
if (task =NULL){
System_printf ("Task_create() failed!\n");
BIOS_exit (0);
}
BIOS_start();/*不返回*/
返回(0);
}
我有三 个不同的项目、它们都是从 CCS 7.2自动生成的、并使用 GNU 4.0.3、GNU 6.3.1或 TI 16.9mm 构建。 其中一个不起作用。 它们使用 SYS/BIOS 6.46.5.55
我在"Task_sleep (10)"之后放置一个断点、但它从未达到。 当我在"Task_sleep (10)"之前放置一个断点并单步进入它时、它永远不会返回。
我看了 BeagleBone Black 的"闪烁"示例。 它不使用该调用。 它使用"while (...) "循环延迟。 我想、创建该示例的任何人都必须知道该示例已损坏。
4年前,我的搜索使人们产生了问题。 其中任何一项似乎都不适用于当前环境。
(所有这些都是在我发现我必须为 USB 导入几个 StarterWare 项目时开始 的,因为它们已从新的 SYS/BIOS TI-RTOS 中删除。 深入到这里,有一个"Sysdelay()函数,它也不起作用。 我深入了解了代码,看到它正在使用 Timer7,但尽管所有内容都配置正确,但中断永远不会触发。 )
是否有什么关于"开箱即用"样片的想法? 或者更重要的是、为什么这个简单的函数被破坏? 我会发布我的整个项目、但任何人只需创建一 个新的"典型""Sys/BIOS"新项目即可复制它。
-CSW