共2条
1/1 1 跳转至页

问
各位大哥,能不能写一下UCOS的列子EX1_ARM的程序工作流程呀,我现在把它在LPC2104板上运行,我的感觉是
BL InitStack ;初始化堆栈
BL TargetResetInit ;目标板基本初始化
;跳转到c语言入口
B __main
进入C语言的main()
PC_DispClrScr(DISP_FGND_WHITE + DISP_BGND_BLACK);
OSInit();
PC_DOSSaveReturn();
RandomSem = OSSemCreate(1);
OSTaskCreate(TaskStart, (void *)0, &TaskStartStk[TASK_STK_SIZE - 1], 0);
OSStart();
在这些都运行完了后只就在:
void OS_TaskIdle (void *pdata){
for (;;) {
OS_ENTER_CRITICAL();//运行到这里就产生
//softwareInterrupt中断
OSIdleCtr++;
OS_EXIT_CRITICAL();//运行到这里就产生
//SoftwareInterrupt中断
OSTaskIdleHook();
}
}
就在这个空函数里转,没做什么其它的事情,好像不是这样的吧!应该其它还有任务吧?
不好意思,刚学UCOS真是没有看懂,望高手指点一下!谢谢!! 答 1: re.您在TaskStart任务中做什么呢?如果在该任务中没有事情要处理,那就执行空闲任务了。
BL InitStack ;初始化堆栈
BL TargetResetInit ;目标板基本初始化
;跳转到c语言入口
B __main
进入C语言的main()
PC_DispClrScr(DISP_FGND_WHITE + DISP_BGND_BLACK);
OSInit();
PC_DOSSaveReturn();
RandomSem = OSSemCreate(1);
OSTaskCreate(TaskStart, (void *)0, &TaskStartStk[TASK_STK_SIZE - 1], 0);
OSStart();
在这些都运行完了后只就在:
void OS_TaskIdle (void *pdata){
for (;;) {
OS_ENTER_CRITICAL();//运行到这里就产生
//softwareInterrupt中断
OSIdleCtr++;
OS_EXIT_CRITICAL();//运行到这里就产生
//SoftwareInterrupt中断
OSTaskIdleHook();
}
}
就在这个空函数里转,没做什么其它的事情,好像不是这样的吧!应该其它还有任务吧?
不好意思,刚学UCOS真是没有看懂,望高手指点一下!谢谢!! 答 1: re.您在TaskStart任务中做什么呢?如果在该任务中没有事情要处理,那就执行空闲任务了。
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【EEPW电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
“我踩过的那些坑”主题活动——第001期 | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
【我踩过的那些坑】结构堵孔导致的喇叭无声问题被打赏50分 | |
【我踩过的那些坑】分享一下调试一款AD芯片的遇到的“坑”被打赏50分 | |
电流检测模块MAX4080S被打赏10分 | |
【我踩过的那些坑】calloc和malloc错误使用导致跑飞问题排查被打赏50分 | |
多组DCTODC电源方案被打赏50分 | |
【我踩过的那些坑】STM32cubeMX软件的使用过程中的“坑”被打赏50分 | |
新手必看!C语言精华知识:表驱动法被打赏50分 | |
【我踩过的那些坑】杜绑线问题被打赏50分 | |
【我踩过的那些坑】STM32的硬件通讯调试过程的“坑”被打赏50分 | |
【我踩过的那些坑】晶振使用的问题被打赏100分 |