有沒有覺得從嵌入式到服務器領域,ARM芯片在很多地方出現(xiàn)?
- 有沒有發(fā)現(xiàn)海內外巨頭都在做ARM芯片?
- 有沒有覺得ARMv7,v8,v9,Cortex,Neoverse,ARM ARM,TRM,APCS,SCMI等內容看著眼花繚亂?
- 有沒有覺得操作系統(tǒng)學了做了很多,遇到ARM相關的問題還是無從下手?
我是從ARM7TDMI開始接觸ARM架構的,當時很幸運有DSP的學習基礎,同時遇到了把ARM架構和操作系統(tǒng)結合講解的書籍。這樣,結合自己不斷的實踐,一直可以跟上ARM架構的演進。長期的跟蹤也讓我容易能看到ARM的趨勢,我從Linaro在做ARM NEON指令集優(yōu)化關注到Linaro,后面持續(xù)的關注以Linaro為首ARM生態(tài)組織的發(fā)展,幾年后的2017年,我作為演講人分享了ARM架構下的一個TLB性能優(yōu)化方案,實現(xiàn)了從關注到深度參與到過程。
如果把工程師的成長比喻為一架持續(xù)飛行的飛機。學習框架是飛機的兩翼,實踐就是飛機的引擎,課程中會反復結合三位一體的學習方法,不斷從帶領大家實踐到大家自己動手。一路走來,希望我的經驗能幫助到大家少走不必要的彎路,更多的精力能用在自己的長期目標上。
張健老師在實際工作和培訓中,遇到很多實際案例。從Linux內核到用戶空間,有很多和ARM架構相關的問題。系統(tǒng)掌握了ARM架構就等于有了一雙新的眼睛,幫助大家解決技術問題,改善系統(tǒng)性能。
|
第一部分 從坐而言到起而行
|
? 復習Linux用戶空間編譯過程(配置,編譯,安裝:configure,make,make install),編譯Linux內核常見的測試套件:LTP。 ? 編譯內核和文件系統(tǒng)。 ? 觀察內核啟動過程(CPU特性,memory,dma zone,GIC,timer,psci),介紹ARM架構中的概念。 ? 實驗:動手編譯內核和文件系統(tǒng)。 |
|
第二部分 軟件和硬件的接口:匯編語言 |
? 從Linux用戶空間測試代碼(來自LTP)看ARM架構常見指令。 ? 實驗:單步調試算術,跳轉和load/store指令。 ? 理解調用棧的概念。 |
|
第三部分:我是誰,我能做什么:異常處理
|
? 異常的核心是什么。 ? 如何用匯編語言調用系統(tǒng)調用。 ? 異常的進入和退出; ? 從Linux內核到虛擬化 ? 從Linux內核安全OS |
|
第四部分:用頁表屬性的磚搭建ARM的內存世界
|
? 內存基本概念 ? MMU的原理 ? cache基本概念 ? 頁表和頁表屬性 ? 演示實驗:continuous bit hint的應用 ? cache的結構(含演示實驗) ? cache coherence。 ? 原子操作 |
|
第五部分:Death is another beginning:Linux內核crash調試 |
? 內核調試方法概述 ? Linux內核crash分析實例 |
|
第六部分:軟件工程師的瑞士軍刀:調測。 |
? coresight原理; ? perf與coresight,PMU結合使用; ? 調優(yōu)的USE模型; ? 演示實驗:perf PMU分析系統(tǒng)性能。 |
總計12h
ARM架構已經有41年的歷史,目前市場上以v8架構為主,也還有一定的v7架構芯片。v9架構基本還沒有產品出現(xiàn)。本課程以v8為主,同時兼顧v8中與v7,v9相同的部分。
站在架構角度看,匯編語言,異常處理和內存管理處于核心位置。內核crash調試和調測技術體現(xiàn)的是對ARM和系統(tǒng)的綜合理解。課程首先結合實例和練習介紹匯編語言,異常處理和內存管理。最后用內核crash調試和調測技術把前面知識串聯(lián)起來,幫助大家綜合應用。
不同于很多上來講匯編語言的ARM課程,課程首先介紹講解“理論,代碼,實踐”三位一體的學習方法,然后在每章的課程中,用開頭的引導問題引發(fā)打大家的思考,最后用課后練習保證大家的學習效果。課程中的明線是ARM架構,暗線是系統(tǒng)調試和調優(yōu),會在合適的地方出現(xiàn)調試/調優(yōu)的工具,并在課程的最后兩課對調試和調優(yōu)有全面的學習。
?BSP工程師;
?Linux驅動工程師;
?固件工程師;
?系統(tǒng)軟件工程師;
?IC驗證工程師。
?希望從X86遷移到ARM的軟件工程師。
1.熟悉ARM架構各類專業(yè)詞匯,遇到問題能從正確方向入手;
2.對匯編語言不再害怕,能看懂和上手調試;
3.對異常處理有從上到下縱向的理解,既能調試底層代碼,也能在上層應用異常概念完成開發(fā)工作;
4.能理解操作系統(tǒng)物理內存管理的核心,將來可以向上對接操作系統(tǒng)更豐富的內存管理能力,從而為掌握操作系統(tǒng)打下基礎;
5.結合ARM架構知識靈活運用系統(tǒng)的調測能力。
十四年IT基礎設施研發(fā)經驗,其中包括六年Linux kernel一線研發(fā)經驗,在suse,華為,星際比特(技術合伙人)等公司工作。
作為團隊核心成員參與了大陸第一個Cortex-A8 SOC芯片研發(fā),負責CPU軟件驗證,操作系統(tǒng)移植等工作。
作為華為派駐到Linaro的技術專家,主導/參與多個Linux與arm架構相關特性研發(fā)(ILP32,continuous bit hint,kernel selftest等)
在拉斯維加斯,柏林,布達佩斯和北京多次發(fā)表技術演講:
?2020 第?屆開源操作系統(tǒng)年度技術會議(OS2ATC) Linux On RISC-V最新進展和遷移要點?2019 ?知錄 ARM在企業(yè)級的應?與前景?2019 建設銀? ARM在企業(yè)級的應?與前景?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
Ftrace訓練營1期線上合影
Ftrace訓練營1期證書
閱碼場訓練營文化衫
學員好評





