플레시 메모리
1. Nor Flash : 주소를 가지고 있어서 , flash 메모리에서 실행코드를 바로 실행 하능하다.
2. Nand Flash : 주소를 가지고 있지 않아서 sdram 으로 실행코드를 가지고 와서 실행 해야 한다.
sdram 에 가지고 오기 위해서 부트로더와 인터널램이 필요하다 .
시피유에서 낸드를 사용할때 부트로더를 인터널램에 올리고 , 인터널램에 있는 부트로더를 시피유는 실행한다.
이 실행에서 낸드의 바이너리 파일이 sdram 에 올라오는 것이다.
또한 낸드는 주소가 없기 때문에 읽고 ,쓰고 지우기 기능을 할때 자신만의 특수한 체계를 따른다.
page 와 블록인데 블록은 여러개의 페이지으로 구성되어 있고 , 1개의 페이지는 256byte ~ 4kbyte 까지 다양한다.
arm cup 하드 웨어 인터럽트 구조
위를 보면 알수 있다 싶이 IRQ, FRQ 두가지의 인터럽트 처리 방식이 존재한다.
두가지 인터럽트가 동시에 발생했을때 바르게 처리해야 되는 부분을 FRQ 에서 처리하고 나머지 인터럽트를 IRQ 에서 처리한다.
어느 인터럽트가 FRQ 이고 , IRQ 인지는 보통 Startup.S 파일에서 미리 결정해 놓는다.
인터럽트 백타 테이블
[로우 어드레스 기준의 IVT]
___addr/line__|code_____|label_________|mnemonic________________|comment
SR:00000000|EA00006B b 0x1B4 ; handlerReset
SR:00000004|EA000052 b 0x154 ; handlerUndef
SR:00000008|EA000057 b 0x16C ; SWI interrupt handler
SR:0000000C|EA000062 b 0x19C ; handlerPAbort
SR:00000010|EA00005B b 0x184 ; handlerDAbort
SR:00000014|EAFFFFFE b 0x14 ; handlerReserved
SR:00000018|EA000047 b 0x13C ; handlerIRQ
SR:0000001C|EA000040 b 0x124 ; handlerFIQ
각 주소에 매칭되는 곳으로가서 루틴 실행
SR:00000008|EA000057 b 0x16C ; SWI interrupt handler(SWI, Software Interrupt)
소프트 웨어 인터럽트는 시스템 콜을 사용하는 os , 에서 사용하는 API 이다.
인베디드 시스템에서 대표적인 os 로는 임베디드 리눅스(Embedded Linux)와 윈도우 씨이(Windows CE) 가 존재한다.
JTAG
사용용도
1 . 하드웨어 디버깅
2. 플레시 메모리에 bin(실행파일) 올릴때
LCD
화면에 보이도록 하는 장치 ex ) 캐릭터 LCD
'공부,일 > 임베디드 스케치' 카테고리의 다른 글
임베디드 스케치 3장 -2 (0) | 2021.09.03 |
---|---|
임베디드 레시피 3장 (0) | 2021.09.02 |
인베디드 관련 공부 사이트 (0) | 2021.09.01 |
댓글