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

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

3天内不再提示

学好嵌入式Linux,需不需要全精通?专家给的建议一语中的!

电子发烧友论坛 2022-05-24 09:26 次阅读

学习之前,一定要弄清楚自己要从事的方向。

对于嵌入式开发,方向就分为很多种。比较主流的方向是单片机Linux驱动/应用开发、FPGA等;单片机入门比较简单,嵌入式Linux相对难点。嵌入式本身涉及了整个计算机从上到下的技术,如底层计算机原理、操作系统、驱动、通信协议、上层应用服务、UI框架等。

技术不用学多,比如你可以学Linux内核驱动,也可以选择网络编程,如果你选择了一个方向,就扎根在这个方向持续去学习、去精进。

如果你想深入学习了解嵌入式Linux,深耕一个就够了(那么这篇文章很适合你,请继续往下阅读)。本周继续给大家准备了嵌入式内核、任务、进程、存储及编程相关基础知识,帮助大家学习和深入掌握嵌入式Linux。

本周精选专栏内容

1、一文详解Linux内核源码组织结构

2b10a2ce-dada-11ec-b80f-dac502259ad0.png

内容简介:本文内容包含Linux源码树结构分析、Linux Makefile分析、Kconfig文件分析、Linux内核配置选项分析。这些知识是为了理解内核文件的组织形式,为具体移植内核做知识准备。

推荐理由:针对Linux源码树、顶层Makefile文件分类、编译文件、如何连接文件的分析,内核配置工具读取Kconfig文件、语法分析,Linux内核配置选项,与移植密切相关的System Type、Device Driver类型设置,都是非常基础的Linux内核组织、系统移植基础知识,值得认真去学习。

2、详解Linux系统文件页表目录和Linux系统页表结构

2b539b88-dada-11ec-b80f-dac502259ad0.png


内容简介:本文讨论Linux系统文件两个常见问题。问题一两级页表如何实现地址转换?问题二如何让经常访问的页表常驻内存,而不是整个页表?

推荐理由:讲述Linux两级页表地址转换的原理及实现,并提出解决了按需调入页表进内存——虚拟存储技术,以多级页表机制、页目录表探讨Linux页表调度的逻辑与过程。

3、详解Linux内核模块的编写方法

2bc05f66-dada-11ec-b80f-dac502259ad0.png


内容简介:编写Linux内核模块并不是因为内核太庞大而不敢修改。直接修改内核源码会导致很多问题,例如:通过更改内核,你将面临数据丢失和系统损坏的风险。内核代码没有常规Linux应用程序所拥有的安全防护机制,如果内核发生故障,将锁死整个系统。

推荐理由:详细讲解编写Linux内核模块的全过程,包括Linux开发工具准备、编写环境安装,并且以简单示例创建设备文件,演示Linux内核与应用程序交互,创建、访问和删除内核模块的具体方法,让学员掌握最基础的Linux内核编写操作。

4、Linux的内存管理是什么,Linux的内存管理详解

2bf6b6c4-dada-11ec-b80f-dac502259ad0.png

内容简介:Linux的内存管理是一个非常复杂的过程,主要分成两个大的部分:内核的内存管理和进程虚拟内存。内核的内存管理是Linux内存管理的核心,所以我们先对内核的内存管理进行简介。

推荐理由:本文详细介绍Linux物理内存模型,内存组织结构,x86架构下的布局,包括内核布局、IA-32架构的布局、AMD64架构的布局,启动过程期间的内存管理、物理内存管理(伙伴系统分配)、内核映射,最小粒度内存管理机制slab分配器定义、原理,通用及高速缓存,TLB控制等常用知识,对帮助大家学习内存管理启动、分配有更深入的了解。

5、Linux CPU的上下文切换

2c1a7b5e-dada-11ec-b80f-dac502259ad0.png

内容简介:我们都知道 Linux 是一个多任务操作系统,它支持的任务同时运行的数量远远大于 CPU 的数量。当然,这些任务实际上并不是同时运行的(Single CPU),而是因为系统在短时间内将 CPU 轮流分配给任务,造成了多个任务同时运行的假象。

推荐理由:深度分享Linux多任务运行的核心原理—CPU上下文,系统内核的CPU任务分类,从而得出CPU上下文切换的三种类型:进程上下文、线程上下文、中断上下文;进程与线程的区别,进程与中断的区别;帮助理解CPU上下文消耗,对进程运行时间的影响,对系统整体性能的影响。

6、Linux/Unix提供了很多种Shell

2c62e006-dada-11ec-b80f-dac502259ad0.png

内容简介:Linux/Unix 提供了很多种 Shell,为什么要提供这么多?常用的 Shell 有这么几种,sh、bash、csh 等,想知道你的系统有几种 shell,可以通过以下命令查看。

推荐理由:除了默认base Shell,Linux强大Shell产品zsh拥有诸多好处,开箱即用、可编程的命令行补全功能,共享用户Shell命令记录,易用的扩展文件通配符,改进的变量与数组处理等,熟悉了解zsh安装与配置,oh-my-zsh简化版安装,配置主题与插件、卸载使用方法。

5月专栏征文大赛

连续打卡赢取惊喜大礼!

即日起至6月13日,申请入驻发烧友专栏,完成活动文章发布及每日打卡任务,即有机会获得超多惊喜福利,3合1数据线、电烙铁、商务双肩包,小米手环6,天猫精灵等大奖等你拿!

2ca1a6c4-dada-11ec-b80f-dac502259ad0.png

长按识别二维码,了解活动详情

2cdd8874-dada-11ec-b80f-dac502259ad0.png


添加专栏助理喵喵报名活动,备注:征文

2d013de6-dada-11ec-b80f-dac502259ad0.png

新人入驻专栏权益

2d31ecde-dada-11ec-b80f-dac502259ad0.jpg

1. 发烧友官方平台认证、定制荣誉证书及奖章;

2. 公众号展示、网站百万定向流量扶持,量身打造您的个人IP;

3. 每年度/季度优质原创者评选,获得独立展示曝光机会;

4. 500+优质创作者社群,与行业大咖交流共享创作经验;

还有更多专栏创作者权益等你发掘,赶快加入我们吧!

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

    关注

    4981

    文章

    18278

    浏览量

    288374
  • Linux
    +关注

    关注

    87

    文章

    10988

    浏览量

    206725
收藏 人收藏

    评论

    相关推荐

    ARM嵌入式Linux 系统开发从入门到精通

    ARM嵌入式Linux 系统开发从入门到精通
    发表于 03-10 18:44

    请问STSPIN内部运算放大器OPAMP不需要其他方式打开放大采集?

    请问STSPIN内部运算放大器OPAMP不需要其他方式打开放大采集,还是直接采集,不需要其他操作打开才能采集?我现在ADC采集经过内部运放放大的数据 好像不对,请问下内部的运放是不
    发表于 03-07 06:03

    嵌入式学好书推荐

    嵌入式学好书推荐 在数字时代的浪潮嵌入式系统直是数字电子产品的重要组成部分。无论是家用
    发表于 01-11 15:13

    请问下ADV7604做EDID功能,不需要外挂eeprom?

    现在在用ADV7604接收DVI信号,有几个问题需要请教,谢谢。 1,请问下ADV7604做EDID功能,不需要外挂eeprom? 2,HPD功能ADV7604没有可以处理的脚,是需要
    发表于 12-19 06:41

    嵌入式硬件和软件哪个好?

    方案,要求理解嵌入式系统架构,有定的C语言基础,熟悉ARM、protel设计软件,有四层板开发经验。 成为优秀的嵌入式硬件开发工程师具备以下技能:由需求分析至总体方案、详细设计的规
    发表于 12-05 15:17

    指向code区数组的指针不需要加code关键字的声明?

    指向code区数组的指针不需要加code 关键字的声明?
    发表于 11-02 06:16

    嵌入式软件不需要架构吗?为什么没有嵌入式软件架构师?

    我的看法:目前国内的嵌入式开发主要分为嵌入式底层开发和嵌入式应用开发,嵌入式的底层开发一般叫做驱动开发,或者bsp开发,有时也有称之为linux
    发表于 10-27 14:45 262次阅读
    <b class='flag-5'>嵌入式</b>软件<b class='flag-5'>不需要</b>架构吗?为什么没有<b class='flag-5'>嵌入式</b>软件架构师?

    什么是嵌入式Linux

    什么是嵌入式Linux? 对于很多电气、电信、通信专业的同学来说,对口专业就业方向主要有软、硬件两个方向。无论是对于学生还是就业而言,软硬件的开发学习,嵌入式物联网在近年来无疑是个摆
    发表于 10-11 13:47

    嵌入式Linux开发教程

    嵌入式Linux开发教程(下册)
    发表于 09-27 07:11

    嵌入式Linux应用开发的完全手册

    嵌入式Linux嵌入式领域发展迅速、需求旺盛,但是嵌入式Linux 的入门很难。初学者多是自己琢磨,效率不高。学习过程
    发表于 09-25 07:12

    基于树莓派的嵌入式Linux开发教学

    树莓派对于全球嵌入式 Linux 开发及教育已经并将继续带来广泛的影响,及早将之引入我国主流的嵌入式开发与教学环境或将是有益的。尽管传统的 “ARM 开发板硬件设计 +
    发表于 09-21 07:09

    嵌入式软件好还是硬件好?

    架构,有定的C语言基础,熟悉ARM、PROTEL设计软件,有四层板开发经验。 成为优秀的嵌入式硬件开发工程师具备以下技能:由需求分析至总体方案、详细设计的规划能力;熟练运用设计工具、设计原理图
    发表于 09-18 15:31

    ADC采样电路,输入端不需要加电容,多大合适?

    ADC采样电路,输入端不需要加电容,多大合适
    发表于 06-26 07:43

    嵌入式学习路线你知道吗?

    应用程序开发技术。 5学习嵌入式Linux驱动程序开发 这阶段主要学习底层嵌入式Linux设备驱动程序开发设计,包括常用的字符设备驱动、块
    发表于 06-14 16:00

    Linux系统中根文件系统构建基本方式

    嵌入式 Linux 根文件系统布局,建议还是按照FHS标准来安排,事实上大多数嵌入式Linux都是这样做的。但是,
    发表于 05-09 09:30 567次阅读
    <b class='flag-5'>Linux</b>系统中根文件系统构建基本方式