ݺߣ

ݺߣShare a Scribd company logo
ARM 프로세서 개요
Hancheol Cho
ARM (Advanced RISC Machine)
ARM, originally Acorn RISC Machine, later Advanced RISC Machine, is
a family of reduced instruction set computing (RISC) architectures for
computer processors, configured for various environments. British
company ARM Holdings develops the architecture and licenses it to
other companies, who design their own products that implement one of
those architectures
출처
ARM Processor Family
출처 : arm.com
ARM Architecture 분류
Profile Architecture Instruction Set Processor
A-Profile ARMv7-A A32, T32 Cortex-A Series
R-Profile ARMv7-R A32, T32 Cortex-R Series
M-Profile
ARMv7-M T32 Cortex-M Series
ARMV6-M T32 Cortex-M0 Series
ARM Processor
출처 : arm.com
Cortex-R5 적용 예 - Xilinx Zynq
Cortex-M Processor
출처 : arm.com
Cortex-M Performance
출처 : arm.com
Cortex-M Instruction Set support
출처 : arm.com
Cortex-M7
강좌 01 ARM 프로세서 개요
Programmer’s model
Real Time OS ?
Context
● 스레드/태스크가 실행되기 위한 최소한의 데이터
○ CPU 레지스터, 스택포인터 등등..
Context Switching
출처
스케줄러
출처
스케줄러
출처
RTOS
Exception Vector
● 스택포인터 초기값을 지정 가능
○ 스타트업 코드도 C언어로 작성 가능
성능 비교
● 데이터 처리 속도
● Interrupt Latency
출처 : arm.com
Interrupt Latency
● Interrupt Latency ?
출처 : Link
● 기존 마이크로 컨트롤러와 비교
ST사의 MCU 구성
STM32CubeMX, STM32Cube
STM32Cube
DSP ?
● DSP 장점
○ 연산모듈이 8개 (최대 1Clock에 8개의 명령어 실행 가능)
○ Very-Long-Instruction-Word (VLIW)
○ 데이터 버스 최대 256bit
○ 소프트 파이프라인을 통한 병렬 실행
DSP ?
● DSP 단점
○ 인터럽트 발생시 명령어가 길어서 연산속도에 영향을 많음
■ 최적화시 기본적으로 인터럽트가 Disable됨으로 인터럽트 사용시에는 최적화 옵션
사용시 주의가 필요함
■ ARM 프로세서와 듀얼로 많이 사용
○ 최적화에 따른 속도 편차가 심함
■ 연산모듈은 8개이나 명령어 종류에 따른 동시 실행이 안되는 경우가 있음
■ 컴파일러 옵션만으로는 최적화의 한계가 있음으로 TI에서 제공하는 최적화 라이브러리
사용 권장
○ 캐시에 대한 영향이 크다
■ 명령어도 길고 데이터도 크기때문에 캐시 메모리에서 실행시와 외부메모리에서 실행시
속도 편차가 큼
● DSP 장점
○ DMA 기능이 강력함
■ DMA 기능만으로도 일부 이미지 처리가 가능함
OpenCR (Open-source Control Module for ROS)
● STM32F746ZGT6 216Mhz, Cortex-M7, 1MB Flash, 320KB SRAM
● 아두이노 우노 핀 헤더
● 아두이노 IDE 개발환경 지원
● 다이나믹셀/올로/UART/CAN 인터페이스
● 배터리 입력 및 전원 출력(12V/5V/3.3V)
https://github.com/ROBOTIS-GIT/OpenCR/wiki
OpenCR (Open-source Control Module for ROS)
● Turtlebot3 Burger/Waffle의 제어기로 사용됨
OpenCR (Open-source Control Module for ROS)
● 활용 예제
https://youtu.be/-_kBfIS6wJs
OpenCR (Open-source Control Module for ROS)
● 하드웨어 자료
○ https://github.com/ROBOTIS-GIT/OpenCR-Hardware
● 펌웨어 자료
○ https://github.com/ROBOTIS-GIT/OpenCR
https://github.com/ROBOTIS-GIT/OpenCR/wiki
Ad

Recommended

강좌 03 개발환경 구축
강좌 03 개발환경 구축
chcbaram
강좌 02 ARM 펌웨어 개발 환경 개요
강좌 02 ARM 펌웨어 개발 환경 개요
chcbaram
강좌 개요
강좌 개요
chcbaram
강좌 04 펌웨어 구조 설계
강좌 04 펌웨어 구조 설계
chcbaram
강좌 06 부트로더
강좌 06 부트로더
chcbaram
강좌 07 ARM 프로세서용 아두이노
강좌 07 ARM 프로세서용 아두이노
chcbaram
[드론] 펌웨어 분석 [2015.5.23]
[드론] 펌웨어 분석 [2015.5.23]
chcbaram
Bootloaders (U-Boot)
Bootloaders (U-Boot)
Omkar Rane
강좌 05 통신용 PC 프로그래밍
강좌 05 통신용 PC 프로그래밍
chcbaram
U boot porting guide for SoC
U boot porting guide for SoC
Macpaul Lin
Embedded Linux Kernel - Build your custom kernel
Embedded Linux Kernel - Build your custom kernel
Emertxe Information Technologies Pvt Ltd
Linux Kernel Booting Process (1) - For NLKB
Linux Kernel Booting Process (1) - For NLKB
shimosawa
LAS16-402: ARM Trusted Firmware – from Enterprise to Embedded
LAS16-402: ARM Trusted Firmware – from Enterprise to Embedded
Linaro
U Boot or Universal Bootloader
U Boot or Universal Bootloader
Satpal Parmar
LCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted Firmware
Linaro
Arm device tree and linux device drivers
Arm device tree and linux device drivers
Houcheng Lin
U-Boot - An universal bootloader
U-Boot - An universal bootloader
Emertxe Information Technologies Pvt Ltd
USB Drivers
USB Drivers
Anil Kumar Pugalia
C programming session8
C programming session8
Keroles karam khalil
Q4.11: Porting Android to new Platforms
Q4.11: Porting Android to new Platforms
Linaro
A practical guide to buildroot
A practical guide to buildroot
Emertxe Information Technologies Pvt Ltd
Basic Linux Internals
Basic Linux Internals
mukul bhardwaj
I2c drivers
I2c drivers
pradeep_tewani
Embedded Linux on ARM
Embedded Linux on ARM
Emertxe Information Technologies Pvt Ltd
U-Boot presentation 2013
U-Boot presentation 2013
Wave Digitech
LCU14 500 ARM Trusted Firmware
LCU14 500 ARM Trusted Firmware
Linaro
Block Drivers
Block Drivers
Anil Kumar Pugalia
Embedded Operating System - Linux
Embedded Operating System - Linux
Emertxe Information Technologies Pvt Ltd
[아꿈사/110514] 멀티코어cpu이야기 시작발표
[아꿈사/110514] 멀티코어cpu이야기 시작발표
sung ki choi
Processor
Processor
박 경민

More Related Content

What's hot (20)

강좌 05 통신용 PC 프로그래밍
강좌 05 통신용 PC 프로그래밍
chcbaram
U boot porting guide for SoC
U boot porting guide for SoC
Macpaul Lin
Embedded Linux Kernel - Build your custom kernel
Embedded Linux Kernel - Build your custom kernel
Emertxe Information Technologies Pvt Ltd
Linux Kernel Booting Process (1) - For NLKB
Linux Kernel Booting Process (1) - For NLKB
shimosawa
LAS16-402: ARM Trusted Firmware – from Enterprise to Embedded
LAS16-402: ARM Trusted Firmware – from Enterprise to Embedded
Linaro
U Boot or Universal Bootloader
U Boot or Universal Bootloader
Satpal Parmar
LCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted Firmware
Linaro
Arm device tree and linux device drivers
Arm device tree and linux device drivers
Houcheng Lin
U-Boot - An universal bootloader
U-Boot - An universal bootloader
Emertxe Information Technologies Pvt Ltd
USB Drivers
USB Drivers
Anil Kumar Pugalia
C programming session8
C programming session8
Keroles karam khalil
Q4.11: Porting Android to new Platforms
Q4.11: Porting Android to new Platforms
Linaro
A practical guide to buildroot
A practical guide to buildroot
Emertxe Information Technologies Pvt Ltd
Basic Linux Internals
Basic Linux Internals
mukul bhardwaj
I2c drivers
I2c drivers
pradeep_tewani
Embedded Linux on ARM
Embedded Linux on ARM
Emertxe Information Technologies Pvt Ltd
U-Boot presentation 2013
U-Boot presentation 2013
Wave Digitech
LCU14 500 ARM Trusted Firmware
LCU14 500 ARM Trusted Firmware
Linaro
Block Drivers
Block Drivers
Anil Kumar Pugalia
Embedded Operating System - Linux
Embedded Operating System - Linux
Emertxe Information Technologies Pvt Ltd
강좌 05 통신용 PC 프로그래밍
강좌 05 통신용 PC 프로그래밍
chcbaram
U boot porting guide for SoC
U boot porting guide for SoC
Macpaul Lin
Linux Kernel Booting Process (1) - For NLKB
Linux Kernel Booting Process (1) - For NLKB
shimosawa
LAS16-402: ARM Trusted Firmware – from Enterprise to Embedded
LAS16-402: ARM Trusted Firmware – from Enterprise to Embedded
Linaro
U Boot or Universal Bootloader
U Boot or Universal Bootloader
Satpal Parmar
LCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted Firmware
Linaro
Arm device tree and linux device drivers
Arm device tree and linux device drivers
Houcheng Lin
Q4.11: Porting Android to new Platforms
Q4.11: Porting Android to new Platforms
Linaro
LCU14 500 ARM Trusted Firmware
LCU14 500 ARM Trusted Firmware
Linaro

Similar to 강좌 01 ARM 프로세서 개요 (20)

[아꿈사/110514] 멀티코어cpu이야기 시작발표
[아꿈사/110514] 멀티코어cpu이야기 시작발표
sung ki choi
Processor
Processor
박 경민
임베디드시스템개발 Part2
임베디드시스템개발 Part2
Minsuk Lee
MCU(nanheekim)
MCU(nanheekim)
Nanhee Kim
아두이노기초 오픈강의1
아두이노기초 오픈강의1
성국 임
Linux Kernel Boot Process , SOSCON 2015, By Mario Cho
Linux Kernel Boot Process , SOSCON 2015, By Mario Cho
Mario Cho
2015 제2회 동아리 해커 세미나 - 병렬컴퓨팅 소개 (16기 김정현)
2015 제2회 동아리 해커 세미나 - 병렬컴퓨팅 소개 (16기 김정현)
khuhacker
임베디드시스템개발 Part1
임베디드시스템개발 Part1
Minsuk Lee
[엄마정치 메이커팀] 첫 만남
[엄마정치 메이커팀] 첫 만남
yuna cho
Maker 오해와 진실
Maker 오해와 진실
유명환 FunFun Yoo
Open source Embedded systems
Open source Embedded systems
H K Yoon
운영체제 Chapter1
운영체제 Chapter1
YoungGun Na
이기종 멀티코어 프로세서를 위한 프로그래밍 언어 및 영상처리 오픈소스
이기종 멀티코어 프로세서를 위한 프로그래밍 언어 및 영상처리 오픈소스
Seunghwa Song
20170623 최신OS와 멀티플랫폼 개발 전략 with RAD Studio
20170623 최신OS와 멀티플랫폼 개발 전략 with RAD Studio
Devgear
데브루키 170916 알쓸신잡 CPU 이야기
데브루키 170916 알쓸신잡 CPU 이야기
Gi-Yeon Nam
ᅦᅩᅮᅥᅵᅡᆨᄒơƳᆫᅩᅳᆫᄉƩᄉƳ
ᅦᅩᅮᅥᅵᅡᆨᄒơƳᆫᅩᅳᆫᄉƩᄉƳ
Mario Cho
[아꿈사/110514] 멀티코어cpu이야기 시작발표
[아꿈사/110514] 멀티코어cpu이야기 시작발표
sung ki choi
임베디드시스템개발 Part2
임베디드시스템개발 Part2
Minsuk Lee
아두이노기초 오픈강의1
아두이노기초 오픈강의1
성국 임
Linux Kernel Boot Process , SOSCON 2015, By Mario Cho
Linux Kernel Boot Process , SOSCON 2015, By Mario Cho
Mario Cho
2015 제2회 동아리 해커 세미나 - 병렬컴퓨팅 소개 (16기 김정현)
2015 제2회 동아리 해커 세미나 - 병렬컴퓨팅 소개 (16기 김정현)
khuhacker
임베디드시스템개발 Part1
임베디드시스템개발 Part1
Minsuk Lee
[엄마정치 메이커팀] 첫 만남
[엄마정치 메이커팀] 첫 만남
yuna cho
Open source Embedded systems
Open source Embedded systems
H K Yoon
이기종 멀티코어 프로세서를 위한 프로그래밍 언어 및 영상처리 오픈소스
이기종 멀티코어 프로세서를 위한 프로그래밍 언어 및 영상처리 오픈소스
Seunghwa Song
20170623 최신OS와 멀티플랫폼 개발 전략 with RAD Studio
20170623 최신OS와 멀티플랫폼 개발 전략 with RAD Studio
Devgear
데브루키 170916 알쓸신잡 CPU 이야기
데브루키 170916 알쓸신잡 CPU 이야기
Gi-Yeon Nam
ᅦᅩᅮᅥᅵᅡᆨᄒơƳᆫᅩᅳᆫᄉƩᄉƳ
ᅦᅩᅮᅥᅵᅡᆨᄒơƳᆫᅩᅳᆫᄉƩᄉƳ
Mario Cho
Ad

More from chcbaram (6)

OROCABOY3 제작기
OROCABOY3 제작기
chcbaram
OpenCR tutorial_icra2017
OpenCR tutorial_icra2017
chcbaram
OpenCR 아두이노 펌웨어개발
OpenCR 아두이노 펌웨어개발
chcbaram
아두이노와 Fpga를 이용한 로봇제작
아두이노와 Fpga를 이용한 로봇제작
chcbaram
컵드론 멀티콥터 펌웨어 분석 2015. 3.28.
컵드론 멀티콥터 펌웨어 분석 2015. 3.28.
chcbaram
SkyRover Firmware
SkyRover Firmware
chcbaram
OROCABOY3 제작기
OROCABOY3 제작기
chcbaram
OpenCR tutorial_icra2017
OpenCR tutorial_icra2017
chcbaram
OpenCR 아두이노 펌웨어개발
OpenCR 아두이노 펌웨어개발
chcbaram
아두이노와 Fpga를 이용한 로봇제작
아두이노와 Fpga를 이용한 로봇제작
chcbaram
컵드론 멀티콥터 펌웨어 분석 2015. 3.28.
컵드론 멀티콥터 펌웨어 분석 2015. 3.28.
chcbaram
SkyRover Firmware
SkyRover Firmware
chcbaram
Ad

강좌 01 ARM 프로세서 개요