完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
将发烧友教程里STemWin带UCOSIII移植实验移植到FreeRTOS上,出现以下错误。#define MEM1_MAX_SIZE 35*1024
已经使用了最小库,优化水平也调到了3 堆栈大小移植过程中没有变化,不知道为什么会出现这种问题。 main.c如下 [C] 纯文本查看 复制代码 //任务优先级#define START_TASK_PRIO1//任务堆栈大小#define START_STK_SIZE 128 //任务句柄TaskHandle_t StartTask_Handler;//任务函数void start_task(void *pvParameters);//任务优先级#define LED0_TASK_PRIO2//任务堆栈大小#define LED0_STK_SIZE 50 //任务句柄TaskHandle_t LED0Task_Handler;//任务函数void led0_task(void *pvParameters);//任务优先级#define LED1_TASK_PRIO3//任务堆栈大小#define LED1_STK_SIZE 50 //任务句柄TaskHandle_t LED1Task_Handler;//任务函数void led1_task(void *pvParameters);//任务优先级#define demo_TASK_PRIO5//任务堆栈大小#define demo_STK_SIZE 128 //任务句柄TaskHandle_t DEMOTask_Handler;//任务函数void emwindemo_task(void *pvParameters);//任务优先级#define touch_TASK_PRIO4//任务堆栈大小#define touch_STK_SIZE 128 //任务句柄TaskHandle_t TOUCHTask_Handler;//任务函数void touch_task(void *pvParameters);int main(void){ delay_init(); //延时函数初始化 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级uart_init(115200); //串口初始化为115200 LED_Init(); //LED端口初始化TFTLCD_Init();//LCD初始化KEY_Init(); //按键初始化 TP_Init();//触摸屏初始化FSMC_SRAM_Init();//初始化SRAMmy_mem_init(SRAMIN); //初始化内部内存池my_mem_init(SRAMEX); //初始化外部内存池RCC_AHBPeriphClockCmd(RCC_AHBPeriph_CRC,ENABLE);//使能CRC时钟,否则STemWin不能使用 WM_SetCreateFlags(WM_CF_MEMDEV);GUI_Init(); //STemWin初始化 xTaskCreate((TaskFunction_t )start_task, //任务函数 (const char* )"start_task", //任务名称 (uint16_t )START_STK_SIZE, //任务堆栈大小 (void* )NULL, //传递给任务函数的参数 (UBaseType_t )START_TASK_PRIO, //任务优先级 (TaskHandle_t* )&StartTask_Handler); //任务句柄 vTaskStartScheduler(); //开启任务调度}void start_task(void *pvParameters){ taskENTER_CRITICAL(); //进入临界区 //创建LED0任务 xTaskCreate((TaskFunction_t )led0_task, (const char* )"led0_task", (uint16_t )LED0_STK_SIZE, (void* )NULL, (UBaseType_t )LED0_TASK_PRIO, (TaskHandle_t* )&LED0Task_Handler); //创建LED1任务 xTaskCreate((TaskFunction_t )led1_task, (const char* )"led1_task", (uint16_t )LED1_STK_SIZE, (void* )NULL, (UBaseType_t )LED1_TASK_PRIO, (TaskHandle_t* )&LED1Task_Handler); //STemWin Demo任务 xTaskCreate((TaskFunction_t )emwindemo_task, (const char* )"emwindemo_task", (uint16_t )demo_STK_SIZE, (void* )NULL, (UBaseType_t )demo_TASK_PRIO, (TaskHandle_t* )&DEMOTask_Handler); //触摸屏任务 xTaskCreate((TaskFunction_t )touch_task, (const char* )"touch_task", (uint16_t )touch_STK_SIZE, (void* )NULL, (UBaseType_t )touch_TASK_PRIO, (TaskHandle_t* )&TOUCHTask_Handler); vTaskDelete(StartTask_Handler); //删除开始任务 taskEXIT_CRITICAL(); //退出临界区}void emwindemo_task(void *pvParameters){while(1){GUIDEMO_Main(); }}void touch_task(void *pvParameters){while(1){GUI_TOUCH_Exec();vTaskDelay(5);//延时5ms}}//LED0任务函数 void led0_task(void *pvParameters){ while(1) { LED0=~LED0; vTaskDelay(500); }} //LED1任务函数void led1_task(void *pvParameters){ while(1) { LED1=0; vTaskDelay(200); LED1=1; vTaskDelay(800); }} |
|
相关推荐
1个回答
|
|
求大神点拨
|
|
|
|
只有小组成员才能发言,加入小组>>
731 浏览 0 评论
1131 浏览 1 评论
2512 浏览 5 评论
2846 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2691 浏览 6 评论
683浏览 7评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
995浏览 3评论
197浏览 2评论
如果mmcblk1boot0启动失败可不可以从mmcblk1boot1启动呢
188浏览 2评论
用核心板GPIO直接控制网卡1的复位信号是否会导致液晶屏初始化失败?
230浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-3 01:04 , Processed in 0.932411 second(s), Total 51, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号