104學習精靈

全部 課程 貼文 教室 證照 影片
Linux Server相關的課程 (7)
從工作推薦課程
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
艾鍗學院
Linux入門職能精修
本課程以教企業的方式來教學,著重在使用方法與思維!許多學過Linux的應徵者在面試時,常被問到「你會LINUX嗎?」、「你實際做過那些LINUX服務呢?」、「什麼是LAMP呢?」如果你未來想成為網管、網站開發、嵌入式Linux開發、ROS機器人開發、敏捷開發、雲端架構、AI大數據分析、Web全端開發、資安防禦等領域的工程師,那你不可不學Linux。 看書自學太複雜,密密麻麻的文字介面,讓大部分的人看不到幾個章節就投降了。 查找網路上的技術文章,無法讓初學者循序漸進的掌握技術全貌,遇到問題也不一定有人幫你解答。 上一般坊間的Linux課程,講者不一定會明確告訴你技術應用的方向,學到的知識不一定能讓你與職場所需接軌。 為了幫助初學者克服上述困境,本課程從「如何幫你培養與業界接軌的Linux職能」角度出發,從系統安裝到服務器應用,由講師一步一步地教你操作。只要你照著講師的步驟,就會自然而然地學會Linux。接下來只要反覆練習,你將對Linux更熟練。 1. 什麼是Linux 2. Linux系統安裝 3. Hyper-V 4. VMwarePlayer 5. Virtualbox 6. 如何連線遠端Linux 7. RemoteConnectLinux - 讓你清楚的明白,什麼是遠端連線。 8. 檔案系統與系統結構 9. 系統結構 10. 檔案系統 (ext2、ext3、ext4、xfs) 11. 檔案類型與權限 (chown、chmod) 12. 套件安裝與常用指令 13. 關閉IPV6 & 變更Source.lst 14. 如何安裝需要的套件 (apt-get、dpkg) 15. 常用指令 16. 編輯器的使用 vi 17. 必懂的Linux操作 18. 核心升級 (apt-get、dirt-upgrade) 19. 網路設定 (ifconfig、route) 20. 時區設定及校時 (ntpdate) 21. 硬碟分割與掛載 (fdisk、mkfs、mkfs.ext2、 mkfs.ext3、mount) 22. 使用者帳號管理 (useradd、adduser、deluser、userdel) 23. 檔案壓縮與備份 tar 24. Ubuntu核心編譯 25. APACHE服務的安裝與設定 26. 服務器安裝 Vsftpd + windows應用 27. NFS服務的安裝與設定 28. SAMBA 服務的安裝與設定 + windows應用 29. PHP 30. 服務器安裝 Mysql 31. LAMP整合安裝 (tasksel install lamp-server)
艾鍗學院
Linux Socket網路程式設計
1. 了解 server/client程式運作與 TCP/IP原理。 2. 能夠以 C語言實作 TCP/UDP/Raw Socket。 3. 能夠以 ioctl/fcntl/setsockop去控制 Socket的行為。 4. 實現 Broadcast,Multicast。 適合具備C語言基礎,想要從事Linux程式或嵌入式應用程式開發者。 1. TCP/IP ▪ Introduction ▪ TCP/IP and OSI maping 2. Socket-What is Socket? ▪ Socket API ▪ Socket programming flows (connection-oriented) ▪ Socket programming flows (connectionless) ▪ Socket address structure ▪ Byte ordering and manipulation ▪ TCP socket API ▪ UDP socket API 3. Raw Socket ▪ Introduction ▪ Create Raw Socket ▪ Raw Socket I/O 4. Socket Option ▪ getsocketopt / setsocketopt ▪ Generic Socket option ▪ fnctl function ▪ ioctl function ▪ File operations ▪ Interface operation 5. Name and Address conversion ▪ Domain Name System ▪ Resolvers and Name server ▪ gethostbyname function ▪ gethostbyaddress function ▪ gethostname function ▪ getservbyname and getservbyport function 6. Daemon Processes ▪ Daemon characteristics ▪ Syslog daemon ▪ xinetd Daemon 7. I/O Multiplexing ▪ Blocking I/O model ▪ Nonblocking I/O model ▪ I/O multiplexing model ▪ Signal driven I/O model ▪ Asynchronous I/O model ▪ Comparison I/O module ▪ Select function ▪ poll function 我想了解更多 8. Broadcasting & Multicasting ▪ Introduction ▪ Broadcast addresses ▪ Multicast addresses
艾鍗學院
Linux系統程式設計
一般情況,通常整個Linux系統的功能會有你自己寫的程式(可能也會去連結GPL或LGPL函式庫)並整合一些來自Open Source的程式。雖然Linux已存在很多的Open Source,但不可能永遠運氣這麼好都可以找到100%符合需求或規格的原始碼,所以你必須懂得如何修改成你要的功能。不論自己寫或移植Open Source,這些都是基於Linux核心,所以一定會用到Linux核心的能力,包含裝置I/O請求、多行程、同步處理、行程通訊等。若你的系統需要TCP/IP通訊,還得懂Socket網路程式設計。想自己寫並且能改得動Open Source的程式,其實要具備Linux系統程式設計的能力,你可以透過閱讀"Linux Programming Manual",但是篇幅之廣泛且多元,如果沒有對作業系統有一定的認知,不懂對系統呼叫(System call)所產生Linux背後的運作行為,很難了解真諦。因此若有經驗的人帶你看並且提供範例程式演練,對於學習會相當有幫助。 本數位課程為學習套餐,另外加入了C程式及及資料結構(Data Structures)2門基礎課程,雖是基礎但它卻是資訊學科領域非常重要的核心課程,因為唯有好的程式基礎對於本課程的理解才會事半功倍。 學習目標: 1. 了解Linux system call 及OS作業系統所扮演的功能。 2. Linux 低階I/O輸入輸出 3. Linux 多執行緒與同步控制 4. Linux 行程管理與IPC行程間通訊 5. 了解TCP/IP原理與client server網路架構 6. Socket Programming 網路程式設計 7. 能夠實現Raw Sokcet與UDP Multicast 功能 8. UART Serial 序列程式設計 章節架構 ★ 精通C語言  程式語言導論  C程式介紹  運算式  流程控制  函式與巨集  陣列與指標  字串處理  變數範圍  檔案管理  NEW data Type ★ 資料結構  資料結構導論  ADT 抽象資料型別設計方法  Set 集合 ADT設計  Stack堆疊  Queue 佇列  Linked List鏈結串列  Tree樹狀結構  Graph 圖形結構  Search資料搜尋  Sorting資料排序 ★ Linux系統程式設計  Low Level I/O Routine  File and Directory Manipulation  General Library Interface  Processes  Signals  POSIX Thread  InterProcess Communication  Shell programming  Linux Serial Programming  Linux Sokcet Programming  TCP/IP 網路簡介(1)  TCP/IP 網路簡介(2)  Wireshark 工具使用  TCP Socket程式與Socket API介紹  Socket多工處理  UDP Socket  Unix Domain Socket  Socket Option & Ioctl
艾鍗學院
Linux驅動程式
用Raspberry Pi學Linux驅動程式,並且搭配本公司所設計的Raspberry Pi I/O擴充板作為驅動程式實戰演練,實戰GPIO, UART, I2C, SPI等Linux硬體驅動,讓您在學習的過程中能夠快速了解硬體架構及軟體架構。 1.學習Driver撰寫的各個層面,包含核心API、中斷處理、同步、記憶體管理等等。 2.導正學員Linux Device Driver與Linux基本作業系統的觀念,為將來的Driver coding打下良好的基礎。 3.可以了解user-space與kernel-space之間的關係。 4.可以開始研讀及參考kernel裡面或是別人撰寫的device driver source code。 學習目標: 1. 能掌握Linux驅動程式設計概要及學習方法 2. 能看懂drivers目錄中與你要寫的類似驅動程式,並能依此參考並能加以改寫完成你自己的驅動程式 章節架構: ► Linux 驅動程式架構 ► Linux HAL ► Linux Driver開發流程 ► 核心程式碼與Makefile ► Driver 模組編譯與載入 ► 字元裝置Driver ● Character_Driver (1) ● Character_Driver (2) ● Character_Driver (3) ● Udev ► Linux Misc Device ► Linux GPIO Driver Framework ● Linux GPIO Lib ● BCM2835 GPIO 控制說明 ● Linux GPIO Host Controller驅動程式 ► Linux 中斷服務程式 ► Linux中斷控制器HAL層 ► Bottom Halves (Tasklet &amp; Work Queue) ► 進階字元Driver ● Wait Queue ● Completion及非同步通知 ● Kernel Timer List (Jiffies, timer ticks) for LED 閃爍 ► Linux Platform Device & Platform Driver ► Linux Device Tree ► Linux SPI Driver Framework ● SPI簡介 ● SPI Flash 操作 ● Linux SPI Client驅動程式 for SPI Flash ● Linux MTD 驅動程式 ● Linux SPI Bus master驅動程式 ► Device Tree for ADC Driver (MCP3008) ► Linux I2C Driver Framework ● I2C 簡介 ● Linux I2C Framework(1) ● Linux I2C Framework(2) ● Linux I2C Bus master驅動程式 ► Linux UART Driver Framework ► Linux User Space Driver - BCM2835 C I/O Library
艾鍗學院