104學習精靈

全部 課程 貼文 教室 證照 影片
Linux相關的課程 (16)
從工作推薦課程
ARM Boot loader
本課程將透過ARM開發工具模擬器操作,以實際瞭解ARM核心的指令集、記憶體處理器(MMU)、中斷處理等。課程使用開源硬體平台Raspberry Pi實作一個ARM BootLoader,從中你可以了解從最底層的ARM Assembly到C main函式所發生的每一件事。實作中也以bare-metal (Non-OS)方式驅動如,GPIO、UART、TIMER等I/O,另也以實際code說明Raspberry Pi的SoC晶片(BCM2835/BC2836)中,ARM CPU如何和GPU通訊。最後,有鑑於學員在實際工作上所使用的開發工具大多為開發套件外,最後將講習如何將程式轉換為GNU工具可使用的原始碼。<<對於想要從無到有開發一套ARM-based作業系統,本課程絕對是一個OS開發者的前哨站>> 藉由Bare Metal 開發, 我們可以學到: 1.ARM 的CPU架構及組合語言 2.ARM Exception Vector Table & ARM例外處理 3.Boot From Where ? CPU initialize & DRAM controller initialize 4.How to write Startup Code ? 如何撰寫Linker Script 5.SoC 中斷控制器 & ISR (Interrupt Service Routine) 6.在沒有OS情況下要如何撰寫程式, 包含Application或 Chip Driver 7.CPU和GPU如何通訊? 適合對象 1.對ARM架構和其底層系統程式開發有興趣者。 2.想從事ARM BSP development、ARM Bootloader/BIOS programming、研發相關工作者。 3.須具C程式設計基礎。 章節架構: ► 1.SoC基本架構 ► 2.ARM處理器架構 ► 3.ARM組合語言 ► 4.Thumb mode ► 5.ARM 標準程序呼叫 ► 6.ARM Exception handling /例外中斷處理 ► 7.Memory Barrier & Coprocessor ► 8.系統程式-Linker & startup code ► 9.Bare-metal Development using Raspberry Pi 3 ● 認識Broadcom BCM283x SoC ● Raspberry Pi 3開機流程 ● 實作 GPIO 驅動-LED、 Button ● 實作BCM2835 中斷控制器 ● 實作System Timer 中斷 ● 實作GPIO中斷 ● 實作UART ► 10.GPU 與ARM間的溝通 ● 用Mailbox 界面實作Framebuffer
艾鍗學院
資料結構精修
資料結構(Data Structures)是資訊學科中的核心課程之一,也是嵌入式軟體設計的基礎課程。「資料結構精修班」教授軟體開發者必修的資料結構和演算法,讓你思考程式的執行效率。 1. 不僅學會撰寫程式,還能夠清楚掌握程式的重要觀念,了解”軟體程式=演算法+資料結構。 2. 能熟悉不同資料結構的設計模式。 3. 能了解軟體程式在何時會應用到這些資料結構。 4. 藉由排序與搜尋演算法理解來討論Big-O演算法效能分析。 1. 資深軟體工程師上的資料結構。 資料結構不是用來考試的,給你真正用軟體設計思維思考資料結構設計。 2. 重視實作的方法。 資料結構不能只會觀念性描述, 還必須知道每一個結構定義完之後, 該如何具體實現, 每一個實現的方法,還能分析它的好壞 (複雜度分析)。 課程提供的資料結構範例程式,可以使用任何C編譯器進行編譯,例如Code Blocks 、windows Dev-C++ 或 Linux 下的 GNU C 編譯器 (gcc) 章節架構: Part1-資料結構導論 Part2-ADT 抽象資料型別設計方法 Part3-Set 集合ADT設計 Part4-Stack堆疊 ► 堆疊ADT設計 ► 堆疊軟體應用 Part5-Queue 佇列 ► 佇列ADT設計 ► 環狀佇列ADT設計 ► 堆疊軟體應用 Part6-Linked List鏈結串列 ► 動態配置記憶體 ► 單向鏈結串列 ► 環狀鏈結串列 ► 使用C鏈結串列的各式操作-串列串接、串列反轉 Part7-Tree樹狀結構 ► 二元樹簡介 ► 樹ADT設計 ►二元搜尋樹(Binary Search Tree) ►建立(插入)節點、搜尋節點、刪除節 Part8-Graph 圖形結構 ►圖ADT設計 ►圖的表示法 ►建構圖、刪除邊、刪除頂點 ►圖走訪 ►DFS ►BFS ►軟體應用- 求最短路徑 ►Dijkstra 演算法 ►Bellman-Ford演算法 Part9-Search資料搜尋 ► 線性搜尋 (Linear Search) ► 二元搜尋 (Binary Search) ► 雜湊搜尋法 (Hashing) Part10-Sorting資料排序 ► 氣泡排序(bubble sort) ► 選擇排序(selection sort) ► 插入排序(insertion sort) ► 快速排序(quick sort) ► 合併排序(merge sort) ► 桶排序(bucket sort)
艾鍗學院
ROS機器人自走車系統開發應用
全國第一 專業ROS機器人培訓中心 為了幫助你更有效率地學會ROS機器人系統開發的核心技術,本課程由具有豐富機器人開發經驗的業界工程師親授,強調實務教學,深入淺出引領你了解ROS重要觀念+實戰ROS程式。實作中搭配艾鍗獨家研發Raspberry Pi擴充板,真正落實「做中學,學中做」,幫助每一位學習者都能自然而然且無壓力地培養與業界接軌的ROS技能。課程特別設計成兩階段,在第一階段,將教你在電腦中建置基於Linux Ubuntu的ROS系統,並能學會機器人主機(Raspberry Pi)與各部位進行通訊,讓你逐漸掌握ROS系統開發必會的指令來行重要控制。在第二階段,講師以ROS認證機器人-Turtlebot Burger實機演示,教你進階應用包括gmapping(地圖構建開源套件)、move_base(路徑規劃套件)等ROS套件使用方法和SLAM(simultaneous localization and mapping,即時定位與地圖構建)、Navigation(導航)等ROS演算法應用,讓你能快速掌握ROS技術核心、參數調整與除錯的技巧。用ROS技術來為自身職能加分,增強開發實戰力! 政府補助課程,歡迎洽詢! 課程特色 1.本班學員獨享艾鍗獨家研發擴充板 為了傳達正確的ROS系統開發的學習觀念與重點,艾鍗獨家設計I/O子板,以擴充原Pi板的功能,並對其中所有軟硬體控制原理進行透徹解說,使你可以透過主題式Lab,實踐ROS系統開發的核心技術與架構。 2.資深機器人開發工程師親授 具有豐富開發經驗的資深工程師親自教您產業實務,快速掌握關鍵技術,縮短摸索碰壁的時間。引領你了解ROS的架構原理、程式設計流程、開發環境與蓬勃發展,領略為何至今仍以ROS為主?體會ROS的無窮潛力及強大用途! 3.完整程式碼開發實戰 本課程以實務為主=觀念+實戰(寫ROS程式)因此不會有任何深奧難懂的數學、資料結構、演算法等,幫助你快速建構開發觀念,透過完整開發程式碼,提高學習效率,快速提升職能,縮短開發時間。 學習目標 1. 能了解全球主流的機器人系統---ROS之緣起、特性與應用。 2. 能學會ROS機器人系統開發環境之建置與基本指令操作。 3. 能了解ROS機器人系統架構與重要觀念,包括ROS Master、節點(Node)、消息(Message)、話題(Topic)… 4. 能學會在ROS系統中的程式開發與節點通訊。 5. 能學會專屬ROS package(套件)之創建。 6. 能學會在Raspberry Pi上建置ROS系統與應用,包括I/O控制、遠端監控。 7. 能了解常用機器人之感測器-Lidar(光達)之特性與應用。 8. 能學會以TF套件進行座標轉換之應用。 9. 能學會Laser-based SLAM(即時定位與地圖構建)之相關套件應用Gmapping。 10. 能學會以move_base、amcl等套件實現2D Navigation之應用。 11. 能學會以GUI工具套件rqt、3D可視化工具套件rviz等進行開發資料之記錄、分析與模擬,作為後續開發優化之依據。 12. 能從ROS機器人Turtlebot操作中,學會ROS套件的整合應用。
艾鍗學院
邊緣運算實務
在AI人工智慧應用中,若所有資料都要回傳到雲端中心,計算之後再傳回終端的話,一定會有「網路延遲」產生,而這些延遲可能會對人類安全與生命財產造成嚴重威脅,比方說,自駕車偵測系統若識別前方的物件,先經由網路送至雲端再傳回結果,可能就會因延遲而造成不可挽回的意外事故;再者有些工廠的環境可能網路不穩定或者企業基於網路資安等問題而沒有網路。這些都使AI模型在雲端進行推論時有使用上的困難。 邊緣運算的概念正因此而生,不透過網路將資料傳送到雲端進行推論(Inference),而是在本機端直接進行推論,加快現場即時反應,讓AI的使用場域更加全面且便利。然而在邊緣進行AI運算,會面臨到本機運算能力及記憶體容量限制等因素,因此也會有一些需要克服的難題,因此本課程先從技術架構、模型優化方法說明並搭配Raspberry Pi 結合Intel NCS2 神經網路加速棒,配合OpenVINO程式碼實作,以實現邊緣運算的應用。 資深講師先幫你打好原理底子,搭配實際操作更有感! 學會以OpenVINO(Open Visual Inference and Neural network Optimization)進行AI模型的格式轉換,進而能將AI模型部署在邊緣裝置上。 學會AI軟硬整合,實現邊緣運算之影像辨識應用 學會AI軟硬整合,實現邊緣運算之影像辨識應用(如人臉辨識與動態影像識別等)。 傳承業師實務開發經驗,提高學習者的AI邊緣運算應用之開效率。 學習目標 1. 學會以OpenVINO(Open Visual Inference and Neural network Optimization)進行AI模型的格式轉換,進而能將AI模型部署在邊緣裝置上。 2. 學會AI軟硬整合,實現邊緣運算之影像辨識應用 3. 學會AI軟硬整合,實現邊緣運算之影像辨識應用(如人臉辨識與動態影像識別等)。 4. 傳承業師實務開發經驗,提高學習者的AI邊緣運算應用之開效率。 章節架構 OpenVino邊緣運算實務 1. 邊緣運算 技術簡介 邊緣運算的開發架構 模型優化的概念 2. OpenVINO邊緣運算實務 Intel NCS2 神經網路加速棒簡介 OpenVINO Toolkit 架構說明 由Keras (.h5)模型轉成IR (.xml & .bin)檔案 Raspberry Pi 安裝OpenVINO 建立OpenVINO應用程式- 程式架構與CMAKE說明 專案: WebCam串流人臉偵測 專案:WebCam 即時手寫數字辨識 (OpenCV與MNIST)▼ 3. 基本Raspberry Pi 使用入門
艾鍗學院