⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 inittaskstk.s

📁 Rabbit 32Bit RTOS源代码
💻 S
字号:
;*********************************************************************
;*                  Copyright (c) 2011-2012,李士伟
;*                    All rights reserved.
;*文 件 名:InitTaskStk.s
;*描    述:任务堆栈初始化
;*当前版本:V1.00
;*作    者:李士伟
;*创建日期:2011.12.29
;*********************************************************************

    EXPORT  __OS_InitTaskStk

    CODE32
    PRESERVE8
    AREA    InitStk, CODE, READONLY
;*********************************************************************
;*函 数 名:__OS_InitTaskStk
;*描    述:初始化任务栈
;*输入参数:R0: 任务主函数指针
;           R1: 任务主函数参数
;           R2: 任务栈底指针
;           R3: 任务运行模式CPSR(用户或系统)
;*输出参数:无
;*返 回 值:R0任务栈顶指针
;*注    意:无
;*********************************************************************
__OS_InitTaskStk
    ; 建立任务环境,使用满递减堆栈
    STR    R0,   [R2, #-4]!     ; PC  = task main function pointer
    STR    R0,   [R2, #-4]!     ; LR  = task main function pointer
    MOV    R0,   #0x0
    STR    R0,   [R2, #-4]!     ; R12 = 0 
    STR    R0,   [R2, #-4]!     ; R11 = 0 
    STR    R0,   [R2, #-4]!     ; R10 = 0
    STR    R0,   [R2, #-4]!     ; R9  = 0
    STR    R0,   [R2, #-4]!     ; R8  = 0
    STR    R0,   [R2, #-4]!     ; R7  = 0
    STR    R0,   [R2, #-4]!     ; R6  = 0
    STR    R0,   [R2, #-4]!     ; R5  = 0
    STR    R0,   [R2, #-4]!     ; R4  = 0
    STR    R0,   [R2, #-4]!     ; R3  = 0 
    STR    R0,   [R2, #-4]!     ; R2  = 0
    STR    R0,   [R2, #-4]!     ; R1  = 0
    STR    R1,   [R2, #-4]!     ; R0  = 主函数参数
    STR    R3,   [R2, #-4]!     ; 保存 CPSR
    STR    R0,   [R2, #-4]!     ; OSEnterSum  = 0
    MOV    R0,    R2 
    BX     LR

    END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -