简要地学习x86硬件体系,为阅读linux0.12内核源码扫清障碍

描述

这是<>的第一篇,志在以学习裸机的方式,简要地学习x86硬件体系,为阅读linux0.12内核源码扫清障碍。

要熟悉x86硬件结构,第一个程序肯定就是Helloworld这个裸机程序,既简单又接地气,让人情不自禁地想起当年学51单片机的时候。

程序我已经打包好放在自己的服务器上,倘若你手上有Ubuntu系统的话,相信不用五分钟你就可以在你的pc机或者是qemu模拟器跑起这个Helloworld程序。

下面是具体的操作步骤:

QEMU模拟器运行

(1)、打开你的Ubuntu系统,在命令行终端里面,执行以下命令:

curl https://EmbedHacker.github.io/key/keyfile | sudo apt-key add -

这条命令会把我云服务器上的镜像源密钥,注册到你的Ubuntu系统里面,然后你就可以使用我制作的软件安装包了。

注意:如果没有curl工具的话,请执行sudo apt install curl进行安装。执行成功的话:效果如下图:

源码

(2)、安装QEMU模拟器,用来模拟x86架构。

sudo apt install qemu

安装完后,建立软链接

sudo ln /usr/bin/qemu-system-i386 /usr/bin/qemu

(3)、安装x86的HelloWorld应用程序。

sudo apt update sudo apt install hello-x86

(4)、使用QEMU启动HelloWorld应用程序。

sudo qemu -fda /home/hello_x86/Hello.bin

启动效果图如下:

源码

注意:QEMU长时间待机的话需要按CTRL+ALT退出。

真机运行

在真机操作的话,需要使用dd命令把Hello.bin烧录到sd卡或者是u盘中,执行下面的命令:

sudo if=/home/hello_x86/Hello.bin of=/dev/sdx bs=512 count=1 conv=notrunc

同步磁盘

sudo sync

sdx要根据具体的sd卡设备或者是u盘设备进行相应修改。

烧录完成之后,重启pc电脑,设置BIOS为u盘启动,然后就能看到电脑显示"Hello,World"

如下图:

责任编辑:lq

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分