主题中讨论的其他器件:CC2640
工具/软件:TI-RTOS
您好、先生、
我遇到了一个奇怪的问题。 当我在用户定义的结构中对 Task_Structt 进行换行时、ROV 将不会显示任务的信息。
下面是我在 simplelink_cc2640r2_sdk_1_30_00_25中的原始示例 multi_role 中所做的操作:
struct my_task{
int task_id;
INT 优先级;
uint8_t *name;
uint32_t stack_size;
uint8_t *任务堆栈;
Task_Struct* task_obj;
};
静态结构 my_task myMultiRoleTask;
void multi_role_createTask (void)
{
Task_Params taskParams;
//配置任务
Task_Params_init (&taskParams);
taskParams.stack = mrTaskStack;
taskParams.STACKSIZE = MR_TASK_STACK_SIZE;
taskParams.priority = MR_task_priority;
myMultiRoleTask.name ="多角色";
myMultiRoleTask.task_id = MR_task_priority;
myMultiRoleTask.priority = MR_task_priority;
myMultiRoleTask.stack_size = MR_task_stack_size;
myMultiRoleTask.task_obj =&mrTask;
Task_constructure(myMultiRoleTask.task_obj、multi_role_taskFxn、&taskParams、NULL);
}
步骤1:
当 cc2640在 myMultiRoleTask.task_obj =&mrTask 之前停止时 、一切都正常
但是、当执行该句子时、ROV 中存在错误
如果我使用单个 Task_StructmrTask 而不 是将其包装在结构中, 则不会出现错误:
有人能告诉我为什么?
我猜 这个错误与数据访问对齐有关系(ROM 中的接口都经过了大量优化、所以常见的4字节对齐访问可能会导致 异常)?


