반응형 코스웨어/15년 스마트컨트롤러532 20151127 - 권오민 - ARM ASSEMBLY 2일차 ARM ASSEMBLY◆2.Microprocessor 아뜰리에 - ARM을 파헤쳐 보자◉6.ARM Exception과 Modes(P.123)●Software 실행 중, Exception이 발생(P.127)- 고려해야 할 것들. - 1) Exception mode가 발생 한 후, 이전 mode로 돌아갈 수 있어야 한다. - 2) 지금 쓰던 Register 값들을 다시 사용할 수 있어야 한다. - 이전에 쓰던 Context를 다시 복원할 수 있어야 한다. - 3) 이전 mode로 돌아갔을 때 원래 수행 하던 곳으로 돌아 갈 수 있어야 한다. - 4) 그리고 자동으로 해당 Exception Vector로 이동해야 한다.- Exception에 발생에 의한 하드웨어적인 처리. - 1) CPSR(SVC)을 SPSR.. 2015. 11. 27. 2015.11.26_개인업무일지_[ASM #1]_주재민_mode Context는 현재의 CPU에 대한 모든 정보를 말하고요, 그 모든 정보는 Register들의 현재 값들을 말하는 거죠. 각 모드별로 호환될 때 CPSR(Current Program Status Register)에 레지스터의 상태값(context)이 저장되고 모드가 전환될 시 CPSR값을 SPSR(Saved Program Status Register)에 저장하게 된다. 모드가 변경되면 banked register가 덮어지게 되며 원래 레지스터로 복구 되면 기존의 레지스터 값은 복원된다. R14 (Linked Register) = Return Address 저장 레지스터 R13 (Stack Pointer) = ESP(Intel) R15 (Program counter) = EIP(Intel) 2015. 11. 27. 2015.11.26_개인업무일지_[ASM #1]_이량경_mode ✔ ================================================================ ✔ ================================================================ ✔ 모드 - 모드는 단순하게 헬로월드 찍으려고 만든것이 아니다.이 많은 모드에 대한 개념이 있어야 한다. - 명령어 번호에 해당되는 외에 만들어지는 번호는 처리 코드가 없어 undefine .- 언디파인된것은 UND로(흘러간다) 처리 된다. - 커널이 아닌 모드 : 유저모드 - 모드는 운영체제를 염두해서 만든다.- 앱이(구구단,등) 유저모드 이다. 인텔일때 유용하다. contextunsigned int eax; .... * 리눅스를 윈도우에서 올리면 인텔/리눅스를 암에.. 2015. 11. 27. 20151126 업무일지 -여지윤- ARM Assembly 1~8교시☆S/W★ ● ARM Assembly □ 이론 - 인텔 기반 CISC 는 어셈블리로 짜게 되면 RISC 로 보이게 되며 RISC로 코딩을 하면 다른모양을 볼 수가 있다. - SVC , SYC : 커널에서 주로 이용된다. - IRQ,FIQ : 인터럽트 기반에서 주로 사용된다. - ABOUT (ABT) : 시스템의 작동을 취소를 시켰을때 ABT가 작동된다. - UND (Undefind) : 시스템 작동이 되지 않을때 undefined 가 뜨게 된다. - 인텔은 모드에 대한 개념이 없으며 운영체제에 염두를 두고 만든것이다. - Microsoft processor는 흔히 CISC 와 RISC로 나뉘며 ARM은 RISC 에속한다. - CISC는 많은 수의 명령어와 데이터 형태 그리고 어드레싱 기법을 모두.. 2015. 11. 27. 20151126_안향진_ARM어셈블리_1 =모드 (오스트랄로피테쿠스 다이아몬드 구슬치기) =UND : 없는 명령(어셈블리 instruction)을 만났을 때=ABT : 1. Abort mode는 Access 하려는 주소가 Access 할 수 없는 주소2. Instruction fetch를 해오려는 데 못해 온 경우3. MMU, MPU : Access Protection이 걸려 있는 주소를 함부로 Access하려고 했을 때 :운영체제를 기반에 두고 만든 것 =이식 : 각 CPU에 대해서 알아야함 -리눅스 : 다양한 CPU에서 동작 =레지스터 =>FIQ는 Banked register가 더 많음 => push/ pop이 필요 없는 R8~R12 먼저 사용 => 속도 빠름 =context =하드웨어적으로 Exception-SVC : 전원인가 / rese.. 2015. 11. 27. 20151126 엄민웅 - arm 임베디드레시피 이론 수업 (교제 84~126) 임베디드레시피 교제 내용 수록 된 사이트. (우린책 가지고 있지만)http://recipes.egloos.com/ p84. 메모리 핀8개 2의8승 256kbyte p88. CPU3대 구성 요소 CU ALU 레지스터 p108. 인텔 CISC방식, arm RISC방식. p110. ARM mode 32 bit, Thumb mode 16 bit. (썸 모드 사용하며 프로그램 밀도가 올라간다. - 예. char형(작은용량 저장할 때) int형(큰용량 저장할 때) 때에 따라 맞게 사용하듯 암모드와 썸모드 그렇게 사용하면 됨.) p112. ARM 모드 7가지 모드.보통 ARM배우면 이거 먼저 배우는데 우리는 그러지 않았음. (저 모드들을 사용할 만큼의 프로젝트도 하지 않았고.) 막연하게 이거 먼저 배우면 넉다운 되기.. 2015. 11. 27. 20151126 임현수 업무일지 ARM #1 ARM 기초 ■ ARM assembly ■ 임베디드레시피 책ARM은 7모드를 지원한다. ABT, UND모드는 예외처리용 모드이다. 구구단 애플리케이션을 짰으면 ARM에서는 USER모드로 동작하는거다. Thumb mode 16비트사용 가능한 레지스터와 변수형이 적어지지만 프로그램 밀도가 증가한다. SPSR - stst를 하는 레지스터인텔 어셈블리에서는 구조체로 stst를 했지만, ARM은 레지스터가 그 기능을 하므로속도가 빠르다. 인텔 레지스터 네이밍eax, ebx....ARM 레지스터는r0, r1...... ▲ cstartup.asm에서 코드영역의 시작 0x0은 ldr pc, =reset_handler 이다. ▲ 다른 벡터함수들은 라벨로 점프하게 되어있는데 fiq 벡터함수는코드 점프 없이 즉시 실행할 수 있게 만들어.. 2015. 11. 27. 20151126 윤재희 #1. ARM 레지스터, ARM mode, Exception ==================================Outline====================================ARM 레지스터ARM 모드Exception----------------------------------------------------------------------------ARM 레지스터 임베디드 레시피 책을 보자. ARM은 37개의 레지스터를 가지고 있다. 각 모드별로 호환될 때 CPSR(Current Program Status Register)에 레지스터의 상태값(context)이 저장되고 모드가 전환될 시 CPSR값을 SPSR(Saved Program Status Register)에 저장하게 된다. 모드가 변경되면 banked register가 덮어지게 되며.. 2015. 11. 26. 20151126_김태현_ARM 어셈블리 인텔은CISC 방식의 칩이고, ARM은 RISC 방식의 칩이다. ARM은 7개의 모드가 존재한다. 모드는 단순한 프로그래밍을 짠다면 모드를 고민할 필요가 없다. SVC,SYS는 커널에서 사용되는 모드이다. IRQ,IFQ는 인터럽트가 호출될때 사용되는 모드이다. ABT,UND는 시스템에 문제가 생겼을때 호출되는 모드이다. ARM에서 기본모드는 SVC Mode이다. ARM은 중복되는 레지스터를 빼면 총 37개의 레지스터를 가지고 있다. CPSR은 CPU의 상태를 저장하는 레지스터이다. 0~4까지는 모드를 지정하는 bit이고5번 bit는 Thumb mode와 ARM mode를 결정하는 bit이다.Thumb Mode는 16bit 체제이고 ARM Mode는 32bit 체제이다.6~7번은 IRQ,FIQ를 사용할지 .. 2015. 11. 26. 이전 1 ··· 10 11 12 13 14 15 16 ··· 60 다음 728x90 반응형