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

版本 04b0b1a4cd348e4211582c43cf6f3cf61d556666

embedded/2014q3w3

Changes from 04b0b1a4cd348e4211582c43cf6f3cf61d556666 to current

---
title: Week #3 (Oct 2) :: ARM Architecture
toc: no
...

教材
----------
* `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

* [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 程式來說:
```c
    if (z == 1) R1 = R2 + (R3 * 4) 

```
對應的 ARM 組合語言為

.. code-block:: prettyprint

```c
    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/)

* `ARM Cortex-M3 Introduction<http://www.arm.com/files/pdf/CortexM3_Uni_Intro.pdf>`_
* `quadruped robot 先期研究<https://robot_control.hackpad.com/quadruped-robot--jdowyBd9FAa>`_
作業觀摩與解說
----------------------
* [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 (含) 之前