seL4的编译和运行

2015-07-16 12:55:09 · 作者: · 浏览: 6

seL4指定了可以运行的平台,按照下面的匹配来编译它。


从github上clone到工程后,执行如下:
这里写图片描述


如果遇到cc1: all warnings being treated as errors,在Makefile中找到CFLAGS,加上-Wno-unused-but-set-variable:
这里写图片描述


如果编译成功,应该是下面的结果:
这里写图片描述


看看都生成了哪些文件:


这里写图片描述
Fig 1 make之前目录结构


这里写图片描述
Fig 2 make之后目录结构


Fig 1是没有make的目录,Fig 2是make之后的目录。多出了:


我们需要为镜像选择正确的qemu运行的平台,运行命令:
这里写图片描述


这里没有适合seL4运行的平台,似乎seL4没有在QEMU中启动和运行。


另外在seL4官方文档中,指出下列平台也可以运行seL4:


但对Odroid-XU Exynos 5进行编译:


未能成功。


选择imx6平台:


对arch/arm/machine/l2c_310.c的284行处做如下修改:
这里写图片描述


编译通过,生成kernel.elf镜像。


选择exynos4平台:


通过修改src/plat/exynos4/../exynos_common/mct.c中的initTimer函数:


这里写图片描述


编译通过,生成镜像。


然后qemu选择相应的平台nuri或smdkc210,但都不能正常启动内核镜像。