硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3823|回复: 1
收起左侧

uC/OS-III移植FPU问题

[复制链接]

1

主题

0

回帖

3

积分

新手上路

积分
3
发表于 2015-8-22 17:03:46 | 显示全部楼层 |阅读模式
使用STM32F429,按照pdf教程修改fpu部分,下载源码使用的V3.04)

为了验证是否我改错了,再次下载了STM32F7的官网example(其使用的V3.05)
发现在下面加入pdf中的语句,并不正常工作(PDF中相关部分均已修改过)
OS_CPU_PendSVHandler
    CPSID   I                                                   ; Prevent interruption during context switch
    MRS     R0, PSP                                             ; PSP is process stack pointer
    STMFD   R0!, {R4-R11}                                       ; Save remaining regs r4-11 on process stack

    MOV32   R5, OSTCBCurPtr                                     ; OSTCBCurPtr->OSTCBStkPtr = SP;
    LDR     R6, [R5]
    STR     R0, [R6]                                            ; R0 is SP of process being switched out

                                                                ; At this point, entire context of process has been saved
    MOV     R4, LR                                              ; Save LR exc_return value
    BL      OSTaskSwHook                                        ; OSTaskSwHook();

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

    MOV32   R1, OSTCBHighRdyPtr                                 ; OSTCBCurPtr = OSTCBHighRdyPtr;
    LDR     R2, [R1]
    STR     R2, [R5]

    ORR     LR, R4, #0xF4                                       ; Ensure exception return uses process stack
    LDR     R0, [R2]                                            ; R0 is new process SP; SP = OSTCBHighRdyPtr->StkPtr;
    LDMFD   R0!, {R4-R11}                                       ; Restore r4-11 from new process stack
    MSR     PSP, R0                                             ; Load PSP with new process SP
    CPSIE   I
    BX      LR                                                  ; Exception return will restore remaining context

    END

版主可以自己试一试,看看新版本的修改是否正常,谢谢
回复

使用道具 举报

680

主题

3479

回帖

5544

积分

论坛元老

积分
5544
发表于 2015-8-27 08:54:06 | 显示全部楼层
官网的sstm32f429移植的ucos-iii 貌似没有对fpu进行处理或者处理不当,造成使用硬件fpu不正常,

你可以参考这个
http://www.amobbs.com/forum.php? ... p;extra=#pid8737946
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-9 22:05 , Processed in 0.350330 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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