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

版本 616ca1713b29291012be1a3ed1711a1b11b7a2d1

Week #4 (Mar 17) :: ARM Exceptions/Interrupts

重大事項宣達

  • 贊助學生參加 jjhou 課程<https://www.facebook.com/groups/ncku.embedded2015/permalink/662675613878927/>_ (Mar 20 前登記)
    • C++ Under the Hood (C++ 底層揭密)
    • Memory Management (記憶體管理)
    • C++11/14 (C++新特性)
    • Heap Management in CRT and in Windows (CRT 及 Windows系統中的Heap管理機制)
  • 受理一對一面試申請 (修課和旁聽學生都可申請,前者優先處理),作為考試成績
    • 請在 2015 年 7 月 5 日前,用 email 約定面談時段 (暑期 intern 應該在 5 月 15 日之前),注意以下:
      • 寄送到 Jim Huang (黃敬群)
      • 標題以 [NCKU/embedded] 開頭,後面加註姓名,依據 資訊科技產業面試模擬和工作咨詢</embedded/rehearsal>_ 的說明提供相關資訊
    • 比照資訊科技產業面試的出題方式,本學期上課提及的概念、術語,甚至作業都在涵蓋範圍
      • 題目會累積,所以,務必注意時間
      • 會有紙上寫程式的要求
  • 第 6 周 (3 月 31 日) 確認分組名單與題目志願表,請開始物色隊友
    • 3 到 5 人一組,建議不要都是同一個實驗室的成員
    • GitHub 和 Hackpad 是你的好朋友,知己知彼
    • 期中報告 + 期末專題

面試經驗分享

  • 資訊科技產業面試模擬和工作咨詢</embedded/rehearsal>_
  • 郭俊儀

Lab-38</embedded/Lab38>_ 心得分享

  • Fibonacci fast doubling : ARM assembly 實作<http://www.slideshare.net/erickitten/fibonacci-fast-doubling>_
    • 實做程式碼: https://github.com/erickitten/arm-lecture-1/commits/master
    • 程式碼使用到的 ARM 指令 (完整可見 Quick Reference<http://users.ece.utexas.edu/~valvano/Volume1/QuickReferenceCard.pdf>_):
ARM instruction Action
CLZ Rd,Rm Rd = leading zero of Rm
RSB Rd,Rn, Rd = - Rn
MLA Rd,Rm,Rs,Rn Rd = (Rn+(Rm*Rs))
CBZ Rn, if(Rn==0) goto
:= Rs,LSL,#N logical shift left N

教材

  • ARM Cortex-M3 Introduction<http://www.arm.com/files/pdf/CortexM3_Uni_Intro.pdf>_ (概念)
    • ARM Cortex-M3<http://www.slideshare.net/GauravVerma3/arm-cortex-processor-compatibility-mode>_ (詳細解說)
    • Assembly language programming: ARM Cortex-M3<http://www.slideshare.net/GonzaloSantiago/assembly-language-programming-arm-cortexm3-vincent-mahout>_
  • 共筆: FreeRTOS<http://wiki.csie.ncku.edu.tw/embedded/freertos>_
  • 淺談優先權,從 ARM Cortex-M 到 FreeRTOS 設定<http://enginechang.logdown.com/posts/248297-talking-about-the-priority-from-the-arm-set-cortex-m-to-freertos>_
    • 什麼是 Interrupt?
    • NVIC (Nested vectored interrupt controller)
    • ARM Cortex-M 每個 Exception 都有自己的優先權
    • 不同架構有不同數量的優先權
    • FreeRTOS 的優先權
    • FreeRTOS 的 Tick/Timer
  • Introduction: the ARM Cortex-M3 Exception / Interrupt</embedded/arm-exceptions.pdf>_
    • Interrupt-Driven Input/Output<http://www.eng.auburn.edu/~nelson/courses/elec2220/Interrupt_IO%20part2.pdf>_
      • Interrupt vectors and vector table
      • Interrupt masks and priorities
      • NVIC
      • STM32F4 external interrupt signals
    • 延伸閱讀: 共筆 GPIO</embedded/GPIO>_ + ADC</embedded/ADC>_ (找 NVIC)

作業須知 (Lab-40)

  • 作業描述: Lab 40</embedded/Lab40>_
  • 截止日期: Mar 28, 2015 (含) 之前