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

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

    关注

    6078

    文章

    45580

    浏览量

    673647
  • 源码
    +关注

    关注

    8

    文章

    689

    浏览量

    31507
  • X86
    X86
    +关注

    关注

    5

    文章

    300

    浏览量

    45567

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    STPC® ATLAS:强大的X86核心PC兼容片上系统

    STPC® ATLAS:强大的X86核心PC兼容片上系统 在当今的电子设备领域,对于高性能、集成化的芯片需求日益增长。STPC® ATLAS作为一款专为终端设计的X86核心PC兼容片上系统,以其丰富
    的头像 发表于 04-17 15:05 73次阅读

    STPC® CONSUMER-II:一款强大的x86核心PC兼容信息家电片上系统

    STPC® CONSUMER-II:一款强大的x86核心PC兼容信息家电片上系统 在当今的电子世界中,片上系统(SoC)的发展日新月异,各种电子设备带来了更强大的性能和更高的集成度。STPC
    的头像 发表于 04-17 15:05 80次阅读

    Linux Kernel 6.1 tools目录全解析 | RK平台ARM64交叉编译实战指南

      在瑞芯微( RK ) ARM64 平台嵌入式 Linux 开发、内核调试与硬件外设测试中, Linux 内核
    的头像 发表于 04-16 18:42 6793次阅读
    <b class='flag-5'>Linux</b> Kernel 6.1 tools目录全解析 | RK平台ARM64交叉编译实战指南

    如何理解Linux内核中的PCIe驱动

    我们习惯了用 Verilog 去死磕 PCIe 的底层协议状态机。但一旦越过硬件边界来到操作系统层面,Linux 内核是如何接管并驱动这些 PCI/PCIe 设备的呢?由于不同的 CPU 架构实现了
    的头像 发表于 04-11 17:22 1258次阅读

    一文搞懂Linux权限体系

    Linux权限体系是运维工作的基础中的基础。无论你管理的是单机还是集群,权限问题导致的故障占总故障量的相当比例。本文从一线运维视角出发,系统讲解Linux权限模型的核心概念、常见场景、排障方法以及安全最佳实践。
    的头像 发表于 04-09 10:04 178次阅读

    半导体制造中的激光开槽工艺介绍

    本文介绍了半导体后道工序中的激光开槽工艺。该技术通过激光预先烧蚀材料,后续刀片切割扫清障碍,能有效提升芯片切割质量和效率。
    的头像 发表于 03-17 09:36 734次阅读
    半导体制造中的激光开槽工艺介绍

    【「Linux 设备驱动开发(第 2 版)」阅读体验】+读深入理解Linux内核内存分配

    最近这段时间内存条、硬盘的价格飞涨,随着AI产品的兴起,大数据模型的应用,对硬件存储要求的更高。这节阅读有关Linux内存管理方面的知识。 Linux系统使用了“虚拟内存”机制,虚拟内
    发表于 01-16 20:05

    【「Linux 设备驱动开发(第 2 版)」阅读体验】Linux内核开发基础

    感谢电子发烧友论坛提供的《Linux设备驱动开发(第2版)》阅读机会,测评将从Linux内核开发基础、Linux
    发表于 01-12 22:45

    【「Linux 设备驱动开发(第 2 版)」阅读体验】+读内核处理的核心辅助函数

    一个是“锁”;另一个是“条件变量”。内核中最常见的锁是自旋锁和互斥锁,操作系统内核通常使用硬件提供的原子操作来实现锁的机制。而条件变量并不是Linux
    发表于 01-10 22:08

    【书籍评测活动NO.67】成为硬核Linux开发者:《Linux 设备驱动开发(第 2 版)》

    ,以获得最佳学习效果。第1篇:Linux内核开发基础开篇从环境搭建入手,详细讲解如何获取Linux内核
    发表于 11-17 17:52

    RK3568开发板OpeHarmony学习开发手册1.1-内核移植优化

    ;copy 到 out 目录-->打新补丁 那么优化思路是什么呢? out/kernel/src_tmp/linux-5.10/ linux-5.10/ 下的内核源码是已经打过原
    发表于 07-26 10:37

    KaihongOS桌面版成功适配x86设备,邀您抢先体验!

    定、高效、用户友好的开源鸿蒙桌面体验。体验亮点✓国内首个开源鸿蒙桌面操作系统——KaihongOS桌面版,成功适配x86设备,国产操作系统的发展开辟了新路径。✓您将
    的头像 发表于 06-30 22:57 2790次阅读
    KaihongOS桌面版成功适配<b class='flag-5'>x86</b>设备,邀您抢先体验!

    【「Yocto项目实战教程:高效定制嵌入式Linux系统」阅读体验】01初读体验

    代码都混在一起的操作就是个坑,导致了第三方内核源码过大,甚至找找不到能像看单片机代码那样快速跳转的工具来阅读linux源码,但实际使用的
    发表于 06-30 21:49

    聚徽厂家视角——X86 架构 vs. ARM 架构:工控一体机的算力、功耗与成本差异解析

    在工业自动化不断发展的当下,工控一体机作为核心设备,其架构选择至关重要。X86 架构与 ARM 架构在工控领域各领风骚,它们在算力、功耗与成本上的显著差异,决定了其适用场景的不同。深入剖析两者特点
    的头像 发表于 06-07 14:56 1221次阅读

    龙芯处理器支持WINDOWS吗?

    )。 Windows的适配:微软官方仅支持x86/x64和ARM架构的处理器,未推出针对LoongArch或MIPS的Windows版本。 技术限制 指令集不兼容:Windows系统的内核、驱动和应用程序均依赖
    发表于 06-05 14:24