OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4093|回复: 7

ucos ii 中OSSched()函数在哪呀,在原子哥给的例程中搜不到

[复制链接]

12

主题

26

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2016-4-4
在线时间
25 小时
发表于 2016-7-22 19:41:16 | 显示全部楼层 |阅读模式
5金钱
ucos ii 中OSSched()函数在哪呀,在原子哥给的例程中搜不到。还有我正在学ucos ii 有什么stm32f4关于ucos ii的历程能给我学习学习吗

最佳答案

查看完整内容[请看2#楼]

由其他函数替代其功能: [mw_shl_code=c,true]PendSV_Handler CPSID I ; Prevent interruption during context switch MRS R0, PSP ; PSP is process stack pointer 如果在用PSP堆栈,则可以忽略保存寄存器,参考CM3权威中的双堆栈-白菜注 CBZ R0, PendSV_Handler_Nosave ; Skip re ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2016-7-22 19:41:17 | 显示全部楼层
由其他函数替代其功能:
[mw_shl_code=c,true]PendSV_Handler
    CPSID   I                                                   ; Prevent interruption during context switch
    MRS     R0, PSP                                             ; PSP is process stack pointer 如果在用PSP堆栈,则可以忽略保存寄存器,参考CM3权威中的双堆栈-白菜注
    CBZ     R0, PendSV_Handler_Nosave                                    ; Skip register save the first time
       
        ;Is the task using the FPU context? If so, push high vfp registers.
        TST         R14, #0x10
        IT                 EQ
        VSTMDBEQ R0!, {S16-S31}
       
    SUBS    R0, R0, #0x20                                       ; Save remaining regs r4-11 on process stack
    STM     R0, {R4-R11}

    LDR     R1, =OSTCBCur                                       ; OSTCBCur->OSTCBStkPtr = SP;
    LDR     R1, [R1]
    STR     R0, [R1]                                            ; R0 is SP of process being switched out

                                                                ; At this point, entire context of process has been saved
PendSV_Handler_Nosave
    PUSH    {R14}                                               ; Save LR exc_return value
    LDR     R0, =OSTaskSwHook                                   ; OSTaskSwHook();
    BLX     R0
    POP     {R14}

    LDR     R0, =OSPrioCur                                      ; OSPrioCur = OSPrioHighRdy;
    LDR     R1, =OSPrioHighRdy
    LDRB    R2, [R1]
    STRB    R2, [R0]

    LDR     R0, =OSTCBCur                                       ; OSTCBCur  = OSTCBHighRdy;
    LDR     R1, =OSTCBHighRdy
    LDR     R2, [R1]
    STR     R2, [R0]

    LDR     R0, [R2]                                            ; R0 is new process SP; SP = OSTCBHighRdy->OSTCBStkPtr;
    LDM     R0, {R4-R11}                                        ; Restore r4-11 from new process stack
    ADDS    R0, R0, #0x20

        ;Is the task using the FPU context? If so, push high vfp registers.
        TST         R14, #0x10
        IT                 EQ
        VLDMIAEQ R0!, {S16-S31}
               
        MSR     PSP, R0                                             ; Load PSP with new process SP
    ORR     LR, LR, #0x04                                       ; Ensure exception return uses process stack
    CPSIE   I
    BX      LR                                                  ; Exception return will restore remaining context
        NOP
    end  
               
               
               
               
                [/mw_shl_code]
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

12

主题

26

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2016-4-4
在线时间
25 小时
 楼主| 发表于 2016-7-22 20:19:01 | 显示全部楼层
找到了OS_Sched,原子哥的ucos源码和任哲书里面的不太一样呀,好多变量名都不同,有的函数实现也有些不同
回复

使用道具 举报

12

主题

26

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2016-4-4
在线时间
25 小时
 楼主| 发表于 2016-7-22 20:25:46 | 显示全部楼层
2.png 3.png OSTaskCreate的代码不一样呀
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2016-7-22 21:00:55 | 显示全部楼层
任哲的书用的ucosii都不知道是哪个老古董版本的,例程里面用的都是最新版本的ucosii。
开往春天的手扶拖拉机
回复

使用道具 举报

12

主题

26

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2016-4-4
在线时间
25 小时
 楼主| 发表于 2016-7-23 21:20:27 | 显示全部楼层
谢谢你们的回答
回复

使用道具 举报

15

主题

66

帖子

0

精华

初级会员

Rank: 2

积分
190
金钱
190
注册时间
2017-5-18
在线时间
35 小时
发表于 2017-7-19 18:45:14 | 显示全部楼层
zuozhongkai 发表于 2016-7-22 21:00
任哲的书用的ucosii都不知道是哪个老古董版本的,例程里面用的都是最新版本的ucosii。

请问被哪个函数给替代了呢?
回复

使用道具 举报

15

主题

66

帖子

0

精华

初级会员

Rank: 2

积分
190
金钱
190
注册时间
2017-5-18
在线时间
35 小时
发表于 2017-7-19 18:51:34 | 显示全部楼层
晕  找到了,加了个下划线 变成了OS_Sched
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 16:39

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表