初级会员
- 积分
- 98
- 金钱
- 98
- 注册时间
- 2015-2-16
- 在线时间
- 14 小时
|
1金钱
我看到论坛上有人试过直接把地址直接给任务块 但是我不懂到底是每一个任务块都要指向CCM地址 还是只要在开始的任务块指向0X10000000就可以 然后下面任务块就会在此基础上地址递增???
我是像下面的方式写的 大家看看这样会有问题吗?
#define OSTCBSize sizeof(OS_TCB)/sizeof(CPU_STK)+1 //TCB的字节大小应该是4的整数倍
//任务优先级
#define START_TASK_PRIO 3
//任务堆栈大小
#define START_STK_SIZE 1024
//任务控制块
OS_TCB StartTaskTCB __attribute__((at(0X10000000)));
//任务堆栈
static CPU_STK START_TASK_STK[START_STK_SIZE];
//任务函数
void start_task(void *p_arg);
//TOUCH任务
//设置任务优先级
#define TOUCH_TASK_PRIO 4
//任务堆栈大小
#define TOUCH_STK_SIZE 512
//任务控制块
OS_TCB TouchTaskTCB __attribute__((at(0X100007F0)));
//任务堆栈
static CPU_STK TOUCH_TASK_STK[TOUCH_STK_SIZE];
//touch任务
void touch_task(void *p_arg);
//LED0任务
//设置任务优先级
#define LED0_TASK_PRIO 5
//任务堆栈大小
#define LED0_STK_SIZE 512
//任务控制块
OS_TCB Led0TaskTCB __attribute__((at(0X10001FF0)));
//任务堆栈
static CPU_STK LED0_TASK_STK[LED0_STK_SIZE];
//led0任务
void led0_task(void *p_arg);
//EMWINDEMO任务
//设置任务优先级
#define EMWINDEMO_TASK_PRIO 6
//任务堆栈大小
#define EMWINDEMO_STK_SIZE 6000
//任务控制块
OS_TCB EmwindemoTaskTCB __attribute__((at(0X10003FF0)));
//任务堆栈
static CPU_STK EMWINDEMO_TASK_STK[EMWINDEMO_STK_SIZE];
//emwindemo_task任务
void emwindemo_task(void *p_arg);
|
|