Kshim - 实战篇1
本文最后更新于 2025年10月8日 晚上
创建一个基于C的裸机项目
简介
为了编译出一个在没有操作系统(即裸机/裸金属环境)的设备上运行的二进制可执行文件,需要为
在编译时告知编译器一些参数,例如屏蔽掉依赖于操作系统的标准库,程序链接方式等,还需要在
链接脚本中配置程序的加载地址、程序段对齐、栈大小等参数。
新建文件夹
汇编起手
由于使用C语言编写并编译后的机器指令,是依赖于初始化的堆栈区域的,所以基本上不能直接进去C的
入口函数(倒也不是完全不行)。因此需要从汇编初始化堆栈和BSS段,提供C的运行环境。
创建一个.S文件,假设他叫entry.S,注意是大写的S,小写的s编译器不会进行预处理。
1 | |
跳转入C
你好世界
结语
Kshim - 实战篇1
https://kancy.life/2024/11/01/Kshim2/