1 /* 2 * Copyright (c) 2009-2022 Huawei Technologies Co., Ltd. All rights reserved. 3 * 4 * UniProton is licensed under Mulan PSL v2. 5 * You can use this software according to the terms and conditions of the Mulan PSL v2. 6 * You may obtain a copy of Mulan PSL v2 at: 7 * http://license.coscl.org.cn/MulanPSL2 8 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, 9 * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, 10 * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. 11 * See the Mulan PSL v2 for more details. 12 * Create: 2009-12-22 13 * Description: cpu模块外部头文件。 14 */ 15 #ifndef ARMV7_M_TASK_H 16 #define ARMV7_M_TASK_H 17 18 #include "prt_typedef.h" 19 20 #ifdef __cplusplus 21 #if __cplusplus 22 extern "C" { 23 #endif /* __cpluscplus */ 24 #endif /* __cpluscplus */ 25 26 /* 27 * 任务上下文的结构体定义。 28 */ 29 struct TskContext { 30 U32 r4; 31 U32 r5; 32 U32 r6; 33 U32 r7; 34 U32 r8; 35 U32 r9; 36 U32 r10; 37 U32 r11; 38 U32 basePri; 39 U32 excReturn; 40 /* 41 * 在有保存FPU寄存器, 42 * 需要用这个顺序来看内存 43 */ 44 U32 s16; 45 U32 s17; 46 U32 s18; 47 U32 s19; 48 U32 s20; 49 U32 s21; 50 U32 s22; 51 U32 s23; 52 U32 s24; 53 U32 s25; 54 U32 s26; 55 U32 s27; 56 U32 s28; 57 U32 s29; 58 U32 s30; 59 U32 s31; 60 U32 r0; 61 U32 r1; 62 U32 r2; 63 U32 r3; 64 U32 r12; 65 U32 lr; 66 U32 pc; 67 U32 xpsr; 68 }; 69 70 #ifdef __cplusplus 71 #if __cplusplus 72 } 73 #endif /* __cpluscplus */ 74 #endif /* __cpluscplus */ 75 76 #endif /* ARMV7_M_TASK_H */ 77