2017年8月30日 星期三

[新手教學] ARM boot Loader 數位課程學習須知



 教學影片內容為ARM 微理機架構解說與ARM Boot Loader 等技術主題的說明並有講師Demo Pi 3影片

目標對象:
  1. 有嵌入式系統開發經驗但並未接觸過底層開機程式碼 (Boot code)

先備知識: 

  1. 具Linux 系統操作能力
  2. 熟悉的C程式
  3. 會使用gcc, make 的等GNU開發工具
  4. 有Raspberry Pi 的操作使用經驗
Raspberry Pi 3 環境建置:


請先登入學習平台,在[課程公告]處, 點選下載ARM Files.rar ,解開後內容如下

ARM Files 檔案目錄結構:
├─ADS_code  (ADS 課程範例原始碼)
├─Document (Data Sheet及電路圖等文件)
├─Tools
│  ├─2016-05-27-raspbian-jessie-lite.zip (Raspberry Pi 3官方Image File)
│  ├─ADS12trial.rar (ADS 1.2 試用版)
─pi-boot.zip (Raspberry Pi Bootloader  課程範例原始碼)
├─TOC.tx

其中 pi-boot.zip 要傳送到Linux下 (上課講師用的環境是Ubuntu 16.04, 其實主要是Toolchain能否執行的問題,和那個Linux Distribution並無太大關聯)
執行 "unzip 
 pi-boot.zip" 解開後的內容如下, 請照README.txt的說明作業執行第一個Pi上的範例.
(都寫成這樣了, 你還會看不懂,只能請你參考
 Linux實務課程  ^^)



 ARM bootloader on Raspberry Pi 3 
=====================================
  
 www.ittraining.com.tw


How to Build
------------------------
step1: untar Toolchain
------------------------
gcc-arm-none-eabi-5_3-2016q1.tar.gz --> for 32-bit Linux host  
gcc-arm-none-eabi-6-2017-q1-update-linux.tar.bz2 --> for 64-bit Linux host


For example, 

tar jxvf gcc-arm-none-eabi-6-2017-q1-update-linux.tar.bz2 

-------------------------
step2: Setup Toolchain Path
-------------------------

For example,

export PATH=$PATH:/home/it/pi_baremetal/trunk/gcc-arm-none-eabi-6-2017-q1-update/bin

type "arm-none-eabi-gcc -v"

it will display : gcc version 6.3.1 

#modify make.dep to determine which version to use
# 0 for 32bit ; 1 for 64
Host_64=1

-------------------------
step3: make boot code firstly
-------------------------

cd startup_code ; make


-------------------------
step4: test demo code
-------------------------


cd trunk/example/bare_gpio
make

output==>armgpio.bin

-------------------------
step5: put the code to Raspberry Pi 3
-------------------------

 copy 'armgpio.bin' to micro SD card and add one line 

 kernel=armgpio.bin

at the end of the config.txt file. Then, you insert micro SD card into Raspberry Pi,and power on. After booting, you can see LED is blinking.


 Note: code 在Pi 3上測試過
      目前講師所整理的code 僅以Raspberry Pi 3 搭配艾鍗 Raspberry Pi 3 Shield 版本為主







沒有留言 :

張貼留言