Embedded System 修課紀錄(0)

這學期到資工系去修嵌入式系統設計的課程,研究所一票同學都沒有先修過微處理機的課程,授課老師是說會很辛苦無法理解其中運作的道理,但是還是可以寫 Project,所以可以加簽。


玩板子


第二堂課馬上就是助教來上 Lab 課,要摸的是 Xscale-PXA270 這塊板子,只能根據教學投影片去完成連接,大致上有幾個要注意的地方
  • 主機板 Board 
主要操作的是 MicrotimeCreator Xscale-PXA270 Development Platform
  • 附載器 Carrier ICE
應該是將程式載入的工具
  • 傳輸介面 Interface
有兩個主要的通訊阜,RS-232 Modem Cable 和 Printer Port Cable,以及 ARM POD (目前不曉得這是啥?),不過是完成  Non-OS 的  programming 的關鍵!?
  • 連接主機的環境
第一次實驗課程是在 Windows  上面將程式碼載入到板子上,因此需要預先安裝類似 Command Line 的環境來完全編譯 (make && make install ) 操作。採用 Cygwin 因為資工系那邊的網路實在慢到爆,以 USB 拿到離線安裝檔案,安裝 Cygwin  的步驟要記得把 make 套件給勾選並且安裝。
  • 編輯器除錯工具 Debugger IDE
Domingo 似乎是新華公司自己開發的軟體,  是視窗導向可跨多MCU平台之整合環境發展軟體,除採用專案管理方式及GUI圖形化使用界面外,並提供強化之親和性操作及高率C高階除錯功能。


操作流程


硬體都安裝好之後,就是將程式碼給載入到新華的板子上。首先是軟體工具額外的安裝,再者是環境設定,最後使用新華的 IDE 完成操作即可。
  • 安裝 arm-elf-toolchain 工具
ARM CPU 的 GNU Cross Compiler 可以在某一架構下的 CPU 製作另一架構 CPU 可執行的Machine Code,Cross Compiler 擁有許多 Library 且網友已經將其包裝成工具包的形式供給大眾下載並且使用,有需要可以到 http://www.uclinux.org/pub/uClinux/arm-elf-tools/ 下載。如果你是 Linux 環境的話,前述網址就符合需求。本次練習的環境是 Windows 搭配 Cygwin 建立的環境,因此我們需要 arm-elf-toolchain for Cygwin 將檔案 arm-elf-tools-cygwin.tar.gz 放到路徑 C:\cygwin\usr\local 底下。

set CYGWIN=title ntea
cd /usr/local
tar -zxvf arm-elf-tools-cygwin.tar.gz

  • 安裝 Domingo 編譯器
無腦安裝,一直按下一步就好
  • 使用 Domingo 編譯器
  1. Create new project
  2. Hardware options: Target Machine and Processor
  3. Configuration: To Initialization PCM when Connect, Config PCM, Import creator_pxa270.pcm
  4. Connnect ICE and PC // Serial Ports
  5. Board Power On
  6. Connect ICE and PC // in IDE
  7. Load Program
  8. Run the Program
  9. Check the Result in Board // LED Lights
  • 實作跑馬燈
修改 demo.c 的 DEMO_TEST 函式,並將 LED 逐步閃爍。
DEMO_TEST(void)
{
    UC light;
    light=85;
    demo_put_led(~light);   
    Delay(125);
    light=170;
    demo_put_led(~light);   
    Delay(125); 
}

改成

DEMO_TEST(void)
{
    UC light = 0x0001;
    for(int i = 0; i < 8; i++){
        demo_put_led(~light);
        Delay(125);
        light = light << 1;
    }
}

以上大致上是 Lab01 的紀錄

Reference

[1.] Embedded System Design: Fundamental Principles and Experiments
[2.] 楊教授課程授課資料

Comments

Popular Posts