一. 导入 LiteOS-M 源代码
1.下载LiteOS-M 源代码
2.在Keil 5.0中打开项目,根据下面图示将源码导入对应路径下
二. 环境配置
1.设置宏定义,如系统版本、处理器类型等。
2.配置编译路径,如头文件、库文件等的搜索路径。
3.保存环境配置,使配置生效。
三. 编译
编译代码,以确保所有代码都满足编译要求并解决任何编译错误。通过详细检查编译错误消息并在代码中进行修复,以确保编译通过。
kernel\arch\arm\cortex-m4\iar\los\\\\\\\\_exc.S
32 PRESERVE8
33 SECTION .text: CODE(2)
34 THUMB
35 EXPORT HalExcNMI
36 EXPORT HalExcHardFault
37 EXPORT HalExcMemFault
38 EXPORT HalExcBusFault
39 EXPORT HalExcUsageFault
40 EXPORT HalExcSvcCall
Keil 中的汇编程序不支持“SECTION”指令。 “SECTION”指令通常用于 GNU 汇编器 (GAS),但 Keil 使用不支持此指令的不同汇编器。
将 "SECTION"指令替换为"AREA"指令
AREA MyCode, CODE, READONLY
Re-build 出现如下错误
错误提示"Instruction not supported on targeted CPU"通常表示代码中使用的指令在选定的 CPU 上不受支持。
要解决此错误,可以尝试以下步骤:
- 验证 Keil 项目中是否选择了正确的 CPU。打开 Project 菜单,选择 Options for Target,然后选择 Devices 选项卡。确保选择了正确的 CPU。
- 检查有问题的指令。确保所选 CPU 支持该指令。您可以参考处理器的参考手册以获取受支持的指令列表。
- 如果该指令不受支持,可能需要使用 CPU 支持的等效指令替换它。
- 重新构建项目,检查错误是否已经解决。
kernel\arch\arm\cortex-m4\iar\los\\\\\\\_dispatch.S",
line 122: BLX OsSchedTaskSwitch
为 "BX" 指令在 GD32F427v CPU 中受支持。替换后的代码应该是:
LDR R0, =OsSchedTaskSwitch
BX R0
使用Keil 5.0编译LiteOS-M代码,生成固件文件,并烧录到开发板
五. 测试
进行系统测试,以确保LiteOS-M在GD32开发板上正常运行,
LED 闪烁,至此移植完成!