嵌入式Linux底层系统开发 +系统移植+内核文件系统(基础)

这篇具有很好参考价值的文章主要介绍了嵌入式Linux底层系统开发 +系统移植+内核文件系统(基础)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

嵌入式Linux系统移植要点:

  1. 搭建交叉编译开发环境
  2. bootloader的选择和移植
  3. kernel的配置、编译、移植和调试
  4. 根文件系统的制作
    前两个要点通常芯片厂家提供。后边两个要点是公司的工作重点。

学习方法:先整体后局部,层层推进
如何编译—>如何添加命令和功能—>如何定义自己的开发板。

移植的基本步骤:
  • 确定目标机主机的连接方式
    • UART:速率低,使用性强
    • USB:速度快,驱动要移植修改
    • TCP/IP:速度快,驱动要移植修改
    • JTAG:方便便捷,价格高
  • 安装交叉编译器:芯片厂商提供,不建议自己编译
    file 可执行文件
    • arm-none-linux-guneabi-
    • arm-none-eabi-
  • 搭建主机-目标机数据传输通道
    • TFTP
    • NFS
  • 编译三大子系统
  • 烧写测试

交叉编译工具集

  • readelf:readelf -h 可执行文件
  • size:size 可执行文件
  • nm:符号列表
  • strip:strip 可执行文件,没符号表,生产中去掉
  • strings:查看字符串
  • objcopy:去掉头
  • objdump:objdump -d 可执行文件
  • addr2line:

笔记本开发环境搭建:

window10系统,虚拟机下安装Ubuntu,windows通过wifi上网,网口与开发板直连。虚拟机配置成双网卡模式,通过NAT上网,通过桥接模式和开发板通信
嵌入式Linux底层系统开发 +系统移植+内核文件系统(基础)
嵌入式Linux底层系统开发 +系统移植+内核文件系统(基础)文章来源地址https://www.toymoban.com/news/detail-435047.html

到了这里,关于嵌入式Linux底层系统开发 +系统移植+内核文件系统(基础)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 嵌入式Linux驱动开发 02:将驱动程序添加到内核中

    嵌入式Linux驱动开发 02:将驱动程序添加到内核中

    在上一篇文章 《嵌入式Linux驱动开发 01:基础开发与使用》 中我们已经实现了最基础的驱动功能。在那篇文章中我们的驱动代码是独立于内核代码存放的,并且我们的驱动编译后也是一个独立的模块。在实际使用中将驱动代码放在内核代码中,并将驱动编译到内核中也是比较

    2023年04月09日
    浏览(19)
  • 使用VSCode clangd插件进行linux内核代码阅读和嵌入式开发

    使用VSCode clangd插件进行linux内核代码阅读和嵌入式开发

    在进行 Linux 内核代码阅读和嵌入式开发时,选择合适的开发工具至关重要。VSCode 是一个流行的跨平台编辑器,并且它的扩展生态系统非常强大。在这篇博客中,我们将介绍如何使用 VSCode Clangd 插件来提高 Linux 内核代码的阅读和嵌入式开发效率。 Clangd 是一个基于 Clang 的语言

    2024年02月09日
    浏览(17)
  • 修改嵌入式 ARM Linux 内核映像中的文件系统

    修改嵌入式 ARM Linux 内核映像中的文件系统

    zImage 是编译内核后在 arch/arm/boot 目录下生成的一个已经压缩过的内核映像。通常我们不会使用编译生成的原始内核映像 vmlinux ,因其体积很大。因此, zImage 是我们最常见的内核二进制,可以直接嵌入到固件,也可以直接使用 qemu 进行调试。当然,在 32 位嵌入式领域还能见到

    2024年02月10日
    浏览(12)
  • 【嵌入式Linux内核驱动】SPI子系统 | 硬件原理 | 应用编程 | 内核驱动 | 总体框架

    【嵌入式Linux内核驱动】SPI子系统 | 硬件原理 | 应用编程 | 内核驱动 | 总体框架

    1.1 SPI通信协议 SPI(Serial Peripheral Interface)是由Motorola公司开发的一种通用数据总线 四根通信线:SCK(Serial Clock)、MOSI(Master Output Slave Input)、MISO(Master Input Slave Output)、SS(Slave Select) 同步,全双工 支持总线挂载多设备(一主多从) 1.2 硬件连接 多NSS独立片选方式 菊花

    2024年02月16日
    浏览(14)
  • C/C++语言学习路线: 嵌入式开发、底层软件、操作系统方向(持续更新)

    C/C++语言学习路线: 嵌入式开发、底层软件、操作系统方向(持续更新)

    1.1 视频教程点到为止 1.2 炫技视频看看就行 1.3 编程游戏不玩也罢 有些游戏的主题任务就是编程,游戏和实际应用环境有一定差异(工具、操作流程),在初级阶段主要是熟悉实际场景,而且多数是通过前端语言进行游戏,对底层软件学习的帮助不大。 Coding Games: PHP、C、

    2024年04月28日
    浏览(15)
  • 嵌入式linux之iMX6ULL驱动开发 | 移远4G模块EC800驱动移植指南

    嵌入式linux之iMX6ULL驱动开发 | 移远4G模块EC800驱动移植指南

    回顾下移远4G模块移植过程, 还是蛮简单的。一通百通,无论是其他4G模块都是一样的。这里记录下过程,分享给有需要的人。环境使用正点原子的imax6ul开发板,板子默认支持中兴和移远EC20的驱动,这里要移植使用的是移远4G模块EC800。 imax6ul开发板 虚拟机(Ubuntu18.04) 交叉编译

    2024年02月12日
    浏览(10)
  • 【嵌入式Linux内核驱动】05_IIC子系统 | 硬件原理与常见面试问题 | 应用编程 | 内核驱动 | 总体框架

    【嵌入式Linux内核驱动】05_IIC子系统 | 硬件原理与常见面试问题 | 应用编程 | 内核驱动 | 总体框架

    1.1 IIC 基础 IIC协议简介—学习笔记_iic标准协议_越吃越胖的黄的博客-CSDN博客 I2C(Inter-Integrated Circuit)是一种串行通信协议,用于连接微控制器、传感器、存储器和其他外设。 I2C使用两条线(SDA和SCL)进行通信,可以连接多个设备,每个设备都有一个唯一的地址。I2C总线上的

    2024年02月09日
    浏览(44)
  • 关于嵌入式开发的一些信息汇总:嵌入式C开发人员、嵌入式系统Linux

    关于嵌入式开发的一些信息汇总:嵌入式C开发人员、嵌入式系统Linux

    这篇文章是关于嵌入式开发的一些基本信息,供想入行的人参考。有一些作者本人的想法,以及来自外网的大拿的文章翻译而来,原文链接在此Learning Linux for embedded systems,再次感谢,支持原创。 普通C开发人员和嵌入式C开发人员之间的 基本区别在于 ,因为嵌入式C程序被设

    2024年02月03日
    浏览(65)
  • 嵌入式Linux下LVGL的移植与配置

    嵌入式Linux下LVGL的移植与配置

    ​​​​​​ https://github.com/lvgl/lvgl git下载方式 git clone https://github.com/lvgl/lvgl.git 链接:https://pan.baidu.com/s/1jyqIennsQpv-RB4RyKvZyg?pwd=c68e  提取码:c68e 注意: 以下的配置均基于个人移植的sdk上修改. 解压sdk源码后修改Makefile文件,修改如下 直接修改编译器(编译器需要添加进系统的

    2024年02月13日
    浏览(9)
  • 嵌入式内核及驱动开发高级

    嵌入式内核及驱动开发高级

    仅devfs,导致开发不方便以及一些功能难以支持: 热插拔 不支持一些针对所有设备的统一操作(如电源管理) 不能自动mknod 用户查看不了设备信息 设备信息硬编码,导致驱动代码通用性差,即没有分离设备和驱动 uevent机制:sysfs + uevent + udevd(上层app) sysfs用途:(类似于

    2024年02月16日
    浏览(21)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包