Linaro에서 ARMv8의 AArch64(ARM64) 빌드 툴체인 및 관련 정보를 제공하고 있다.

http://www.linaro.org/engineering/engineering-projects/armv8


gcc-linaro 4.8 (Aarch64, GNU/Linux) 버전을 설치했다.

(http://releases.linaro.org/13.09/components/toolchain/binaries/gcc-linaro-aarch64-linux-gnu-4.8-2013.09_linux.tar.xz)

경로를 아래로 설정하고,

~/bin/gcc-linaro-aarch64-linux-gnu-4.8-2013.09_linux 

환경변수 설정 스크립트 생성. (env_linaro-arm64-linux_toolchain.sh)

export PATH=$HOME/bin/gcc-linaro-aarch64-linux-gnu-4.8-2013.09_linux/bin:$PATH

export ARCH=arm64

export CROSS_COMPILE=aarch64-linux-gnu-


3.10.x 버전대 커널 소스를 받았다.

https://www.kernel.org/

linux-3.10.16.tar.xz


ARM64용 defconfig가 아직은 달랑 하나만 있다.^^

$ ls arch/arm64/configs/

defconfig


빌드 해보자.

$ source ~/bin/env_linaro-arm64-linux_toolchain.sh

$ make defconfig

$ make -j4


T32 simulator에 커널 로딩해서 확인.


지금 당장 ARM64를 해야 하는건 아니지만, 언젠가는 부딪쳐야 할 산이다.

공부할것들이 첩첩산중으로 쌓였다.ㅠㅠ


Raspberry Pi 판매를 element14와 RS에서 시작했다.
그리고 곧 매진... :-(



아래 두 사이트에서 관심(?) 등록^^

http://www.element14.com/community/groups/raspberry-pi 

http://uk.rs-online.com/web/generalDisplay.html?id=raspberrypi&cm_mmc=UK-PPC-0212-_-02_Raspberry_PI-_-Raspberry_PI-_-Raspberry_Pi 


ARM에서 CMSIS Version 3를 발표했다.

CMSIS는 Cortex™ Microcontroller Software Interface Standard 의 약자로서
Cortex-M 시리즈에서 사용할 API 등의 표준을 정한 것이다.

CMSIS 2.0 에서는 Cortex-M4 지원, CMSIS-DSP 라이브러리를 포함하였고,

이번 CMSIS 3.0 에서는 RTOS-API, SVD(System View Description)가 포함되었다.


uCOS-II, FreeRTOS 등 어떤 RTOS를 사용할지라도, CMSIS-RTOS API를 Adaptation Layer로 두고,

 Application 개발자는 CMSIS-RTOS API 를 통해 미들웨어 및 라이브러리의 재사용성을 높이려는 정책이다.

Video 1: Introduction to CMSIS Version 3: Explains the components and benefits of CMSIS.
(http://youtu.be/ivR96rfgVlg)

Video 2: Using CMSIS-RTOS: Shows the RTOS functionality with the RTX implementation.
(http://youtu.be/KGZgXJ7uMV4)

출처 :   http://www.arm.com/products/processors/cortex-m/cortex-microcontroller-software-interface-standard.php/ 

Virtualization 기능과 연관하여 System MMU에 대해 설명한 문서.



SMMU의 이점으로

1) 연속된 물리적인 메모리 공간을 필요로 하는
주요 Memory Accessing Device (GPU, Video engine 등)들이
메모리 단편화의 문제로 물리적으로 연속된 메모리 공간을 reserved 하여 사용하던 기존 방식에서
물리적으로 단편화된 메모리를 영역을 SMMU를 통해 하나의 연속된 메모리 공간으로 Accessing을 할 수 있다는 것.

2) Virtualization 입장에서는 SMMU를 통해 Stage2 Address Translation을 처리하므로, performance 향상이 가능하다는 것




출처 : http://www.arm.com/files/pdf/System-MMU-Whitepaper-v8.0.pdf
 


● ARM Processor를 제품군으로 분류한 그림



Classic ARM Processors
ARM11™ Series - Performance processors based on the ARMv6 architecture
ARM9™ Series- Popular processors based on the the ARMv5 architecture
ARM7™ Series- Classic processors for general purpose applications 

ARM Cortex Embedded Processors
Cortex-R Series - Exceptional performance for real-time applications
Cortex-M Series - Cost-sensitive solutions for deterministic microcontroller applications

ARM Cortex Application Processors 
Cortex™-A Series - High performance processors for open Operating Systems


● ARM Architecture and Processors 로 분류한 그림


위 그림에는 Cortex-A7, Cortex-A15가 빠져있다.
 
Programmers Guide로 잘 정리 되어 있다.

TrustZone, SMP, Cortex-A15 에 대한 내용 등 Cortex-A 시리즈에 대한 최근 내용들도 다루고 있고,
Linux, GCC를 기준으로 기술된 부분이 있어 이해하는데 도움이 된다.


출처 :  http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.den0013b/index.html 

"It is ideally suited for programmers with a desktop PC or x86 background taking their first steps into the ARM-based world."
이 문구가 인텔을 경쟁자로 의식한 문구로 보인다.^^

이 책은 ARM 아키텍처를 이해하는데 좋은 지침서가 된다. 제목 그대로  Reference Manual 이니까...^^

2001년도 페이퍼백으로 출간된 이 책은 시중에서 구하기 힘들고 ARMv5TE 까지만 다루고 있지만(DDI0100E.pdf), ARM 사이트(http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0100i/index.html)에서 ARMv6 초기 내용까지 업데이트된 PDF 문서(DDI0100I.pdf)를 받을 수 있다.

ARM 아키텍처가 계속 발전해서 ARMv7까지 있으므로, 관련 문서도 ARM 사이트에서 찾아볼 수 있다.

p.s.
위 링크가 깨진 경우, ARM 사이트에서 DDI0100 으로 검색하면 찾을 수 있다.


+ Recent posts