经 CosyOS-III Cube 升级安装之后的系统构建

1、系统配置
   CosyOS-配置 / syscfg.h -> 系统配置>>标准头文件，应首先被正确定义。
   而后，在 C51、A51 标签页中，可能需要添加标准头文件的包含路径。

2、MCU配置
   CosyOS-配置 / mcucfg_8051.h -> 系统时钟频率，需要正确定义。

3、main函数（参照例程 demo_main.c）
   初始化 PendSV中断（必须）
   配置 DEBUG（可选）
   启动 CosyOS（必须）

4、系统中断（参照例程 demo_int.c）
   屏蔽 定时器0中断原函数（必须）
   屏蔽 PendSV中断原函数（必须）

5、DEBUG（可选，参照例程 demo_debug.c）

不出意外的话，您的项目现在已经可以正常编译了。

但在未来，仍需重点关注如下内容：

1、系统配置
   CosyOS-配置 / syscfg.h [Keil支持图形]

2、MCU配置
   CosyOS-配置 / mcucfg_8051.h [Keil支持图形]

3、启动文件配置
   CosyOS-移植 / startup_8051.s [Keil支持图形]
   启动文件关乎硬件栈配置、内存零安装等重要功能，但往往却被用户忽略。

4、移植文件配置
   CosyOS-移植 / port_8051s.s
   其中的用户定义部分，与PendSV中断配置、用户自定义任务切换现场保护
   等功能息息相关，在未来可能需要适当调整。

5、编译器配置
   Cube 已经为您初步优化了编译器配置，并配置为 NOOVERLAY方案。
   如果您要自行调整编译器配置，应注意以下事项：
   （1）内存模型，必须选择Large模型
   （2）优化级别，可选级别：4~8级，推荐级别：8级
   CosyOS for 8051，有如下三种编译方案供您选择：
   （1）NOOVERLAY
   （2）OVERLAY-虚拟中断
   （3）OVERLAY-手动修改调用树
   其中 NOOVERLAY方案，不仅具有良好的易用性，其可靠性也是最高的，
   优先推荐采用。
   当内存资源紧张时再考虑 OVERLAY方案，以节约内存。建议只有精通
   C51的高级用户考虑OVERLAY方案，以免对系统的可靠性造成不利影响，
   因为C51对函数指针的调用树及覆盖分析有可能是错误的。
   CosyOS内核中，通过函数指针间接调用并且调用树是错误的具体包括：
   ----------------------------------------------------------------
    函数类别     | 函数名称                          | 真实调用处
   --------------+-----------------------------------+-------------
    定时中断钩子 | u_timint_##tmid                   | SysTick中断
   --------------+-----------------------------------+-------------
    定时查询钩子 | u_timqry_##tmid                   | SysTick中断
   --------------+-----------------------------------+-------------
    定时查询事件 | u_timqryevent_##tmid              | SysTick中断
   --------------------------------------------------+-------------
    通过挂起服务调用（iPendSVC）间接调用的自定义函数 | PendSV 中断
   ----------------------------------------------------------------
   这些函数在覆盖地图中都是被 ?C_INITSEG 调用的，如果采用覆盖方案，
   覆盖地图中应逐一查看这些函数，对于使用了内存的应手动修正调用树或
   移除覆盖分析。

-------------------------------------------------------------------

其它注意事项

1、默认情况下，任务栈SIZE不允许大于255。只有在启用了XBPSTACK的任务切换
   现场保护时，任务栈SIZE才允许大于255，最大可为65535。
2、CosyOS for 8051，原生仅适配 Keil C51 编译器，如果您使用其它编译器，
   应注意以下事项：
   （1）CosyOS 内核中需要 __C51__ 关键字做条件编译，移植汇编文件中需要
        __A51__ 关键字做条件编译，如果编译器不支持该关键字可自行添加。
   （2）CosyOS 内核中会用到 #pragma NOAREGS 来实现相对寄存器访问，如果
        编译器不支持应设法等效替换。
   （3）已知某些编译器不支持 .s 汇编文件，可将移植文件中的 .s 文件更名为
        .A51，如 port_8051s.s 更名为 port_8051s.A51。
   （4）其它可能的、未知的兼容性问题。


