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

版本 66a3ce3574cdd6b1fd87d309ffc9ab87a86f1083

embedded/2014q3w3

Changes from 66a3ce3574cdd6b1fd87d309ffc9ab87a86f1083 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 程式來說:
```c
    if (z == 1) R1 = R2 + (R3 * 4) 
```
對應的 ARM 組合語言為
```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 (含) 之前