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

版本 f43160cad23efbfe4c07e005a70109b3890bb012

Week #3 (Oct 2) :: ARM Architecture

教材

  • Introduction to ARM Architecture<https://docs.google.com/presentation/d/1cFBRICktpVQAOLzE5eDKD-OM4ckJuncFsn39Wg8aLZI/edit#slide=id.p14>_
    • ARM Conditional Execution<http://www.davespace.co.uk/arm/introduction-to-arm/conditional.html>_,以 C 程式來說:

.. code-block:: prettyprint

if (z == 1) R1 = R2 + (R3 * 4) 

對應的 ARM 組合語言為

.. code-block:: prettyprint

addeqs r1, r2, r3, lsl #2

Object-Oriented Programming in Kernel

  • Object-oriented design patterns in the kernel (1)<http://lwn.net/Articles/444910/>_
  • Object-oriented design patterns in the kernel (2)<http://lwn.net/Articles/446317/>_

作業觀摩與解說

  • Lab 31<https://embedded2014.hackpad.com/2014q3-Week-1-mQLneatLPcT>_
    • Embedded System - ARM Development and Optimization<http://www.slideshare.net/hirokiht/arm-developement>_
    • Thumb2 Conditional Code
    • Benchmark using cycle count
    • Optimization Techniques
    • Mutex & ARM Exclusive Monitor
    • GiHub: #1 Fibonacci<https://github.com/hirokiht/arm-lecture/tree/master/lab-1>, #2 Mutex<https://github.com/hirokiht/arm-lecture/tree/master/lab-2>
  • Lab 32<https://embedded2014.hackpad.com/2014q3-Week-2-efkTFt0x7Ag>_

作業須知 (Lab-33)

  • 作業描述: Lab 33: GDB + FreeRTOS</embedded/Lab33>_
  • 截止日期:
    • Oct 11, 2014 (含) 之前