0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

FPGA之家 来源:FPGA之家 作者:FPGA之家 2021-04-08 09:27 次阅读

这是<>的第一篇,志在以学习裸机的方式,简要地学习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进行安装。执行成功的话:效果如下图:

78067b9a-92eb-11eb-8b86-12bb97331649.png

(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

启动效果图如下:

782dd35c-92eb-11eb-8b86-12bb97331649.png

注意: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

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

    关注

    6036

    文章

    44555

    浏览量

    634894
  • 源码
    +关注

    关注

    8

    文章

    640

    浏览量

    29193
  • X86
    X86
    +关注

    关注

    5

    文章

    294

    浏览量

    43456

原文标题:我想把你的x86当单片机玩

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    x86再次伟大!英特尔AMD破天荒联手,要搞定软硬件兼容性

    电子发烧友网报道(文/梁浩斌)在北京时间10月16日开幕的联想Tech World 2024大会上,作为联想的核心供应商,英特尔CEO基辛格、AMD董事长兼CEO苏姿丰先后进行了演讲。两家x86
    的头像 发表于 10-21 00:53 2467次阅读
    让<b class='flag-5'>x86</b>再次伟大!英特尔AMD破天荒联手,要搞定软<b class='flag-5'>硬件</b>兼容性

    【「RISC-V体系结构编程与实践」阅读体验】-- SBI及NEMU环境

    基于2019版的NEMU进行了增强和维护,以模拟香山处理器前期指令集和体系结构。本章把NEMU简称为香山模拟器。NEMU支持x86、RV32和RV64等指令集体系结构。 RV64版本NEMU具有如下
    发表于 11-26 09:37

    英特尔将携手AMD共同捍卫x86生态

    10月16日,英特尔正式公布了一项重大合作计划:与AMD携手成立x86生态系统咨询小组。该计划由英特尔CEO帕特·基辛格亲自宣布。   x86生态系统咨询小组(x86 Ecosystem
    的头像 发表于 10-16 13:49 469次阅读

    X86架构处理器有哪些优点和缺点

    X86架构处理器作为计算机领域的重要组成部分,具有多个显著的优点和一定的缺点。以下是对X86架构处理器优缺点的详细分析。
    的头像 发表于 08-22 11:25 2005次阅读

    ElfBoard技术贴|如何将libwebsockets库编译为x86架构

    在之前的文章中,我们已经详细介绍了如何交叉编译libwebsockets并将其部署到ELF1开发板上。然而在调试阶段,发现将libwebsockets在Ubuntu环境下编译为x86架构可能更为方便
    的头像 发表于 07-10 09:38 1213次阅读
    ElfBoard技术贴|如何将libwebsockets库编译为<b class='flag-5'>x86</b>架构

    I.MX6ULL-飞凌 ElfBoard ELF1板卡 - 如何在Ubuntu中编译OpenCV库(X86架构)

    Ubuntu环境下编译X86架构的OpenCV,这快速迭代产品、优化算法提供了坚实的支撑。希望本篇指南能成为各位小伙伴在嵌入式技术探索之旅上的得力助手。如果您在实践过程中遇到任何问题,欢迎留言交流。
    发表于 06-07 09:32

    触翔X86工控主板在交互机器人中的应用

    X86工控主板在交互机器人中的应用主要体现在其高可靠性、抗干扰性和稳定性等方面,交互机器人的正常运行和精确控制提供了有力支持。以下是关于X86工控主板在交互机器人中应用的详细分析:
    的头像 发表于 05-28 15:48 473次阅读

    全新国产x86处理器,Chiplet架构,从教育整机做起

    电子发烧友网报道(文/周凯扬)要说什么架构在当下的计算机市场依然屹立多年不倒,那一定是x86架构。尽管坐拥巨大的市场占有量,x86依然是市面上最封闭的生态之一,多年以来只有英特尔和AMD陆续推出
    的头像 发表于 04-30 01:06 5230次阅读
    全新国产<b class='flag-5'>x86</b>处理器,Chiplet架构,从教育整机做起

    深入剖析系统调用机制的Linux 0.12源码

    CPU指令集,就是CPU中用来计算和控制计算机系统的一套指令的集合,实现软件指挥硬件执行的媒介,常见的CPU指令集有X86、ARM、MIPS、Alpha、RISC等
    发表于 04-19 14:29 553次阅读
    深入剖析系统调用机制的<b class='flag-5'>Linux</b> <b class='flag-5'>0.12</b><b class='flag-5'>源码</b>

    谷歌发布Axion新款数据中心AI芯片,性能超越x86及云端

    谷歌预计将通过Google Cloud提供Axion AI芯片给客户。谷歌强调这款基于ARM的CPU产品具有优越的性能表现,甚至超越了传统的x86芯片及云端通用ARM芯片。
    的头像 发表于 04-10 16:32 883次阅读

    谷歌发布Arm架构CPU,性能超越x86和通用Arm芯片

    据悉,谷歌计划借助谷歌云提供名为Axion的基于Arm的中央处理器(CPU)。该公司表示,其性能优越,超过同类x86芯片及云端通用Arm芯片。
    的头像 发表于 04-10 09:25 560次阅读

    x86 SBC vs ARM SBC:选择适合您的单板计算机

    单板计算机 (SBC) 已成为技术领域的基石,各种应用提供紧凑、经济高效的解决方案。两种最流行的 SBC 架构是 x86 和 ARM。本文旨在提供 x86 SBC 和 ARM SBC 之间的全面
    的头像 发表于 03-07 13:26 516次阅读

    康佳特在其x86计算机模块集成Hypervisor简化系统整合

    有新的x86计算机模块。对基于x86的康佳特计算机模块(COM)而言,Hypervisor是可轻松添加的附加组件。现在,Hypervisor已被集成到固件中,并成为所有x86计算机模块的标准配置,进而降低系统整合的入门门槛。通过
    发表于 02-01 11:25 347次阅读
    康佳特在其<b class='flag-5'>x86</b>计算机模块集成Hypervisor简化系统整合

    arm架构和x86架构区别 linuxx86还是arm

    ARM架构和x86架构是两种不同的计算机处理器架构,它们在体系结构、指令集、应用领域等方面有着明显的区别。Linux操作系统则具有广泛的适配性,可以运行在各种架构上,包括x86和ARM
    的头像 发表于 01-30 13:46 1.8w次阅读

    Linux内核中信号详解

    信号和多线程程序 4 与信号相关的数据结构 4.2.1 x86/Linux2.6.11的定义 4.2.2 x86-64/Linux2.6.11的定义 4.2.3
    的头像 发表于 01-13 09:40 1379次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>内核</b>中信号详解