104學習精靈

全部 課程 貼文 教室 證照 影片
Linux相關的課程 (16)
從工作推薦課程
C語言控制Raspberry Pi I/O
Linux是一套作業系統,且Linux的源碼和架構都是開放的。發展迄今,整個設計體系已經相當穩定,並化繁為簡,開發彈性大,因此從網站到物聯網系統開發,Linux無所不在,如果你自認自己是科技知識份子,那麼選擇Linux應該是理所當然。 而C語言是計算機程式的共同基礎,具備熟稔的C語言能力,從事硬/韌體的相關開發,才會有更好的效率。 若您有志朝嵌入式系統軟底層、MCU韌體、IC驅動程式開發、物聯網應用開發等以Linux、C語言為主軸的專業來發展,本課程將幫助您快速學會工程師必備的Linux與C語言能力,並教您運用C語言來進行Raspberry Pi 的基本操作,並搭配艾鍗獨家設計I/O子板,擴充了原Raspberry Pi 板的功能,並對其中所有軟硬體控制原理進行透徹解說,讓你可以在實作中驗證自己的學習成效,讓你可以成為創客 (Maker) 來實作各種有趣點子,也為踏入進階工程領域(像是嵌入式Linux開發、MCU韌體開發等)前建立紮實基礎。 Part1-Linux職能精修 ►什麼是Linux ►Linux系統安裝 ►Hyper-V ►VMwarePlayer ►Virtualbox ►如何連線遠端Linux ►RemoteConnectLinux - 讓你清楚的明白,什麼是遠端連線 ►檔案系統與系統結構 ►系統結構 ►檔案系統 (ext2、ext3、ext4、xfs) ►檔案類型與權限 (chown、chmod) 單元5 套件安裝與常用指令 ►套件安裝與常用指令 ►關閉IPV6 & 變更Source.lst ►如何安裝需要的套件 (apt-get、dpkg) ►常用指令 ►編輯器的使用 vi ►必懂的Linux操作 ►核心升級 (apt-get、dirt-upgrade) ►網路設定 (ifconfig、route) ►時區設定及校時 (ntpdate) ►硬碟分割與掛載 (fdisk、mkfs、mkfs.ext2、 mkfs.ext3、mount) ►使用者帳號管理 (useradd、adduser、deluser、userdel) ►檔案壓縮與備份 tar ►Ubuntu核心編譯 ►APACHE服務的安裝與設定 ►服務器安裝 Vsftpd + windows應用 ►NFS服務的安裝與設定 ►SAMBA 服務的安裝與設定 + windows應用 ►PHP ►服務器安裝 Mysql ► LAMP整合安裝 (tasksel install lamp-server) Part2-精通C語言 ►程式語言導論 ►C語言開發流程&規範 ►整合式開發環境 ►C程式介紹 ►程式架構 ►基本輸出與輸入函數 ►運算式 ►流程控制 ►資料流程與架構 ►函式巨與集 ►函數定義 ►遞迴呼叫 ►巨集 ►陣列與指標 ►陣列 ►多維陣列與指標 ►泡沫排序法 ►使用C語言開發驅動程式 ►字串處理 ►變數範圍 ►全域變數&區域變數 ►檔案管理 ►C語言檔案處理 ►NEW data Type ►typedef型態定義 Part3-C語言控制Raspberry Pi I/O ►Raspberry Pi 使用 ►Raspberry Pi 簡介 ►Raspberry Pi 使用 (包含Linux系統檔案系統與常用指令說明) ►數位介面 ►感測器介面與Pi子卡介紹 ►數位感測器讀取 ►GPIO ►使用BCM2835 Peripheral Library ►LED, Button, PIR, Relay ►PWM (SG90伺服馬達控制) ►I2C 工作原理 ►I2C OLED (SSD1306Z) ►I2C G-Sensor (LIS3DH) ►SPI 工作原理 ►UART Interface - PM2.5 ►Modbus over RS485 ►類比界面
艾鍗學院
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設計開發
「嵌入式系統」是所有電子產品最重要的底層核心技術之一。從工業自動化控制設備、機器人、WiFi路由器、汽車、電動車充電樁,到手機與平板等行動裝置、各種互動式多媒體機台、監控與電信設備、醫療設備等,都採用了嵌入式系統。在半導體技術與人工智慧的發展下,AI與物聯網中各種嵌入式終端整合為AIoT系統,帶動嵌入式應用更加多元、智慧與彈性。儘管科技持續迭代變化,嵌入式技術的重要性仍未動搖,嵌入式Linux開發人才在半導體與電子資訊科技產業依然炙手可熱。 然而,由於學習嵌入式有一定的門檻和難度,學習者普遍面臨著整體概念模糊、實作經驗不足、學習與應用之間的落差,以及相對複雜的軟硬體整合等問題。因此,艾鍗力邀業界資深工程師聯手打造嵌入式系統學程。帶你熟悉Linux系統環境及伺服器安裝,了解Embedded Linux的主要部份包含:Toolchain, Bootloader, Kernel, Root Filesystem。上手Embedded Linux BSP:Buildroot與OpenWrt。 學習目標 1. 能清楚掌握嵌入式Linux的開發流程,並了解業界如何進行嵌入式產品開發與生產。 2. 瞭解如何建構一個完整的嵌入式Linux系統,並能夠進行軟硬體系統的整合、移植與開發。 3. 掌握Embedded Linux開發重點:Toolchain, Bootloader, Kernel, Root Filesystem。 4. 上手Embedded Linux BSP:Buildroot與OpenWrt。 5. 瞭解Open Source Porting與Debug技巧。 6. 學會如何在嵌入式Linux開發多執緒Pthread程式、網路Socket通訊程式。 課程大綱 1. 嵌入式Linux系統簡介與實務開發方式 2. 開發硬體平台說明 3. 軟體開發平台BSP 解說 4. 深入 GNU make 5. 移植 Open Source 6. Linux Frame Buffer Device & GUI 圖形系統 7. Bootlloader (u-boot開發, init SDRAM, Flash, How to write Driver in U-bot....) 8. Linux 檔案系統 (JFFS2, CRAMFS, YAFFS,UBIFS...) 9. Linux MTD 裝置 10. GNU toolchain (Shared vs. Static Library, Linker Script, ELF Format, ar, objcopy, objdump, nm, libtool,etc. GCC Compiler . GDB,..) 11.產品應用 (1)Media Player -Porting MP3 Player (2)NAS -Porting SAMBA (3)Wi-Fi Router -hostapd, dhcpd, bridge, ... (4)IP Camera -Porting Streaming server (5)HTTP Server & CGI -BusyBox
艾鍗學院