分享到plurk 分享到twitter 分享到facebook

版本 38fe77e79e89f2642f162459e4223e829616095f

Lab35: STM32F429

預期目標

  • 接觸 STM32F429i Discovery</embedded/STM32F429>_ 硬體並學習相關軟體開發
  • 學習 OpenOCD, gdb 等工具
  • 學習硬體週邊控制

STM32F429 Discovery

  • 軟硬體資源彙整</embedded/STM32F429>_
  • 開發工具設定 <http://www.slideshare.net/ssuser2b0431/stm32-develop-tool-introduction>_
  • 環境設定<https://stm32f429.hackpad.com/NOTE-WbiooOfkaoR>_ (Hackpad)
  • Remote GDB 使用<https://stm32f429.hackpad.com/GDB-3KbCVTstWZj>_ (Hackpad)

USB Serial 接法

.. image:: http://elinux.org/images/d/d3/RPI_Serial.png * PL2303 - Black: Ground - Green: Receive - White: Transmit

  • FTDI
    • Black: Ground
    • Yellow: Receive
    • Orange: Transmit

交通號誌 + 行車模擬系統

  • 參閱 Hackpad<https://system2014.hackpad.com/Traffic-Simulation-Dlv7svxemEy>_

.. code-block:: prettyprint

git clone https://github.com/embedded2014/freertos-stm32
cd freertos-stm32 && make
make flash || make openocd_flash

STM32F4 開發板介紹

  • 一起來認識 STM32F4 開發套件 (1)<http://www.rs-online.com/designspark/electronics/chn/blog/chi-blog-stm32f4%281%29>_
  • 一起來認識 STM32F4 開發套件 (2)<http://www.rs-online.com/designspark/electronics/eng/blog/stm32f4%282%29>_
  • 一起來認識 STM32F4 開發套件 (3)<http://www.rs-online.com/designspark/electronics/eng/blog/stm32f4%283%29>_

作業要求 (僅供參考,可自行替換)

  • Lab 31: ARM Environment<https://embedded2014.hackpad.com/2014q3-Week-1-mQLneatLPcT>, Lab 32: QEMU + FreeRTOS</embedded/Lab32>, Lab 33: GDB + FreeRTOS</embedded/Lab33>_ 等開發成果整合到 FreeRTOS-stm32<https://github.com/embedded2014/freertos-stm32>_
    • 跟之前作業一樣,記得先 fork FreeRTOS-stm32<https://github.com/embedded2014/freertos-stm32>_
    • GIT commit 應該一次加上一個功能或者主要修改,不要將不相關的修改,混合到同一個 Git commit!
      • 請詳閱 5 Useful Tips For A Better Commit Message<http://robots.thoughtbot.com/5-useful-tips-for-a-better-commit-message>_
    • 提示: 需要先設定 USART1,讓 shell 得以在 serial 環境中使用
    • 提示: 可以自行實做簡易的 shell,或者從稍早的程式碼移植並整合
  • (加分) 修改為你期望的遊戲

繳交作業

  • 截止日期:
    • Nov 1, 2014 (含) 之前
  • 更新作業提案到共筆網站: Lab 35 / 作業共筆<https://embedded2014.hackpad.com/2014q3-Week-5-L1ktrkrtBNa>_,需要標注自己的 ID
    • 將符合作業提案的程式碼,提交到自行 fork 的 repository