UNIT 07 Memory Map 로봇 SW 교육원 조용수.

Slides:



Advertisements
Similar presentations
Embedded System 2009 년 11 월 16 일 Embedded Computer1 ● Hardware 와 Software 가 조합되어 특정한 복적을 수행하는 시스템 ● 특정한 기능을 수행하도록 Micro Processor 와 I/O Device 를 내장하며,
Advertisements

ARM core UNIT 03 로봇 SW 교육원 조용수. 학습 목표 PIC, AVR, 8051 ARM 이란 ? ARM 특징 ARM and Thumb ARM Cortex-M0 Interrupt Vector 2.
Dept. Computer Engineering DBLAB 정보처리개론 담당 교수 : 김정석 2009 년도 1 학기.
1/37 Chapter 4: 프로세서 성능과 휴대성을 위한 하드웨어 © The McGraw-Hill Companies, Inc., 세기의 가장 중요한 발명품 : 마이크로 프로세서 일상생활에 널리 사용됨 프로그램에 의한 적응성.
컴퓨터의 구조 2006년 2학기 컴퓨터의 개념 및 실습.
Embedded System Hardware와 software가 조합되어 특정한 목적을 수행하는 시스템
2.1 컴퓨터 시스템의 구성 2.2 컴퓨터 시스템의 정보 표현 2.3 중앙처리장치 2.4 저장장치 2.5 컴퓨터 주변기기
키보드 보안 순천향대학교 정보보호학과 임강빈 교수.
마이크로 컨트롤러 Microcontroller.
마이크로프로세서설계 - 3 ATmega128 마이크로컨트롤러의 특징 LED 실습 1
2007년 1학기 전산학개론 성신여자대학교 컴퓨터정보학부
Project Goal..! Milestone Role Division Achievement Result
Linux/UNIX Programming
One Step Closer - AVR ATMEGA128 -
2장 마이크로프로세서 구성요소 Slide 1 (of 19).
제 2장 컴퓨터 구조.
6장 마이크로프로세서 메모리 및 입출력장치 인터페이스.
마이크로프로세서 메모리 및 입출력장치 인터페이스
마이크로프로세서(Microprocessor,µP)
USER’S MANUAL 모델명: CCR-201 코드시스템(주)
10장 주변장치 (PIO) Slide 1 (of 28).
제7강 학습 내용 주소지정 방식의 예 값 즉시 지정 방식과 실행 예 레지스터 직접지정 방식 메모리 직접지정 방식과 실행 예
임베디드 하드웨어 Lecture #6.
08. 디바이스 드라이버의 읽기와 쓰기 김진홍
컴퓨터 구조론 2001년 10월 22일 발표자 황영선.
PXA255-FPGA 장비 개요 및 실습 Lecture #9.
DSP와 TMS320F28x의 이해.
PXA255-FPGA 장비 계요 및 실습 Lecture #9.
임베디드 시스템.
Unix Project2 <test character device 생성>
6장. 기 억 장 치 Lecture #6.
UNIT 06 JTAG Debugger 로봇 SW 교육원 조용수.
Introduce to ATmega128 & Codevision
컴퓨터 구조.
Chapter 02 시스템 구조(System Structure)
1 컴퓨터 시스템 소개.
4장. 컴퓨터 시스템의 구성과 기능 다루는 내용 컴퓨터 분해를 통한 본체 살펴보기 컴퓨터 구성요소 컴퓨터의 기능
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
UNIT 02 Microprocessor 로봇 SW 교육원 조용수.
1. Embedded System의 이해.
3주 컴퓨터구조.
8086 프로세서의 구조 및 동작 방식 시스템 프로그래밍 - Lecture #2 신라대학교 컴퓨터공학과 시스템 프로그래밍.
WinCE Device Driver 실습 #3
WinCE Device Driver 실습 #2
제 3 장 Memory - SRAM.
제 2장 컴퓨터동작의 기본 개념.
아날로그 VS 디지탈 -. Analog Vs Digital -. 디지털 논리에 대하여 -. 메모리에 대하여
임베디드 소프트웨어 설계.
Microprocessor I/O Port & CLCD Noh Jin-Seok.
Computer System Architecture
컴퓨터 시스템 개관 시스템 프로그래밍 - Lecture #1 신라대학교 컴퓨터공학과 시스템 프로그래밍.
Chap 6.Assembler 유건우.
디 지 털 공 학 한국폴리텍V대학.
Linux/UNIX Programming
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
논리회로 설계 및 실험 5주차.
DK-128 실습 내부 EEPROM 제어 아이티즌 기술연구소 김태성 연구원
컴퓨터 시스템 하드웨어 컴퓨터 시스템 소프트웨어 C P U Control Unit 입 력 장 치 출 력 장 치 ALU
13장 CTC and DMA Slide 1 (of 10).
자바 5.0 프로그래밍.
Linux/UNIX Programming
UNIT 25 SPI 로봇 SW 교육원 조용수.
Lecture #6 제5장 기억장치 (1).
ATmega128의 특징 아이티즌 기술연구소
UNIT 02 Microprocessor 로봇 SW 교육원 조용수.
UNIT 25 SPI 로봇 SW 교육원 조용수.
ARM Development Suite v1.2
임베디드 하드웨어 Lecture #6.
Lecture 7 7-Segment LED controller using u-controller
Presentation transcript:

UNIT 07 Memory Map 로봇 SW 교육원 조용수

학습 목표 Memory Memory Map Port Map I/O Memory Map I/O IP Register MCU Programming

Memory CPU 동작에 필요한 데이터를 가져오기 위한 Device Address Bus와 Data Bus 를 사용 Data Bus의 사이즈에 의해서 한번에 전달되는 데이터의 용량이 결정 (예: 8bit, 16Bit, 32Bit)

Memory Map 프로그램에 의해 작성 된 코드를 실행파일로 만들어 실행할 때, 메모리에 각각의 데이터 영역을 분리하여 할당 된 지도 프로세스가 실행되기 위한 데이터 저장 할 변수 영역, 기계어 코드 영역 등의 분류 별로 나누어 저장하는 지도

Port Mapped I/O I/O Device 와 메모리 의 입출력 주소 공간을 분리 I/O Device를 Access 할 수 있는 명령어를 제공 메모리와 I/O 속도의 차이가 있으므로, 분리 시 속도와 효율을 기할 수 있음.

Memory-mapped I/O I/O Device 와 메모리의 주소공간을 분리하지 않고 하나의 메모리 공간으로 취급하여 배치 I/O Device 를 Access 할 때 메모리와 같은 Instruction Code 를 사용 할 수 있음.

Cortex-M0 Memory map Code SRAM Peripheral System Typically ROM or flash memory, WT 0x00000000 – 0x1FFFFFFF SRAM 0x20000000 – 0x3FFFFFFF Typically used for on-chip RAM, WBWA Peripheral 0x40000000 – 0x5FFFFFFF on-chip peripheral, XN 0x60000000 – 0x7FFFFFFF 0x80000000 – 0x9FFFFFFF 0xA0000000 – 0xBFFFFFFF 0xC0000000 – 0xDFFFFFFF System system segment including the PPB, XN 0xE0000000 – 0xFFFFFFFF Note 1 : Event entry points (vectors), system control, and configuration are defined at physical addresses Note 2 : A multi-word access which crosses a 0.5GB address boundary is UNPREDICTABLE

Cortex-M0 Memory Map(Memory)

IP Register MCU 에 포함된 각종 I/O Device 는 특정 Control Register 의 Read/Write 를 통해서 동작한다.

IP Register

IP Register

MCU Programming 목표 : LED On/Off

MCU Programming

MCU Programming

IP Register

IP Register

main void SystemInit() { } int main(void) { *((volatile unsigned int *)(0x50004000 + 0x88))=(0x00);

JTAG Debugger CPU ID View : 0x5000 0000 GPIO Port View : 0x5000 4000 Memory View Memory Modify

CMSIS Cortex Microcontroller Software Interface Standard 다양한 ARM Processor 제조사 Chip 을 지원하기 위한 표준적인 Library I/O 디바이스 지원을 위한 Source 및 API 지원

CMSIS Project 기존 StartUp Code 를 사용하지 않고, Library 사용 필요한 Sdk 를 포함 하여 Project 를 구성

CMSIS Project 생성 void PortInit() { // GPIO Port 2-1, 2-2, 2-3, 2-4 -> OUTPUT … } int main() PortInit(); P2->DOUT = 0xFF;