구글에서 검색하다 나온 자료인
Practical Firmware Reversing and Exploit Developmetn for AVR-based Embedded Devices
에서 나온 ATmega128에 대한 정보를 정리하였다.
AVR = Alf and Vegard's RISC processor
(1) 구조
Modifed Harvard architecture 8-bit RISC single-chip microcontroller
Haravrd architecture ?
간단히 말하자면 명령어 버스와 데이터 버스를 물리적으로 분할한 컴퓨터 구조
(2) 용도
Industrial PLCs and gateways
IoT
HID devices
Automotive applications
Radio applications
Arduino platform
...
(3)Core
보면 code 와 data가 분리되어있음을 확인 할 수 있다.
(4) Memory Map
-A 유형
0000 ~ FFFF 번지 까지 있음
0000 ~ 001F 는 레지스터 (32)
0020 ~ 005F 는 I/O 레지스터(64)
0060 ~ 00FF 는 External I/O 레지스터(160)
0100 ~ 10FF 는 Internal SRAM
1100 ~ 는 External SRAM
-B 유형
0000 ~ FFFF 번지 까지 있음
0000 ~ 001F 는 레지스터 (32)
0020 ~ 005F 는 I/O 레지스터(64)
0060 ~ 0FFF 는 Internal SRAM
1000 ~ 는 External SRAM
(5) Registers
R1~R25 - GPR
X,Y,Z - pair "working" registers e.g memory addressing operations <- 메모리맵에 26~32번에 해당
I/O registers - 다른 하드웨어에 접근하기 위한 용도
(6) special registers
PC - program counter , 16 bit register
SP - stack pointer, 16 bit register
SREG - status register 8 bit register
(7) Memory addressing
SRAM/EEPROM - 16-bit addressing, 8-bit element 단위는 8bit지만 16bit 간격으로 하나의 번지임
Flash - 16(8)-bit addressing, 16-bit element
'reversing.kr' 카테고리의 다른 글
AVR reverse engineering (5) CustomShell (0) | 2018.08.06 |
---|---|
reversing.kr CRC1 (0) | 2018.02.07 |
AVR reverse engineering (4) CustomShell (0) | 2018.02.05 |
AVR reverse engineering (3) CustomShell (0) | 2018.02.05 |
AVR reverse engineering(1) - 환경구축 (0) | 2018.01.29 |