版本 b4b50d88d06cc2dbfbd3143a8b8cd65fe0989d6b
Changes from b4b50d88d06cc2dbfbd3143a8b8cd65fe0989d6b to 66a3ce3574cdd6b1fd87d309ffc9ab87a86f1083
---
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
```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/)
作業觀摩與解說
----------------------
* [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 (含) 之前