以下步骤均在ubuntu20.04下实现
如果要研究一个系统,首先要先让这个系统跑起来。所以我们的第一步是将这个系统移植到适当的平台上,大家也可以自行移植到自己手头上的开发板。
由于本人懒得弄开发板bootloader,加上调试也不太方便,就先在qemu上做实验。
先安装交叉编译链:
sudo apt-get install gcc-arm-linux-gnueabi
再安装qemu、gdb-multiarch:
sudo apt install qemu-system-arm
sudo apt install gdb-multiarch
基本上环境就搭建好了。现在下载μCOS-II源码。我的源码是直接在光盘拷贝出来的古董源码,2.52版本。
今天的任务就是先把和平台无关的代码先编译出来。明天再把需要的代码补充完整。
在上图我们可以看到,只有3个文件的代码是和CPU相关的,别的都不相关。那我们今天就先把不相关的代码编译了
先新建三个文件夹,然后把文件薅进去:
.
├── arm9
│ ├── os_cpu_a.s
│ └── os_cpu_c.c
├── include
│ ├── includes.h
│ ├── os_cfg.h
│ ├── os_cpu.h
│ └── ucos_ii.h
└── ucosii
├── os_core.c
├── os_flag.c
├── os_mbox.c
├── os_mem.c
├── os_mutex.c
├── os_q.c
├── os_sem.c
├── os_task.c
├── os_time.c
└── ucos_ii.c
这是我的布局,不一定要按照这样布局。我们可以看到,上图所有的文件都扔进去了。接下来是删代码。主要删的是 os_cpu_a.s、os_cpu_c.c、os_cpu.h的代码。为什么?因为他们和平台相关,一般文档会告诉你的。如果一个系统不告诉你这些,那他就不是一个拿来给你移植的系统。
接下来把这样
删成这样: