👇延伸上次的GPIO基礎學習說明
❓許多初學者或工程師朋友們常會問我,想學好嵌入式系統基礎,到底該學ARM、8051還是PIC? 該學習幾位元的CPU平台?
🥸首先,我建議應該先了解這個問題是在「問什麼」,什麼是ARM?
ARM是CPU,而8051和PIC是MCU,朋友們可自行想想看,CPU和MCU是一樣的東西嗎?
又,假設初學者只有呼叫過(複製貼上、頂多改參數/引數) 人家所寫好的API (例如開源社群 或者 IC Design公司的軟韌體單位 所提供的API Library函數庫)來驅動MCU作事(完成功能)的話,
阿良 (孫文良) 發表在 痞客邦 留言(0) 人氣()
🥸 最近在本園區所開設的 「嵌入式系統基礎原理與實務課程」內,和幾位工程師學員講解到GPIO的部分,頗有感觸。
GPIO (General-Purpose Input/Output)的應用看似簡單,但其背後的原理可有著不少學問。
阿良 (孫文良) 發表在 痞客邦 留言(0) 人氣()
因為前陣子剛好trace到bootstrap相關的code,今天看到Youtube上的台大資工系的OS課程影片,所以就稍微探討一下關於Bootstrap這名詞的使用與定義差異,雖然這些名詞或許本來就難免會隨著年代及平台的差異而被混用。
該台大資工系課程影片中16:38開始的部分 (對應這篇po文的第一張截圖圖片) https://www.youtube.com/watch?v=OQiCacvx5rQ&t=997s
以下是探討的部分:
雖然boot就是源自於bootstrap的縮寫,但有些名詞如果要細究,似乎又有些在名詞定義有所差異的狀況可以探討。
後來發現上面那課程投影片以及說法是恐龍本(恐龍書)內的部分描述,而課程影片似乎是更簡化一些的PPT呈現與描述方式。
阿良 (孫文良) 發表在 痞客邦 留言(0) 人氣()
‼ 在此推廣一下 適合初學者的【嵌入式系統基礎原理與實務課程】‼
👉 本po文的影片內容為一個簡易的小範例,由8051 MCU GPIO之Output(輸出)驅動LED完成簡易跑馬燈功能。
影片內容包含從操作KEIL C51 IDE的免費評估版對程式碼進行編譯,並且藉由 ISP (In System Programming) 燒錄方式(便宜又好用) 對8051 MCU進行燒錄並觀察執行結果。
阿良 (孫文良) 發表在 痞客邦 留言(0) 人氣()
Root Filesystem之編譯建置與執行 課程簡介
Root Filesystem為根目錄檔案系統。簡而言之,檔案系統為電腦資料的儲存和組織(架構)方式,與作業系統之間有著密切的關係。
延續上一節Kernel之編譯建置與執行之課程內容後,這節課程將會帶領學員:
- 課程實驗內容將透過 純文字指令方式(command line) 進行,符合科技產業界對於此類系統的開發方式
- 在Host PC端之Ubuntu Linux開發環境中,取得Busybox這款知名的開源檔案系統建置工具的source code,並透過GNU Toolchain編譯工具對其進行編譯,以建置出給Beaglebone Blcak嵌入式系統開發板所運行使用的Root Filesystem(根目錄檔案系統)
阿良 (孫文良) 發表在 痞客邦 留言(0) 人氣()
【歡迎透過合法的方式分享此文內容,若要轉載/轉貼,請明確貼出此原始連結並標示作者基本資訊,請勿抄襲及非法轉貼(例如擷取內文但並未註明出處)】
先聲明,這篇不是工商服務廣告,單純介紹和分享一些嵌入式系統板子的使用經驗。
BeagleboneBlack(BBB)這板子真的蠻不錯的,
除了上面的AM3358 SoC系統晶片維持TI SoC的一貫風格(TI OMAP系列SoC也是如此) 釋出很多SoC的詳盡手冊資料(眾多開發板上的SoC款式之中,我看過釋出資料最詳細的就是他們家的SoC)、很適合拿來做有深度的研究之外,
也真的很適合拿來做技術教學,
阿良 (孫文良) 發表在 痞客邦 留言(0) 人氣()
【歡迎透過合法的方式分享此文內容,若要轉載/轉貼,請明確貼出此原始連結並標示作者基本資訊,請勿抄襲及非法轉貼(例如擷取內文但並未註明出處)】
阿良 (孫文良) 發表在 痞客邦 留言(0) 人氣()
Kernel為作業系統的核心,是現代作業系統之中最基本也是最主要的單元,簡略而言,Kernel主要負責整體電腦系統的資源管理。
延續上一節Bootloader開機啟動程式建置與執行之課程內容後,這節課程將會帶領學員:
- 在Host PC端之Ubuntu Linux開發環境中,透過純文字指令方式取得Linux Kernel source code,並透過GNU Toolchain編譯工具對其進行編譯,以建置出給Beaglebone Blcak嵌入式系統開發板所運行的Embedded Linux Kernel Image
- 製作Boot script(包含帶給Kernel的必要啟動參數以及與啟動核心相關的UBoot指令)
- 介紹如何讓Beaglebone Blcak板子從SD卡載入並啟動Linux Kernel Image
阿良 (孫文良) 發表在 痞客邦 留言(0) 人氣()
課程涵蓋內容如下:
- 韌體程式常用程式語言
- 組合語言指令集與MCU架構簡介
- 以架構簡潔清晰的Intel MCS51指令集為教材範例
- C語言基礎複習
- 高階與低階語言(C語言 與 組合語言Assembly)差異介紹與實驗驗證
- STM32 MCU常見開發環境操作教學
- ARM KEILC 評估版 整合開發環境(IDE)操作教學
- STM32CubeMX工具與STM32Cube IDE操作教學
- 其它IDE簡介(如 IAR)
- 中斷(Interrupt)機制
- ARM Cortex-Mx系列搭配之NVIC (嵌套式向量中斷控制器)介紹
- 中斷優先權實驗
- 周邊裝置驅動原理與實作
- GPIO(通用輸入/輸出介面)
- GPIO架構與驅動原理
- IO Port結構原理、Open-drain(開汲極)、Push-Pull output(推挽式輸出)、Pull-up、Pull-down等相關硬體電路原理
- 外部簡易電路整合應用設計原理
- 輸出驅動實驗(GPO, General Purpose Output)
- 輸入驅動實驗(GPI, General Purpose Input)
- Timer/Counter(計時器/計數器)
- UART (通用非同步串列傳輸通訊介面)
- UART之協定原理
- 輪詢與中斷應用實驗 (與其它具備UART介面之設備進行通訊實驗)
- RS232與RS485纜線介紹
- ADC(類比轉數位轉換器)
- I²C串列通訊介面
- SPI串列通訊介面
- 其它各種周邊裝置、I/O介面或協定(PWM、1-wire、DAC、DMA...)
阿良 (孫文良) 發表在 痞客邦 留言(0) 人氣()
課程涵蓋內容如下:
- 說明: 雖然近年來已經有Yocto、Buildroot、OpenWrt等組件工具可以簡化許多在嵌入式Linux建置過程中的繁複流程(若未來有機會的話,可能會開這些工具的使用教學課程),但是,無論在許多有做SoC的IC Design house(IC設計公司) 或者 系統廠 的嵌入式Linux軟韌體相關研發單位,嵌入式Linux各階段軟韌體的基礎建置(包含對應的編譯開發環境的各環節)能力、觀念和經驗,也就是本課程的教學主軸,仍是非常重要的, 在過程中將會學習到許多在進行嵌入式Linux系統開發時所需的基礎觀念和經驗。 。
- 在此課程內容中,有著許多細節,通常對於初學者自學而言將會消耗大量的時間在克服一些技術細節方面所帶來的困難,大多需要實際的經驗才能在較短的時間內克服,所以若讓有經驗的人指導,在學習上將會事半功倍。
- 實驗硬體平台預計為ARM Cortex-A8 based SoC(系統晶片)為核心之開發板(Beaglebone Black)
- 課程內容相關文章:
阿良 (孫文良) 發表在 痞客邦 留言(0) 人氣()