Latest Post
망고 스토리6.0






Price : 24,500

 

help@crz-tech.com ( 031-701-5057)

 

Mango Story 6.0 Feature

l  ARM9, ARM11 시스템 개발자의 고민을 한번에 해결하는

l  완벽! ARM9, ARM11 펌웨어, RTOS (eCos) 실전 바이블

l  Introduction & 환경 구성

l  하드웨어 매뉴얼

l  Firmware 연구

l  RTOS (eCos) 포팅

l  RTOS (eCos) 기반 디바이스 드라이버 연구


 

 

서 언 ..................................................................................................................................................................... 2

1. Introduction ............................................................................................................................................. 19

1.1. ARM9, ARM11 프로세서와 임베디드 보드 ...................................................................................... 19

1.2. MANGO 보드 개발 철학 .......................................................................................................................... 19

1.3. 개발 환경 갖추기 ........................................................................................................................................ 20

1.3.1. 임베디드 프로그램 ............................................................................................................................ 20

1.3.2. Linux 데스크탑 .................................................................................................................................. 21

1.3.3. 컴파일러 설치 .................................................................................................................................... 21

2. VMware & 리눅스(Ubuntu) 환경 구축 ................................................................................................ 23

2.1. VMware 및 우분투 설치 .......................................................................................................................... 23

2.1.1. VMware 다운로드 ............................................................................................................................. 23

2.1.2. VMware 설치하기 ............................................................................................................................. 24

2.1.3. 우분투 다운로드 ............................................................................................................................... 25

2.1.4.  Virtual Machine 만들기 ........................................................................................................... 26

2.2. 우분투 기초 활용 ........................................................................................................................................ 29

2.2.1. 우분투 업데이트 – Update Manager ....................................................................................... 29

2.2.2. 전체 메뉴창 아래로 옮기기 .......................................................................................................... 31

2.2.3. 화면 Resolution 변경 ...................................................................................................................... 31

2.2.4. 시간 설정하기 .................................................................................................................................... 32

2.2.5. 터미널 띄우기 .................................................................................................................................... 33

2.2.6. .bashrc & alias 설정 ......................................................................................................................... 34

2.2.7. 터미널 키 Shortcut 설정 ............................................................................................................... 35

2.2.8. 키보드 반복 입력 속도 설정 ....................................................................................................... 36

2.2.9. package 관리 ..................................................................................................................................... 36

2.2.10. grep 사용 ............................................................................................................................................. 37

2.2.11. find 사용 .............................................................................................................................................. 38

2.2.12. sudo 명령 사용 ................................................................................................................................. 43

2.2.13. 일반 유저가 sudo 명령이 안될 경우 대처 ........................................................................... 44

3. 리눅스(Ubuntu) 에디터 gedit & vim ................................................................................................... 46

3.1. gedit .................................................................................................................................................................. 46

3.2. vim ..................................................................................................................................................................... 47

3.2.1. vi 실행 및 vim 설치 ........................................................................................................................ 48

3.2.2. vi의 모드 .............................................................................................................................................. 50

3.2.3. 시작과 종료 ........................................................................................................................................ 51

3.2.4. help의 활용 ......................................................................................................................................... 51

목 차

www.mangoboard.com cafe.naver.com/embeddedcrazyboys CRZ Technology 5

3.2.5. 커서 이동 명령 .................................................................................................................................. 53

3.2.6. 편집 시작 (삽입) 명령 ..................................................................................................................... 54

3.2.7. 검색 명령 ............................................................................................................................................. 55

3.2.8. 취소 및 반복 명령 ............................................................................................................................ 57

3.2.9. 삭제 명령 ............................................................................................................................................. 58

3.2.10. 치환 명령 ............................................................................................................................................. 59

3.2.11. 복사 명령 ............................................................................................................................................. 61

3.2.12. 환경 설정 ............................................................................................................................................. 61

4. Host PC와 파일 공유 - VMware Tools & 삼바(Samba) .................................................................. 64

4.1. VMware Tools ................................................................................................................................................ 64

4.1.1. VMware Tools 설치 ........................................................................................................................... 64

4.1.2. VMware Tools 업데이트.................................................................................................................. 64

4.1.3. VMware Tools 기능 ........................................................................................................................... 66

4.1.4. 쉬운 VMware Tools 업데이트 ...................................................................................................... 67

4.2. VMware Tools를 이용한 파일 공유...................................................................................................... 67

4.2.1. VMware File Share 이용 ................................................................................................................. 67

4.2.2. 우분투에서 공유 폴더 확인 .......................................................................................................... 68

4.3. 삼바 (Samba) 이용 ..................................................................................................................................... 69

4.3.1. Samba 설치하기 ............................................................................................................................... 70

4.3.2. Samba 설정하기 ............................................................................................................................... 71

4.3.3. Samba User 설정하기 ...................................................................................................................... 72

4.3.4. Samba 재 시작 .................................................................................................................................. 73

4.3.5. 네트워크 드라이브 연결 ................................................................................................................. 73

4.3.6. 한글 사용 ............................................................................................................................................. 74

4.3.7. 삼바 연결 에러 .................................................................................................................................. 75

5. Cross compiler (CodeSourcery G++) 설치하기 ................................................................................ 76

5.1. Cross-Compiler 선택 .................................................................................................................................. 76

5.2. Code Sourcery G++ 설치 ......................................................................................................................... 76

5.2.1. Sourcery G++ 제품 종류 ............................................................................................................... 77

5.2.2. Sourcery G++ Lite Edition ............................................................................................................. 77

5.2.3. Lite Edition – ARM 다운로드 ........................................................................................................ 78

5.2.4. Lite Edition 설치 ............................................................................................................................... 80

5.2.5. Lite Edition 설치 확인 ..................................................................................................................... 85

5.3. Hello Mango World Simulator로 실행해보기 ............................................................................. 86

6. DNW 수행과 망고24, 망고64 부팅 모드 ............................................................................................ 89

6.1. DNW 실행 및 설정 .................................................................................................................................... 89

6.1.1. DNW 툴 다운로드 ............................................................................................................................ 89

6.1.2. USB 드라이버 설치 ........................................................................................................................... 89

6

6.1.3. DNW 최초 수행 ................................................................................................................................ 92

6.2. 망고24 - NOR Mode로 부팅하기 .......................................................................................................... 92

6.3. 망고24 - NAND Mode로 부팅하기 ...................................................................................................... 94

6.4. 망고64 - NOR Mode로 부팅하기 .......................................................................................................... 95

6.5. 망고64 - NAND Mode로 부팅하기 ...................................................................................................... 95

7. Mango-24 하드웨어 매뉴얼 ................................................................................................................... 97

7.1. 하드웨어 사양 ............................................................................................................................................... 97

7.2. 보드 구성 ........................................................................................................................................................ 98

7.2.1. 보드 구조도 ........................................................................................................................................ 98

7.2.2. 보드 부품면 ........................................................................................................................................ 99

7.2.3. 보드 LCD ....................................................................................................................................... 100

7.3. Hardware Block Description .................................................................................................................. 100

7.3.1. CPU (S3C2443XL-53 Application Processor) ........................................................................ 100

7.3.2. 메모리 시스템 .................................................................................................................................. 103

7.3.3. Mobile SDRAM ................................................................................................................................ 104

7.3.4. NOR Flash Memory ........................................................................................................................ 104

7.3.5. SLC NAND Flash Memory ........................................................................................................... 106

7.3.6. Power and Reset .............................................................................................................................. 108

7.3.7. RS232 Serial Port ............................................................................................................................. 110

7.3.8. ARM Standard JTAG ....................................................................................................................... 110

7.3.9. USB 2.0 Device ................................................................................................................................ 111

7.3.10. USB 1.1 Host .................................................................................................................................... 111

7.3.11. LCD Interface .................................................................................................................................... 112

7.3.12. SD Card Socket ............................................................................................................................... 119

7.3.13. Ethernet .............................................................................................................................................. 119

7.3.14. Audio Codec and Audio Power Amplifier ............................................................................ 121

7.3.15. Microphone 인터페이스 ............................................................................................................... 122

7.3.16. Loud Speaker/Headphone 인터페이스 .................................................................................. 123

7.3.17. 3축 가속도 센서 .............................................................................................................................. 123

7.3.18. General Purpose Keys .................................................................................................................... 124

7.3.19. 전원 입력 및 배터리 충전 .......................................................................................................... 124

7.3.20. Li-Ion Battery 장착 ......................................................................................................................... 125

7.3.21. GPS 모듈과 GPS 안테나 .............................................................................................................. 126

7.3.22. WiFi/Bluetooth Combo 모듈 ...................................................................................................... 127

8. Mango-64 하드웨어 매뉴얼 ................................................................................................................ 129

8.1. 하드웨어 사양 ............................................................................................................................................. 129

8.2. 보드 구성 ...................................................................................................................................................... 130

8.2.1. 보드 구조도 ...................................................................................................................................... 130

목 차

www.mangoboard.com cafe.naver.com/embeddedcrazyboys CRZ Technology 7

8.2.2. 보드 부품면 ...................................................................................................................................... 131

8.2.3. 보드 LCD ....................................................................................................................................... 132

8.3. Hardware Block Description ................................................................................................................. 132

8.3.1. Boot Mode [SW100] ...................................................................................................................... 132

8.3.2. Boot Mode [SW100] – NOR Flash Boot ............................................................................... 135

8.3.3. Boot Mode [SW100] – NAND Flash Stepping-Stone Boot .......................................... 137

8.3.4. Memory System .............................................................................................................................. 137

8.3.5. Clocks .................................................................................................................................................. 138

8.3.6. Indicator LEDs ................................................................................................................................. 139

8.3.7. UART .................................................................................................................................................... 140

8.3.8. Ethernet .............................................................................................................................................. 140

8.3.9. Audio Codec .................................................................................................................................... 141

8.3.10. LCD 인터페이스 ............................................................................................................................... 142

8.3.11. Touch Screen ................................................................................................................................... 143

8.3.12. VCLK 극성 설정 – FoxLink LCD ............................................................................................... 143

8.3.13. LCD 관련 설정 값 정의 ............................................................................................................... 145

8.3.14. Back Light  LCD 패널 전원 조정 ....................................................................................... 146

8.3.15. Mango64 확장 LCD 커넥터 ...................................................................................................... 147

8.3.16. USB 2.0 OTG: USB 2.0 Device .................................................................................................... 148

8.3.17. USB 1.1 Host .................................................................................................................................... 148

8.3.18. DC-Jack, Charging Status  Battery 잔량 인식 .............................................................. 149

8.3.19. TV-Out Interface ............................................................................................................................. 150

8.3.20. WiFi+Bluetooth Combo ............................................................................................................... 151

8.3.21. GPS Module ..................................................................................................................................... 151

8.3.22. Expansion Connectors .................................................................................................................. 153

8.3.23. Camera Expansion Connector ................................................................................................... 155

8.3.24. HDD Connector ............................................................................................................................... 159

9. 망고보드 연결 및 U-Boot 구동 ........................................................................................................... 161

9.1. U-Boot 빌드를 위한 환경 변수 설정 .............................................................................................. 161

9.2. Minicom 설정 ............................................................................................................................................ 162

9.2.1. Minicom 설치 ................................................................................................................................. 162

9.2.2. USB-to-Serial 장치 연결 .............................................................................................................. 163

9.2.3. Minicom 설정 및 최초 수행 작업 .......................................................................................... 165

9.2.4. Minicom 컬러로 수행하기 ......................................................................................................... 168

9.3. Ethernet Downloading Server 설치 .................................................................................................. 169

9.3.1. TFTP 패키지 설치 및 환경 설정 ............................................................................................. 170

9.3.2. TFTP 개요 및 시험 ........................................................................................................................ 171

9.4. 망고24 U-Boot 구동 ................................................................................................................................ 172

8

9.4.1. 망고24 U-Boot 다운로드 .............................................................................................................. 172

9.4.2. 망고24 U-Boot 빌드하기 .............................................................................................................. 174

9.4.3. 망고24 U-Boot 구동하기 .............................................................................................................. 176

9.4.4. 고정 IP로 네트워크 설정 변경  망고24 보드 ................................................................. 178

9.4.5. 고정 IP로 네트워크 설정 변경  우분투 ............................................................................. 180

9.4.6. TFTP를 이용한 U-Boot 다운로드 ............................................................................................. 183

9.5. 망고64 U-Boot 구동 ................................................................................................................................ 185

9.5.1. 망고64 U-Boot 다운로드 .............................................................................................................. 185

9.5.2. 망고64 U-Boot 빌드하기 .............................................................................................................. 186

9.5.3. 망고64 U-Boot 구동하기 .............................................................................................................. 187

9.5.4. 고정 IP로 네트워크 설정 변경  망고64 보드 ................................................................. 188

9.5.5. TFTP를 이용한 U-Boot 다운로드 ............................................................................................. 189

9.6. Cross-Cable을 이용한 직접 연결 ........................................................................................................ 192

9.6.1. Ethernet crossover cable .............................................................................................................. 192

9.6.2. 우분투 서버 네트워크 설정 ........................................................................................................ 194

9.6.3. 망고64 – 크로스 케이블 다운로드 테스트 .......................................................................... 195

9.6.4. 망고24 – 크로스 케이블 다운로드 테스트 .......................................................................... 196

9.7. 망고24 소스를 이용해서 망고64 U-Boot 만들기 ........................................................................ 196

10. UART 및 화면 입출력 - 첫 번째 이야기 .................................................................................. 198

10.1. 환경 구축에 대한 리뷰 ........................................................................................................................... 198

10.1.1. Serial 연결 ......................................................................................................................................... 198

10.1.2. Ethernet 연결 ................................................................................................................................... 199

10.1.3. USB 연결 ............................................................................................................................................ 199

10.1.4. S/W 적인 연결 ................................................................................................................................ 199

10.2. RS-232C UART에 대한 상식 ............................................................................................................ 200

10.2.1. RS-232-C ............................................................................................................................................ 200

10.2.2. UART .................................................................................................................................................... 203

10.3. 가장 간단한 화면 출력 프로그램 ....................................................................................................... 204

10.3.1. 망고24 – UART 부분 회로도 ...................................................................................................... 204

10.3.2. 망고24 – Hello Mango 프로그램.............................................................................................. 205

10.3.3. 망고24 – Hello Mango 내용 설명 ........................................................................................... 206

10.3.4. 망고24 – Hello Mango 빌드 ....................................................................................................... 210

10.3.5. 망고24 – Hello Mango 수행 ....................................................................................................... 212

10.3.6. bootelf ................................................................................................................................................. 213

10.3.7. 망고64 – UART 부분 회로도 ...................................................................................................... 215

10.3.8. 망고64 – Hello Mango 프로그램.............................................................................................. 215

10.3.9. 망고64 – Hello Mango 내용 설명 ........................................................................................... 218

10.3.10. 망고64 – Hello Mango 빌드 ....................................................................................................... 219

목 차

www.mangoboard.com cafe.naver.com/embeddedcrazyboys CRZ Technology 9

10.3.11. 망고64 – Hello Mango 수행 ...................................................................................................... 220

10.4. 임베디드 개발 개요 ................................................................................................................................. 222

10.5. UART GPIO 설정 ....................................................................................................................................... 223

10.5.1. UART 관련 GPIO 포트 설정 ...................................................................................................... 223

10.5.2. GPIO 포트 설정 코드 확인 – U-Boot ................................................................................... 224

11. UART 및 화면 입출력 - 두 번째 이야기 .................................................................................. 228

11.1. UART에 관한 사전 지식 ......................................................................................................................... 228

11.1.1. Parallel 통신과 Serial 통신 ......................................................................................................... 228

11.1.2. Synchronous 전송과 Asynchronous 전송 ........................................................................... 229

11.1.3. UART 데이터 포멧 ......................................................................................................................... 230

11.1.4. RS-232 Signal .................................................................................................................................. 231

11.2. S3C2443/S3C6410 UART ........................................................................................................................ 233

11.3. 망고24 소스 코딩 ..................................................................................................................................... 234

11.3.1. Working directory 생성 ............................................................................................................... 234

11.3.2. Register 헤더 정의 ......................................................................................................................... 235

11.3.3. UART 초기화 구현 ......................................................................................................................... 242

11.3.4. UART Write 함수 구현 ................................................................................................................. 245

11.4. 망고24 테스트 ........................................................................................................................................... 246

11.4.1. main 함수 구현 ............................................................................................................................... 246

11.4.2. Makefile 구현 .................................................................................................................................. 246

11.4.3. 소스 파일 빌드 ............................................................................................................................... 249

11.4.4. 다운로드 및 테스트 ....................................................................................................................... 249

12. UART 및 화면 입출력 - 세 번째 이야기 .................................................................................. 251

12.1. 망고24, 망고64에 모두 적용하는 코드 만들기 ........................................................................... 251

12.1.1. Makefile의 변경 ............................................................................................................................... 251

12.1.2. main 함수의 변경 .......................................................................................................................... 253

12.1.3. s3c_uart.h 변경 사항 ..................................................................................................................... 254

12.1.4. s3c_uart.c – 초기화 부분 변경 사항 ...................................................................................... 255

12.1.5. s3c_uart.c – Write 부분 변경 사항 ......................................................................................... 258

12.1.6. s3c_uart.c – RX 부분 구현 .......................................................................................................... 260

12.2. 망고24, 망고64에서 실행하기 ............................................................................................................. 262

12.2.1. 망고64 빌드 및 실행 .................................................................................................................... 262

12.2.2. 망고24 빌드 및 실행 .................................................................................................................... 265

12.3. printf를 사용하자 ..................................................................................................................................... 266

12.3.1. main 함수의 수정 및 빌드 에러 해결 ................................................................................. 267

12.3.2. Semi-Hosting ................................................................................................................................... 271

12.3.3. _write 함수의 구현......................................................................................................................... 272

12.3.4. _read 함수 최초 구현 및 Test .................................................................................................. 274

10

12.3.5. 기타 함수 – _sbrk ........................................................................................................................... 275

12.3.6. 기타 함수 – __srget_r .................................................................................................................... 279

12.3.7. 기타 함수 – _fstat ........................................................................................................................... 280

12.3.8. 기타 함수들 – _isatty, _close, _lseek ....................................................................................... 281

12.4. Makefile 하나로 망고24, 망고64 모두 빌드하기 ........................................................................ 282

12.4.1. Makefile 수정 ................................................................................................................................... 282

12.4.2. 망고24, 망고64 빌드 및 수행 ................................................................................................... 283

13. GPIO Button (Polling 방식) - 첫 번째 이야기 ................................................................... 285

13.1. GPIO에 관한 사전 지식 .......................................................................................................................... 285

13.1.1. GPIO 기본 원리 ............................................................................................................................... 285

13.1.2. GPIO 컨트롤 – Pin Configuration ............................................................................................ 286

13.1.3. GPIO 컨트롤 – Pin Data Register ............................................................................................ 286

13.1.4. GPIO 컨트롤 – Pull-up/down Configuration ...................................................................... 287

13.2. S3C2443 / S3C6410 GPIO Registers .................................................................................................. 289

13.2.1. S3C2443 .............................................................................................................................................. 289

13.2.2. S3C6410 .............................................................................................................................................. 290

13.3. GPIO driver .................................................................................................................................................. 293

13.3.1. config.h 추가 .................................................................................................................................... 293

13.3.2. GPIO 드라이버 작업 ...................................................................................................................... 293

13.4. Button driver ............................................................................................................................................... 295

13.4.1. Polling vs. Interrupt 방식 ............................................................................................................. 295

13.4.2. 버튼 드라이버 소스 구현 ............................................................................................................ 296

13.5. 기타 소스 코드 변경 사항 ..................................................................................................................... 297

13.5.1. main.c 변경 사항............................................................................................................................. 297

13.5.2. Makefile 변경 사항 ........................................................................................................................ 300

13.6. 시험 결과 ...................................................................................................................................................... 300

14. GPIO Button (Polling 방식) - 두 번째 이야기 ................................................................... 303

14.1. GPIO 드라이버 헤더 파일 수정 .......................................................................................................... 303

14.1.1. GPIO Port Type 작성 ..................................................................................................................... 303

14.1.2. 함수 프로토타입 설계 – s3c_gpio.h ....................................................................................... 307

14.1.3. 기타 헤더 파일 수정 ..................................................................................................................... 308

14.2. 버튼 드라이버 소스 파일 수정 – mango_button.c .................................................................... 308

14.3. main 함수 수정 ......................................................................................................................................... 309

14.4. GPIO 드라이버 소스 파일 수정 – s3c_gpio.c ............................................................................... 309

14.4.1. Base Address 추출 부분 구현 ................................................................................................... 309

14.4.2. GPIO Set Type 부분 수정 ............................................................................................................ 312

14.4.3. GPIO Set Value 부분 수정........................................................................................................... 316

14.4.4. Pull Up Down 수정 ......................................................................................................................... 318

목 차

www.mangoboard.com cafe.naver.com/embeddedcrazyboys CRZ Technology 11

14.5. 결론 ................................................................................................................................................................ 318

15. Timer와 정확한 1 Delay 구현 ................................................................................................ 319

15.1. Timer 관련 분석 ....................................................................................................................................... 319

15.1.1. Timer 기본 사항 ............................................................................................................................. 319

15.1.2. Timer control 원리 ......................................................................................................................... 320

15.2. S3C2443/S3C6410 Timer ........................................................................................................................ 320

15.2.1. Timer 개요 ........................................................................................................................................ 320

15.2.2. Clock source control ..................................................................................................................... 322

15.2.3. Counter control ............................................................................................................................... 324

15.2.4. PWM control.................................................................................................................................... 324

15.2.5. Inverter control ............................................................................................................................... 325

15.3. Delay function 만들기 ............................................................................................................................. 326

15.3.1. Delay 기능 구현 개요 .................................................................................................................. 326

15.3.2. Timer header – 레지스터 주소 Offset .................................................................................. 327

15.3.3. Timer header – Prescaler 설정 (Configuration 0) ............................................................ 329

15.3.4. Timer Dead Zone ............................................................................................................................ 330

15.3.5. Timer header – Divider 설정 (Configuration 1) ................................................................ 331

15.3.6. Timer 초기화 ................................................................................................................................... 333

15.3.7. Delay 계산 ........................................................................................................................................ 335

15.4. 테스트 하기 ................................................................................................................................................ 337

15.4.1. Main 함수 변경 ............................................................................................................................... 337

15.4.2. Makefile 변경, 빌드 및 시험 ..................................................................................................... 338

16. PWM Timer LCD Backlight 조절 .......................................................................................... 339

16.1. PWM function 만들기 ............................................................................................................................. 339

16.1.1. Interface 설계 ................................................................................................................................. 339

16.1.2. Function 구현 – Configuration 부분 ..................................................................................... 340

16.1.3. Function 구현 – PWM enable 부분 ....................................................................................... 342

16.1.4. Function 구현 – Timer Start Stop 부분 ............................................................................... 343

16.2. LCD Backlight 회로 분석 ....................................................................................................................... 344

16.2.1. 망고24 회로 분석 ........................................................................................................................... 344

16.2.2. 망고64 회로 분석 ........................................................................................................................... 346

16.2.3. ACT6357NH 부분 분석 ................................................................................................................ 349

16.3. Backlight 밝기 조절 구현 ...................................................................................................................... 350

16.3.1. Interface 설계 ................................................................................................................................. 350

16.3.2. Function 구현  초기화 부분 ................................................................................................... 352

16.3.3. Function 구현  밝기 설정 부분 ............................................................................................ 352

16.3.4. Function 구현  밝기 Step Up Down 부분 ....................................................................... 355

16.3.5. Makefile 변경과 Main 함수 변경 ........................................................................................... 355

12

16.4. 실행 결과 ...................................................................................................................................................... 357

17. eCos 개요, 다운로드 및 설치 ..................................................................................................... 358

17.1. RTOS 실시간 운영체제 ............................................................................................................................ 358

17.1.1. RTOS 개요 ......................................................................................................................................... 358

17.1.2. RTOS 종류 ......................................................................................................................................... 359

17.2. eCos 개요 ..................................................................................................................................................... 360

17.3. eCos 다운로드 및 설치 ........................................................................................................................... 361

17.3.1. eCos 다운로드 및 libstdc 설치 ................................................................................................ 361

17.3.2. eCos Toolchain ............................................................................................................................ 364

17.3.3. eCos SDK 설치 ................................................................................................................................ 365

18. 망고24, 망고64 eCos 포팅 소스 빌드 ....................................................................................... 369

18.1. 망고24, 망고64 통합 eCos 포팅 소스 다운로드 ......................................................................... 369

18.2. 작업 폴더 생성 .......................................................................................................................................... 370

18.3. 환경 변수 설정 .......................................................................................................................................... 371

18.4. 작업 폴더 빌드 – configtool ................................................................................................................ 374

18.5. Mango24 빌드하기 .................................................................................................................................. 376

18.5.1. Templates 구동 ................................................................................................................................ 376

18.5.2. 망고24 보드 구성 선택 ................................................................................................................ 378

18.5.3. 구성 파일 저장 ................................................................................................................................ 379

18.5.4. Build Tools Path 확인 .................................................................................................................... 380

18.5.5. 망고24 빌드 수행 ............................................................................................................................ 380

18.6. Mango64 빌드하기 .................................................................................................................................. 382

18.6.1. Templates 구동 ................................................................................................................................ 382

18.6.2. 망고64 보드 구성 선택 ................................................................................................................ 383

18.6.3. 구성 파일 저장 및 Build Tools Path 확인 ........................................................................... 384

18.6.4. 망고64 빌드 수행 ............................................................................................................................ 384

18.7. 빌드할 때의 주의점 ................................................................................................................................. 385

19. 망고24, 망고64에서 실행하기 ..................................................................................................... 387

19.1. 망고24에서 실행하기 – DNW 이용 ................................................................................................... 387

19.1.1. DNW 실행 및 설정 ........................................................................................................................ 387

19.1.2. 망고24에서 redboot.bin 실행하기 ........................................................................................... 388

19.2. 망고64에서 실행하기 – DNW 이용 ................................................................................................... 388

19.2.1. DNW 실행 및 설정 ........................................................................................................................ 388

19.2.2. 망고64에서 redboot.bin 실행하기 ........................................................................................... 389

19.3. 망고 보드에 다운로드 하는 주소값 .................................................................................................. 389

19.3.1. 주소값 명시 위치 ............................................................................................................................ 390

19.3.2. eCos Memory Layout Files .......................................................................................................... 390

19.4. 망고24에서 실행하기 – U-Boot 이용 ............................................................................................... 393

목 차

www.mangoboard.com cafe.naver.com/embeddedcrazyboys CRZ Technology 13

19.4.1. 망고24 – TFTP 다운로드 및 수행 ............................................................................................ 393

19.4.2. 망고24 – NAND 저장 및 수행 ................................................................................................. 395

19.4.3. 망고24 – bootcmd를 이용한 자동 수행 .............................................................................. 397

19.4.4. 망고24 – 환경 변수 설정을 통한 자동 수행 ..................................................................... 397

19.5. 망고64에서 실행하기 – U-Boot 이용 ............................................................................................... 398

19.5.1. 망고64 – TFTP 다운로드 및 수행 ............................................................................................ 398

19.5.2. 망고64 – U-Boot에서의 동작 문제점 수정 ......................................................................... 399

19.5.3. 망고64 – NAND 저장 및 수행 ................................................................................................. 401

19.5.4. 망고64 – bootcmd 및 환경 변수를 이용한 자동 수행 ................................................. 402

20. 작업 폴더(ecos.wk)에서 불필요한 파일 삭제하기 ................................................................... 403

20.1. 전체 비교 및 툴 삭제 ............................................................................................................................. 403

20.1.1. ecos.wk 부분과 ecos.opt.org 비교 ......................................................................................... 403

20.1.2. 환경 변수 파일과 gnutools 삭제 ............................................................................................ 403

20.2. ecos-3.0 부분 비교 정리 ....................................................................................................................... 404

20.2.1. ecos-3.0 내의 툴 및 불필요 파일 삭제 ............................................................................... 404

20.2.2. 소스 편집 백업 파일 삭제 ......................................................................................................... 405

20.3. packages/hal 부분 비교 정리.............................................................................................................. 406

20.3.1. hal 내의 다른 CPU 삭제 ............................................................................................................. 406

20.3.2. hal/arm 내의 다른 Target 삭제 ............................................................................................... 407

20.3.3. ARM11 폴더 비교 .......................................................................................................................... 407

20.3.4. ARM9 폴더 비교 ............................................................................................................................. 408

21. eCos 포팅 전 준비 및 확인 ........................................................................................................ 409

21.1. eCos 폴더 구조 ......................................................................................................................................... 409

21.1.1. opt/ecos 폴더 구조 ....................................................................................................................... 409

21.1.2. eCos package 디렉토리 구조 ................................................................................................... 410

21.1.3. eCos hal 디렉토리 구조 .............................................................................................................. 411

21.2. eCos Configuration Tool ......................................................................................................................... 413

21.2.1. Configtool View ............................................................................................................................... 413

21.2.2. HAL architecture .............................................................................................................................. 414

21.2.3. Property View .................................................................................................................................. 415

21.2.4. eCos에서 지원하는 package ..................................................................................................... 417

21.2.5. eCos Template ................................................................................................................................. 418

21.3. SMDK2410 Template 빌드 작업 ......................................................................................................... 419

21.3.1. Template 선택 ................................................................................................................................. 419

21.3.2. SMDK2410 빌드 확인 .................................................................................................................. 421

21.3.3. smdk2410default_install 폴더 확인 ........................................................................................ 422

21.3.4. main 함수 작성 및 빌드 ............................................................................................................. 423

22. 망고24 포팅 과정 분석  첫 번째 이야기 ............................................................................... 425

14

22.1. 포팅 과정 개요 .......................................................................................................................................... 425

22.1.1. 포팅(Porting)의 진정한 의미 ...................................................................................................... 425

22.1.2. 레퍼런스의 활용 .............................................................................................................................. 425

22.2. 포팅 습작 제작을 위한 준비 ................................................................................................................ 426

22.2.1. 원본 소스 백업 ................................................................................................................................ 426

22.2.2. 수정 사항 확인 ................................................................................................................................ 427

22.2.3. 메모리 인터페이스 변경 .............................................................................................................. 428

22.2.4. 불필요한 부분의 삭제 ................................................................................................................... 429

22.3. 포팅 과정 진행  메모리 포팅............................................................................................................ 430

22.3.1. 2410의 메모리 설정 부분 분석 ................................................................................................ 430

22.3.2. 망고-24 메모리 부분 분석 .......................................................................................................... 432

22.3.3. S3C2443 DRAM 초기화 과정 ..................................................................................................... 433

22.3.4. 망고-24 FW Monitor 프로그램 .................................................................................................. 434

22.3.5. 메모리 초기화 소스 수정 작업 준비 ..................................................................................... 435

22.4. S3C2443 DRAM 초기화 과정 진행 .................................................................................................... 436

22.4.1. DRAM Power Clock 안정화를 위한 Delay ...................................................................... 436

22.4.2. Configuration Register 0 설정하기 .......................................................................................... 436

22.4.3. Control Register1~3 Normal 값으로 설정하기 ............................................................. 441

22.4.4. BANKCON1 레지스터 설정하기 ................................................................................................ 447

22.4.5. Refresh Timer 레지스터 설정하기 ........................................................................................... 448

22.4.6. Auto Refresh Cycle 2회 대기하기 ............................................................................................ 448

22.4.7. BANKCON1 INIT 10b 설정 .......................................................................................................... 449

22.4.8. REFRESH 레지스터 Normal operation 값으로 설정 ....................................................... 449

22.4.9. BANKCON1 INIT 11b 설정 .......................................................................................................... 450

22.4.10. BANKCON1 INIT 00b 설정 .......................................................................................................... 451

22.4.11. DRAM 설정 종료 ............................................................................................................................. 451

23. 망고24 포팅 과정 분석  두 번째 이야기 ............................................................................... 453

23.1. Clock 설정 하기 ........................................................................................................................................ 453

23.1.1. S3C2410 클럭 설정 부분 분석 ................................................................................................. 453

23.1.2. S3C2410 S3C2443 클럭 설정 차이점 분석 .................................................................... 456

23.1.3. Configtool을 이용한 설정 변경 작업 .................................................................................... 458

23.1.4. Clock Divider 설정 작업 .............................................................................................................. 462

23.2. Interrupt 설정 하기 .................................................................................................................................. 465

23.2.1. Interrupt 설정 작업 개요 ............................................................................................................ 465

23.2.2. hal_IRQ_handler............................................................................................................................... 468

23.2.3. hal_interrupt_mask & hal_interrupt_unmask ....................................................................... 470

23.2.4. hal_interrupt_acknowledge .......................................................................................................... 471

23.2.5. hal_interrupt_configure & hal_interrupt_set_level ............................................................. 474

목 차

www.mangoboard.com cafe.naver.com/embeddedcrazyboys CRZ Technology 15

24. 망고24 포팅 과정 분석  세 번째 이야기 ............................................................................... 475

24.1. Timer 설정 작업 ....................................................................................................................................... 475

24.1.1. 2410 타이머 설정 분석 ............................................................................................................... 475

24.1.2. 2410 2443의 타이머 설정 차이 .......................................................................................... 480

24.2. UART .............................................................................................................................................................. 481

24.2.1. UART 포팅 작업 개요................................................................................................................... 481

24.2.2. 시리얼 포트 초기화 작업 ........................................................................................................... 482

24.2.3. Virtual Vector Table (VVT)과 초기화 과정 호출 경로 .................................................... 485

24.2.4. 시리얼 포트 하드웨어 설정 부분 ............................................................................................ 488

24.2.5. 2443의 정확한 클럭 설정을 위한 방법 ............................................................................... 492

24.2.6. getc / putc 수정 사항 .................................................................................................................. 495

24.3. 초기 빌드 작업 .......................................................................................................................................... 496

24.3.1. hal_arm_arm9_smdk2410.cdl 수정 .......................................................................................... 496

24.3.2. Redboot ROM monitor ................................................................................................................ 498

24.3.3. Startup Type – RAM, ROM ......................................................................................................... 498

24.3.4. 최초 수행 .......................................................................................................................................... 501

25. 망고24 포팅하기 ............................................................................................................................ 503

25.1. 망고24에 맞도록 변경하기 ................................................................................................................... 503

25.1.1. Template Mango24 보드 나타내기 ................................................................................... 503

25.1.2. CYGPKG 수정 ................................................................................................................................... 504

25.1.3. CDL 파일 수정 ................................................................................................................................ 506

25.1.4. 2443 관련 클럭 수정 및 파일 이름 변경 ........................................................................... 508

25.1.5. 빌드 및 에러 수정 ......................................................................................................................... 510

25.2. 망고-24 포팅 작업 ................................................................................................................................... 513

25.2.1. s3c2443x.h 수정 .............................................................................................................................. 513

25.2.2. 메모리 설정 값을 configurable하게 수정 ........................................................................... 514

25.2.3. NAND Startup Type 정의하기 .................................................................................................. 518

25.2.4. DRAM 초기화 부분의 삭제 ....................................................................................................... 520

26. 망고64 포팅하기 ............................................................................................................................ 523

26.1. ARM11 eCos 포팅 개요 ......................................................................................................................... 523

26.1.1. ARM11 지원 관련 .......................................................................................................................... 523

26.1.2. 다른 Core 엿보기와 모방 전략 ................................................................................................ 523

26.2. ARM11 eCos 포팅 과정 ......................................................................................................................... 526

26.2.1. 폴더 생성 및 CDL 파일 작업 ................................................................................................... 526

26.2.2. Template 작업 ecos.db 수정 및 Configtool 확인 .......................................................... 529

26.2.3. 소스 코드 복사 ............................................................................................................................... 532

26.2.4. var 부분 작업 .................................................................................................................................. 533

26.2.5. MMU Page Table 작업 ................................................................................................................. 534

16

26.2.6. arm11_misc.c .................................................................................................................................... 538

26.2.7. hal_cache.h ........................................................................................................................................ 538

26.3. Mango64 폴더 포팅 작업 ..................................................................................................................... 539

26.3.1. s3c6410.h ........................................................................................................................................... 539

26.3.2. Clock 포팅 ......................................................................................................................................... 540

26.3.3. Peripheral Port Remap .................................................................................................................. 543

26.3.4. Watchdog disable ........................................................................................................................... 546

26.3.5. Interrupt disable .............................................................................................................................. 547

26.3.6. Cache disable & clear ................................................................................................................... 548

26.3.7. Clock initialization ........................................................................................................................... 551

26.3.8. Main Memory initialization ......................................................................................................... 555

26.3.9. MMU initialization ........................................................................................................................... 560

26.3.10. Interrupt.............................................................................................................................................. 563

26.3.11. Timer .................................................................................................................................................... 565

26.3.12. 기타 초기화 ...................................................................................................................................... 566

26.3.13. UART .................................................................................................................................................... 566

26.4. 망고64 구동 ................................................................................................................................................. 567

27. Ethernet Device Driver ................................................................................................................ 568

27.1. 디바이스 드라이버 개요 ......................................................................................................................... 568

27.2. Ethernet driver 개요 ................................................................................................................................ 569

27.3. eCos Ethernet driver 구조 ...................................................................................................................... 570

27.4. Ethernet driver 개발  망고 24 .......................................................................................................... 573

27.4.1. 회로도 연결 확인 ............................................................................................................................ 573

27.4.2. Mango24 CS8900A driver 포팅 준비 ................................................................................ 575

27.4.3. Mango24 Ethernet CDL 작성 ..................................................................................................... 575

27.4.4. Source code 작성 ............................................................................................................................ 577

27.4.5. configtool 실행 ............................................................................................................................... 579

27.4.6. 실행 결과 확인 ................................................................................................................................ 580

27.5. Ethernet driver 개발  망고 64 .......................................................................................................... 581

27.5.1. 회로도 연결 확인 ............................................................................................................................ 581

27.5.2. Mango64 LAN9220 driver 포팅 준비 ............................................................................... 583

27.5.3. LAN9220 driver directory 생성 ................................................................................................. 584

27.5.4. LAN9220 CDL 작성 ........................................................................................................................ 584

27.5.5. LAN9220 driver 소스 코드 .......................................................................................................... 586

27.5.6. Mango64 Ethernet 구현 ............................................................................................................... 587

27.5.7. configtool 실행 ............................................................................................................................... 589

27.5.8. 실행 결과 확인 ................................................................................................................................ 590

28. NOR Flash Memory Device Driver ........................................................................................... 592

목 차

www.mangoboard.com cafe.naver.com/embeddedcrazyboys CRZ Technology 17

28.1. Introduction ................................................................................................................................................ 592

28.1.1. 플래시 메모리 개요 ....................................................................................................................... 592

28.1.2. CPU Flash Memory의 연결 ................................................................................................... 593

28.2. 망고24 플래시 디바이스 드라이버 .................................................................................................... 594

28.2.1. NOR flash 추가하기 ...................................................................................................................... 594

28.2.2. Samsung NOR flash memory set 추가 ................................................................................. 597

28.3. 망고24 보드에서 시험 수행 ................................................................................................................. 600

28.3.1. 망고24 redboot 생성 .................................................................................................................... 600

28.3.2. 망고24 Flash Test Program 생성 .............................................................................................. 601

28.3.3. 망고24 점퍼 설정 및 시험 ......................................................................................................... 603

28.4. 망고64 플래시 디바이스 드라이버 .................................................................................................... 605

28.4.1. Mango64 flash driver CDL 작성 .............................................................................................. 606

28.4.2. Mango64 flash driver 소스코드 작성 .................................................................................... 607

28.4.3. 메모리 뱅크 구분 처리 ................................................................................................................ 608

28.5. 망고64 보드에서 시험 수행 ................................................................................................................. 611

28.5.1. 망고64 redboot 생성 .................................................................................................................... 611

28.5.2. 망고64 Flash Test Program 생성 .............................................................................................. 612

28.5.3. 망고64 점퍼 설정 및 시험 ......................................................................................................... 613

29. Frame Buffer Device Driver ....................................................................................................... 616

29.1. Introduction ................................................................................................................................................ 616

29.1.1. LCD display 기본 ............................................................................................................................ 616

29.1.2. Framebuffer API .............................................................................................................................. 616

29.2. eCos framebuffer 구현 하기 ................................................................................................................ 617

29.2.1. Header export ................................................................................................................................. 617

29.2.2. Parameters ........................................................................................................................................ 617

29.2.3. MACRO 정의 ................................................................................................................................... 618

29.2.4. cyg_fb 구조체 선언 ....................................................................................................................... 619

29.2.5. Driver source code ......................................................................................................................... 619

29.3. 망고보드 Framebuffer Driver 작성 .................................................................................................... 621

29.3.1. S3C2443 LCD controller register .............................................................................................. 621

29.3.2. Header 작성..................................................................................................................................... 621

29.3.3. Source code 작성 ........................................................................................................................... 622

29.3.4. CDL file ............................................................................................................................................... 623

29.3.5. Test code ........................................................................................................................................... 624

29.4. 망고24 보드에서 시험 수행 ................................................................................................................. 625

29.4.1. 망고24 Frame Buffer Test Program 생성 .............................................................................. 625

29.4.2. 망고24 시험 ..................................................................................................................................... 626

29.5. 망고64 Framebuffer Driver 작성 ......................................................................................................... 626

18

29.6. 망고64 보드에서 시험 수행 .................................................................................................................. 628

29.6.1. 망고64 Frame Buffer Test Program 생성 .............................................................................. 628

29.6.2. 망고64 시험 ...................................................................................................................................... 628

30. JFFS2 File System Device Driver ............................................................................................... 630

30.1. 망고24 보드에서 시험 수행 .................................................................................................................. 630

30.1.1. 프로젝트 생성 및 패키지 선택 ................................................................................................. 630

30.1.2. New API 적용 설정 ........................................................................................................................ 631

30.1.3. 망고24 점퍼 설정 및 시험 ......................................................................................................... 632

30.2. 망고64 보드에서 시험 수행 .................................................................................................................. 635

30.2.1. 프로젝트 생성 및 패키지 선택 ................................................................................................. 635

30.2.2. New API 적용 설정 ........................................................................................................................ 636

30.2.3. 망고64 점퍼 설정 및 시험 ......................................................................................................... 637

맺음말............................................................................................................................................................... 640

색 인 ................................................................................................................................................................ 641

Comments 0
:    :    :
이름 / 2014-11-20 / ★★★☆☆ [수정 / 삭제]

내용

New Products +more
Cosmos/Cosmos+ OpenSSD FPGA Platform
Intel FPGA를 사용한 Processor / Logic 설계입문! 오리지널 마이크로컴퓨터 만들기(망고스토리7:Mango Story 7)