为了方便嵌入式操作系统的跨平台移植,我们先为操作系统定义一些必要的数据类型,同时这些数据类型要尽量避免与用户应用程序的数据类型相冲突。
在此我们给系统定义基本的数据类型如下:
- typedef unsigned char uOS8_t;
- typedef charsOS8_t;
- typedef unsigned short uOS16_t;
- typedef signed short sOS16_t;
- typedef unsigned int uOS32_t;
- typedef signed int sOS32_t;
- typedefuOS32_t uOSStack_t;
- typedefsOS32_t sOSBase_t;
- typedefuOS32_t uOSBase_t;
- typedefuOS32_t uOSTick_t;
数据类型中的下划线 _t 代表 Type 下面我们定义一些和具体平台相关的一些参数,也就是和 STM32F1 相关的参数因为是和平台相关的,我们定义相关参数的前缀为 FIT,代表需要根据不同的芯片类型进行调整。用此前缀也便于提醒用户,在进行系统移植时,一定要注意带有前缀 fit 相关的参数、变量和函数;上述宏定义的参数中 FITSTACK_GROWTH 代表栈增长的方向, 我们用 - 1 代表从高位置向低位置增长,用 1 代表从低位置向高位值增长;宏定义参数 FITBYTE_ALIGNMENT 代表数据对齐方式;在 Cortex-M3 系列的 STM32F1 芯片中,栈增长方向为从高到低,我们定义为 - 1,芯片为 32 位宽的,我们定义 8 字节对齐;这两个参数对嵌入式操作系统的内存布局影响非常大,后面我们会具体分析!就爱阅读 www.92to.com 网友整理上传, 为您提供最全的知识大全, 期待您的分享,转载请注明出处。
来源: http://www.92to.com/bangong/2017/02-27/17760362.html