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

news2024/12/25 13:31:44

嵌入式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上网,通过桥接模式和开发板通信
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/485021.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

idea修改 项目代码,浏览器页面不生效 解决方案

使用快捷键ctrl shift delete,清理浏览器缓存 1、问题描述 idea修改前端项目代码,运行谷歌浏览器不起作用。 我也试过 rebuild project, 重启idea,等方法都不管用。 再次运行谷歌浏览器,还是没有变化。 2、尝试了以下方法&am…

ElasticSearch学习随笔之分词算法

ElasticSearch 1、ElasticSearch学习随笔之基础介绍 2、ElasticSearch学习随笔之简单操作 3、ElasticSearch学习随笔之java api 操作 4、ElasticSearch学习随笔之SpringBoot Starter 操作 5、ElasticSearch学习随笔之嵌套操作 6、ElasticSearch学习随笔之分词算法 ElasticSea…

JUC之Java内置锁的核心原理

文章目录 JUC之Java内置锁的核心原理Java对象结构对象头对象体对齐字节 Mark Word的结构信息64位Mark Word的构成 偏向锁偏向锁的设置偏向锁的重偏向偏向锁的撤销偏向锁的膨胀 轻量级锁执行过程轻量级锁的分类普通自旋锁自适应自旋锁 重量级锁偏向锁、轻量级锁与重量级锁的对比…

探秘C语言经典题目:如何求解整数二进制中1的个数

本篇博客会讲解一道经典的题目:求一个整数二进制中1的个数。阅读本篇博客前,需要你对C语言如何进行二进制位操作有一定的了解,如果还不太了解的话,可以阅读一下我的这篇博客。 我们假设有一个int类型的整数n,我们知道…

12. Transformer(上)

P32 Transformer(上) 视频链接 P32 Transformer(上) Seq2seq应用: Seq2seq结构:

武忠祥老师每日一题||定积分基础训练(二)

仍是上一节中提到的基本思想 武忠祥老师每日一题||定积分基础训练(一) 在这个题中,M和N可以利用奇偶性判断。 如下: 从上可知, M ∫ − π 2 π 2 1 d x M\int_{-\frac{\pi}{2}}^{\frac{\pi}{2}}1\,{\rm d}x M∫−…

The 1st Universal Cup Stage 13: Iberia, Apr 22-23, 2023 题解

D. XOR Determinant You are given two arrays b and c of length n, consisting of non-negative integers. Construct n n matrix A as Aij bi ⊕ cj . Find the determinant of A modulo 998 244 353 考虑 A i j ∑ k b i , k c j , k p A_{ij}\sum_k b_{i,k}{c_{j,k}…

基于GWO灰狼优化算法的城市路径优化问题GWO-TSP(MATLAB程序)

资源地址: 基于GWO灰狼优化算法的城市路径优化问题GWO-TSP(MATLAB程序)资源-CSDN文库 主要内容: 主要采用灰狼优化算法对城市间的路径进行规划。城市分布图如图所示。 部分代码: % 产生问题模型 model CreateModel(Oliver30.…

p70 内网安全-域横向内网漫游 Socks 代理隧道技术(NPS、FRP、CFS 三层内网漫游)

数据来源 本文仅用于信息安全学习,请遵守相关法律法规,严禁用于非法途径。若观众因此作出任何危害网络安全的行为,后果自负,与本人无关。 ​ 必要基础知识点: 内外网简单知识内网 1 和内网 2 通信问题正向反向协议通…

linux用户管理指令

这里写自定义目录标题 一 增加新用户及密码二 切换用户三 userdel 删除用户四 查看用户登录信息五 让普通用户成为管理员1. 修改环境配置文件2.设置用户和密码 六 查看创建哪些用户 一 增加新用户及密码 useradd:加用户名 passwd:加用户密码 [rootlocalhost ~]# u…

HBASE整理

HBASE整理 一、HBASE由来 思考: HDFS主要适用于什么场景呢? 具有高的吞吐量 适合于批量数据的处理操作思考: 如果想在HDFS上, 直接读取HDFS上某一个文件中某一行数据, 请问是否可以办到呢? 或者说, 我们想直接修改HDFS上某一个文件中某一行数据,请问是否可以办到呢?HDFS并…

【Python】芜湖市空气质量指数可视化(散点图、分类散点图、单变量分布图、线性回归拟合图、相关性热力图)

【Python】芜湖市空气质量指数可视化 本文仅供学习参考,如有错误,还请指正! 一、简介 空气质量指数(Air Quality Index,AQI )简而言之就是能够对空气质量进行定量描述的数据。空气质量(Air Quality )的好坏…

《SQLi-Labs》02. Less 6~10

sqli Less-6知识点题解 Less-7题解 Less-8题解 Less-9知识点题解 Less-10题解 sqli。开启新坑。 Less-6 知识点 布尔盲注。与 Less-5 基本相同。这里只简略写大致步骤。 length() 函数:返回字符串所占的字节数。ascii() 函数:返回字符串最左字符的ASC…

OpenGL开发必过的坎------开发环境的准备(Windows10)

前言 图形编程一直以来都是计算机科学中最具挑战性的主题之一。随着限制VR技术的兴起,越来越多的公司开始涉足VR领域。目前来看使用最多的是Unity3d来开发,但是像浏览器,将2D应用3D化(把2D的应用界面投到一个3D的场景中&#xff…

FilmConvert Nitrate for Mac(fcpx/胶片模拟调色Pr/AE插件)

FilmConvert Nitrate是一款针对视频后期处理的插件,可用于颜色校正和外观看调整。它提供了各种预设,以方便用户足够快速地修改视频的外观,并还包含一个自定义工具集,以方便用户可以调整多个参数来达到他们所需要的效果。 该插件支…

SpringBoot + Druid DataSource 实现监控 MySQL 性能

1 添加依赖 <properties><java.version>1.8</java.version><alibabaDruidStarter.version>1.2.11</alibabaDruidStarter.version> </properties><dependency><groupId>com.alibaba</groupId><artifactId>druid-s…

Python基础合集 练习24 (程序调试)

assert expression[,arguments] expression条件表达式语句,如果表达式的值为真,则程序会继续执行下去,如果值为假则程序抛出Assertionerror错误,并输出指定的参数内容 arguments可选参数 if not expression: raise AssertionError(argument) def num_ca(): book int(inpu…

Rust 一门赋予每个人构建可靠且高效软件能力的语言

目录 Rust 安装 尝试 hello, world 编译 链接出错 开启 Rust 之旅 官方教程 《Rust 程序设计语言》 《通过例子学 Rust》 核心文档 标准库 版本指南 CARGO 手册 RUSTDOC 手册 RUSTC 手册 编译错误索引表 非官方翻译教程 Rust 程序设计语言 简体中文版 通…

543. 二叉树的直径【71】

难度等级&#xff1a;容易 上一篇算法&#xff1a; 199. 二叉树的右视图【111】 力扣此题地址&#xff1a; 543. 二叉树的直径 - 力扣&#xff08;Leetcode&#xff09; 1.题目&#xff1a;543. 二叉树的直径 给定一棵二叉树&#xff0c;你需要计算它的直径长度。一棵二叉树的…

玩一玩 Ubuntu 下的 VSCode 编程

一&#xff1a;背景 1. 讲故事 今天是五一的最后一天&#xff0c;想着长期都在 Windows 平台上做开发&#xff0c;准备今天换到 Ubuntu 系统上体验下&#xff0c;主要是想学习下 AT&T 风格的汇编&#xff0c;这里 Visual Studio 肯定是装不了了&#xff0c;还得上 VSCode…