当前位置:首页 > 嵌入式 > Linux阅码场
[导读]我是从ARM7TDMI开始接触ARM架构的,当时很幸运有DSP的学习基础,同时遇到了把ARM架构和操作系统结合讲解的书籍。这样,结合自己不断的实践,一直可以跟上ARM架构的演进。长期的跟踪也让我容易能看到ARM的趋势,我从Linaro在做ARM NEON指令集优化关注到Linaro,后面持续的关注以Linaro为首ARM生态组织的发展,几年后的2017年,我作为演讲人分享了ARM架构下的一个TLB性能优化方案,实现了从关注到深度参与到过程。

有没有觉得从嵌入式到服务器领域,ARM芯片在很多地方出现?

  • 有没有发现海内外巨头都在做ARM芯片?
  • 有没有觉得ARMv7,v8,v9,Cortex,Neoverse,ARM ARM,TRM,APCS,SCMI等内容看着眼花缭乱?
  • 有没有觉得操作系统学了做了很多,遇到ARM相关的问题还是无从下手?

我是从ARM7TDMI开始接触ARM架构的,当时很幸运有DSP的学习基础,同时遇到了把ARM架构和操作系统结合讲解的书籍。这样,结合自己不断的实践,一直可以跟上ARM架构的演进。长期的跟踪也让我容易能看到ARM的趋势,我从Linaro在做ARM NEON指令集优化关注到Linaro,后面持续的关注以Linaro为首ARM生态组织的发展,几年后的2017年,我作为演讲人分享了ARM架构下的一个TLB性能优化方案,实现了从关注到深度参与到过程。

如果把工程师的成长比喻为一架持续飞行的飞机。学习框架是飞机的两翼,实践就是飞机的引擎,课程中会反复结合三位一体的学习方法,不断从带领大家实践到大家自己动手。一路走来,希望我的经验能帮助到大家少走不必要的弯路,更多的精力能用在自己的长期目标上。

张健老师在实际工作和培训中,遇到很多实际案例。从Linux内核到用户空间,有很多和ARM架构相关的问题。系统掌握了ARM架构就等于有了一双新的眼睛,帮助大家解决技术问题,改善系统性能。


01 课程大纲


第一部分 从坐而言到起而行

复习Linux用户空间编译过程(配置,编译,安装:configuremakemake install),编译Linux内核常见的测试套件:LTP

编译内核和文件系统。

观察内核启动过程(CPU特性,memorydma zoneGICtimerpsci),介绍ARM架构中的概念。

实验:动手编译内核和文件系统。

第二部分 软件和硬件的接口:汇编语言

Linux用户空间测试代码(来自LTP)看ARM架构常见指令。

实验:单步调试算术,跳转和load/store指令。

理解调用栈的概念。

第三部分:我是谁,我能做什么:异常处理

异常的核心是什么。

如何用汇编语言调用系统调用。

异常的进入和退出;

Linux内核到虚拟化

Linux内核安全OS

第四部分:用页表属性的砖搭建ARM的内存世界

内存基本概念

MMU的原理

cache基本概念

页表和页表属性

演示实验:continuous bit hint的应用

cache的结构(含演示实验)

cache coherence

原子操作

第五部分:Death is another beginningLinux内核crash调试

内核调试方法概述

Linux内核crash分析实例

第六部分:软件工程师的瑞士军刀:调测。

coresight原理;

perfcoresightPMU结合使用;

调优的USE模型;

演示实验:perf PMU分析系统性能。

总计12h


ARM架构已经有41年的历史,目前市场上以v8架构为主,也还有一定的v7架构芯片。v9架构基本还没有产品出现。本课程以v8为主,同时兼顾v8中与v7,v9相同的部分。

站在架构角度看,汇编语言,异常处理和内存管理处于核心位置。内核crash调试和调测技术体现的是对ARM和系统的综合理解。课程首先结合实例和练习介绍汇编语言,异常处理和内存管理。最后用内核crash调试和调测技术把前面知识串联起来,帮助大家综合应用。

不同于很多上来讲汇编语言的ARM课程,课程首先介绍讲解“理论,代码,实践”三位一体的学习方法,然后在每章的课程中,用开头的引导问题引发打大家的思考,最后用课后练习保证大家的学习效果。课程中的明线是ARM架构,暗线是系统调试和调优,会在合适的地方出现调试/调优的工具,并在课程的最后两课对调试和调优有全面的学习。


02 适合谁学

•BSP工程师;

•Linux驱动工程师;

•固件工程师;

•系统软件工程师;

•IC验证工程师。

•希望从X86迁移到ARM的软件工程师。


03 你将收获

1.熟悉ARM架构各类专业词汇,遇到问题能从正确方向入手;

2.对汇编语言不再害怕,能看懂和上手调试;

3.对异常处理有从上到下纵向的理解,既能调试底层代码,也能在上层应用异常概念完成开发工作;

4.能理解操作系统物理内存管理的核心,将来可以向上对接操作系统更丰富的内存管理能力,从而为掌握操作系统打下基础;

5.结合ARM架构知识灵活运用系统的调测能力。


04 讲师介绍


十四年IT基础设施研发经验,其中包括六年Linux kernel一线研发经验,在suse,华为,星际比特(技术合伙人)等公司工作。

作为团队核心成员参与了大陆第一个Cortex-A8 SOC芯片研发,负责CPU软件验证,操作系统移植等工作。

作为华为派驻到Linaro的技术专家,主导/参与多个Linux与arm架构相关特性研发(ILP32,continuous bit hint,kernel selftest等)

在拉斯维加斯,柏林,布达佩斯和北京多次发表技术演讲:

•2020 第⼋届开源操作系统年度技术会议(OS2ATC) Linux On RISC-V最新进展和迁移要点•2019 ⽇知录 ARM在企业级的应⽤与前景•2019 建设银⾏ ARM在企业级的应⽤与前景•2018 Recent Kernel Update(Ubuntu Kylin 18.04 meetup in Beijing)•2017 Linaro Connect Budapest: BUD17-305 - Implement contiguous page hint for anonymous page in user space•2016 Linaro Connect Las Vegas: LAS16-TR07: Working upstream [Mandarin]•2016 Linuxcon Europe: An efficient unit test and fuzz tools for kernel/libc porting•2015 patent in US, EP, CN, WO(WO2017054610A1): Computer, and method and apparatus for controlling quality of service•2014 openSUSE Asia Summit: openSUSE on ARM



06 往期精彩回顾

Ftrace训练营1期线上合影


Ftrace训练营1期证书


阅码场训练营文化衫


学员好评



本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭