工具/软件:TI-RTOS
大家好、我有一个在 OMAPL138 LCDK 上工作的基本 IPC 示例。
SDK 版本为 v4.0.0.4、Linux 版本为4.9.28
我正在尝试修改此示例,这样 smain 函数就不使用 TI-RTOS 任务。 这是可行的吗? 因为我无法使其正常工作??
/*
*==== main ====
*
int main (int argc、Char* argv[])
{
ERROR_Block EB;
Task_Params taskParams;
log_print0 (Diags_entry、"->main:");
/*必须在使用错误块之前对其进行初始化*/
ERROR_INIT (&EB);
/*创建主线程(BIOS 上的 main 中未启用中断)*/
Task_Params_init (&taskParams);
taskParams.instance->name ="smain";
taskParams.arg0 =(UArg)argc;
taskParams.arg1 =(UArg)argv;
taskParams.STACKSIZE = 0x1000;
Task_create (smain、&taskParams、&EB);
if (Error_check (&EB)){
system_abort ("main: Failed to create application startup thread");
}
/*启动调度程序,这永远不会返回*/
BIOS_start();
/*永远不应该来这里*/
log_print0 (Diags_exit、"<- main:");
返回(0);
}
/*
*==== smain ====
*
空 smain (UARg arg0、UARg arg1)
{
INT STATUS = 0;
ERROR_Block EB;
bool 运行= true;
log_print0 (Diags_entry | Diags_info、"->smain:");
ERROR_INIT (&EB);
/*初始化模块*/
SERVER_INIT();
/*打开 Diags_info trace */
diags_setMask ("Server+F");
/*永久循环*/
while (running){
/*开始服务器阶段*/
/*服务器设置阶段*/
status = Server_create();
如果(状态< 0){
离开;
}
/*服务器执行阶段*/
status = Server_exec();
如果(状态< 0){
离开;
}
/*服务器关闭阶段*/
status = Server_delete ();
如果(状态< 0){
离开;
}
/*终端服务器阶段*/
}/*(运行时)*/
/*完成模块*/
SERVER_EXIT();
休假:
Log_Print1 (Diags_exit、"<- smain:%d"、(IArg)状态);
返回;
}