用CMake搭建Zeal 8-bit OS用户程序工程:10分钟快速上手

📅 2026/8/18 17:05:00
用CMake搭建Zeal 8-bit OS用户程序工程:10分钟快速上手
用CMake搭建Zeal 8-bit OS用户程序工程10分钟快速上手【免费下载链接】Zeal-8-bit-OSAn Operating System for Z80 computers, written in assembly项目地址: https://gitcode.com/gh_mirrors/ze/Zeal-8-bit-OS想给Zeal 8-bit OS写用户程序却卡在环境配置上别担心Zeal 8-bit OS 是一个用 Z80 汇编编写的轻量级操作系统它官方推荐用CMake 搭建 Zeal 8-bit OS 用户程序工程整套流程 10 分钟就能跑通。这篇文章带你从零开始快速搞定用户程序开发环境无论是用 C 语言SDCC还是汇编z88dk / GNU AS都能轻松上手 为什么推荐用 CMake 构建用户程序Zeal 8-bit OS 的用户程序编译涉及交叉编译、链接脚本和二进制格式转换手动写 Makefile 容易踩坑。而 CMake 方案有三大好处✅自动配置交叉工具链只需指定ZOS_TOOLCHAIN编译器、链接器自动搞定✅自动生成 raw binary内核要求程序从0x4000地址加载格式转换全自动✅官方示例可直接抄三种工具链都有现成模板改改就能用第一步准备工作3分钟克隆仓库并安装依赖git clone https://gitcode.com/gh_mirrors/ze/Zeal-8-bit-OS然后确保本机已安装CMake 3.16编译器任选其一SDCC 4.2.0C 语言、z88dk或GNU binutils for z80汇编 如果用 SDCC 写 C 语言注意版本必须 ≥ 4.2.0因为内核头文件使用了__sdcccall(1)调用约定。第二步设置 ZOS_PATH 环境变量1分钟这是最关键的配置CMake 通过ZOS_PATH定位工具链文件和内核头文件export ZOS_PATH/path/to/Zeal-8-bit-OS⚠️ 建议把这条命令写进~/.bashrc避免每次开终端都要重新设置。第三步编写你的第一个 CMakeLists.txt3分钟创建项目目录新建CMakeLists.txtcmake_minimum_required(VERSION 3.16) set(ZOS_TOOLCHAIN sdcc) include($ENV{ZOS_PATH}/cmake/zos_init.cmake) project(hello C ASM) add_executable(hello src/main.c) zos_add_outputs(hello)三行核心代码功能一目了然set(ZOS_TOOLCHAIN sdcc)— 选择 C 语言工具链include($ENV{ZOS_PATH}/cmake/zos_init.cmake)— 加载 Zeal 8-bit OS 的 CMake 初始化模块它会根据工具链自动配置编译参数zos_add_outputs(hello)— 把编译产物转换成内核能直接加载的 raw binary.bin然后在src/main.c里写个最简单的程序#include zos_video.h int main() { zos_video_print(Hello Zeal 8-bit OS!\n); return 0; }第四步编译并运行2分钟mkdir build cd build cmake .. make编译完成后build/目录下会生成hello.bin这就是可以直接复制到磁盘、由内核加载执行的用户程序 第五步快速切换三种工具链1分钟Zeal 8-bit OS 支持三种编译方式只需改一个变量ZOS_TOOLCHAIN 值语言编译器示例位置sdccCSDCCkernel_headers/examples/sdcc/gnu汇编GNU AS (z80-elf)kernel_headers/examples/gnu-as/z88dk汇编z88dk-z80asmkernel_headers/examples/z88dk-z80asm/比如想用汇编把第一行改成set(ZOS_TOOLCHAIN z88dk)再写个.asm源文件即可。官方示例都放在kernel_headers/examples/目录下每个示例都有配套的CMakeLists.txt复制改改就是自己的项目骨架。常见问题排查❓ 报错 Couldnt find library z80SDCC 没装在默认路径需要手动指定库路径export SDLD_FLAGS-k sdcc安装路径/lib/z80❓ 生成的 .bin 无法运行检查链接地址是否为0x4000。SDCC 工具链默认通过-b _HEADER0x4000保证程序入口正确汇编项目如遇问题可参考kernel_headers/examples/gnu-as/CMakeLists.txt中的注释调整链接参数。❓ 想用第三方库怎么办可以用zos_use或zos_add_assets等辅助函数定义在cmake/zos_init.cmake通过环境变量自动查找并接入 SDK省去手动配置的麻烦。总结用 CMake 搭建 Zeal 8-bit OS 用户程序工程就是这么简单设置 ZOS_PATH → 写 CMakeLists.txt → 编译生成 .bin三步走完就能让你的 Z80 程序跑起来。核心机制其实都在cmake/zos_init.cmake这一个文件里感兴趣的话打开看看你会对这套构建系统有更深的理解 现在就动手试试吧10 分钟后你就能拥有自己的 Zeal 8-bit OS 用户程序了【免费下载链接】Zeal-8-bit-OSAn Operating System for Z80 computers, written in assembly项目地址: https://gitcode.com/gh_mirrors/ze/Zeal-8-bit-OS创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考