실전! ARM 임베디드시스템 Firmware / RTOS 완전정복 (완벽! ARM9, ARM11, 펌웨어, RTOS(eCos) 실전바이블)

실전! ARM 임베디드시스템 Firmware / RTOS 완전정복 (완벽! ARM9, ARM11, 펌웨어, RTOS(eCos) 실전바이블)

$33.39
Description
이 책의 모든 내용은 실재 임베디드 보드에서 검증하고 테스트한 것으로 독자들이 가진 임베디드 보드에도 쉽게 올려보고 테스트 해 볼 수 있을 것입니다. 각 코드들을 조금씩 변경하여 시험해 봄으로써 ARM을 기반으로 한 임베디드 시스템 소프트웨어에 대해 실질적인 체험이 가능하도록 하는 것을 가장 중요하게 생각하고 집필하였습니다.
저자

박선호

서울대학교컴퓨터공학과학사
서울대학교컴퓨터공학과석사
현대전자주식회사중대형컴퓨터개발
VK주식회사GSM핸드폰개발
코아로직사업본부장
현)씨알지테크놀러지대표이사
네이버embeddedcrazyboys카페필명"설렁설렁"

목차

서언
1. Introduction
1.1. ARM9,ARM11프로세서와임베디드보드
1.2. MANGO보드개발철학
1.3. 개발환경갖추기

2. VMware&리눅스(Ubuntu)환경구축
2.1. VMware및우분투설치
2.2. 우분투기초활용

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

4. HostPC와파일공유-VMwareTools&삼바(Samba)
4.1. VMwareTools
4.2. VMwareTools를이용한파일공유
4.3. 삼바(Samba)이용

5. Crosscompiler(CodeSourceryG++)설치하기
5.1. Cross-Compiler선택
5.2. CodeSourceryG++설치
5.3. HelloMangoWorld를Simulator로실행해보기

6. DNW수행과망고24,망고64부팅모드
6.1. DNW실행및설정
6.2. 망고24-NORMode로부팅하기
6.3. 망고24-NANDMode로부팅하기
6.4. 망고64-NORMode로부팅하기
6.5. 망고64-NANDMode로부팅하기

7. Mango-24하드웨어매뉴얼
7.1. 하드웨어사양
7.2. 보드구성
7.3. HardwareBlockDescription

8. Mango-64하드웨어매뉴얼
8.1. 하드웨어사양
8.2. 보드구성
8.3. HardwareBlockDescription

9. 망고보드연결및U-Boot구동
9.1. U-Boot빌드를위한환경변수설정
9.2. Minicom설정
9.3. EthernetDownloadingServer설치
9.4. 망고24U-Boot구동
9.5. 망고64U-Boot구동
9.6. Cross-Cable을이용한직접연결
9.7. 망고24소스를이용해서망고64U-Boot만들기

10. UART및화면입출력-첫번째이야기
10.1. 환경구축에대한리뷰
10.2. RS-232C와UART에대한상식
10.3. 가장간단한화면출력프로그램
10.4. 임베디드개발개요
10.5. UARTGPIO설정

11. UART및화면입출력-두번째이야기
11.1. UART에관한사전지식
11.2. S3C2443/S3C6410UART
11.3. 망고24소스코딩

11.4. 망고24테스트

12. UART및화면입출력-세번째이야기
12.1. 망고24,망고64에모두적용하는코드만들기
12.2. 망고24,망고64에서실행하기
12.3. printf를사용하자
12.4. Makefile하나로망고24,망고64모두빌드하기

13. GPIO와Button(Polling방식)-첫번째이야기
13.1. GPIO에관한사전지식
13.2. S3C2443/S3C6410GPIORegisters
13.3. GPIOdriver
13.4. Buttondriver
13.5. 기타소스코드변경사항
13.6. 시험결과

14. GPIO와Button(Polling방식)-두번째이야기
14.1. GPIO드라이버헤더파일수정
14.2. 버튼드라이버소스파일수정?mango_button.c
14.3. main함수수정
14.4. GPIO드라이버소스파일수정?s3c_gpio.c
14.5. 결론

15. Timer와정확한1초Delay구현
15.1. Timer관련분석
15.2. S3C2443/S3C6410Timer
15.3. Delayfunction만들기
15.4. 테스트하기

16. PWMTimer와LCDBacklight조절
16.1. PWMfunction만들기
16.2. LCDBacklight회로분석
16.3. Backlight밝기조절구현
16.4. 실행결과

17. eCos개요,다운로드및설치
17.1. RTOS실시간운영체제
17.2. eCos개요
17.3. eCos다운로드및설치

18. 망고24,망고64eCos포팅소스빌드
18.1. 망고24,망고64통합eCos포팅소스다운로드
18.2. 작업폴더생성
18.3. 환경변수설정
18.4. 작업폴더빌드?configtool
18.5. Mango24빌드하기
18.6. Mango64빌드하기
18.7. 빌드할때의주의점

19. 망고24,망고64에서실행하기
19.1. 망고24에서실행하기?DNW이용
19.2. 망고64에서실행하기?DNW이용
19.3. 망고보드에다운로드하는주소값
19.4. 망고24에서실행하기?U-Boot이용
19.5. 망고64에서실행하기?U-Boot이용

20. 작업폴더(ecos.wk)에서불필요한파일삭제하기
20.1. 전체비교및툴삭제
20.2. ecos-3.0부분비교정리
20.3. packages/hal부분비교정리

21. eCos포팅전준비및확인
21.1. eCos폴더구조
21.2. eCosConfigurationTool
21.3. SMDK2410Template빌드작업

22. 망고24포팅과정분석?첫번째이야기
22.1. 포팅과정개요
22.2. 포팅습작제작을위한준비
22.3. 포팅과정진행?메모리포팅
22.4. S3C2443DRAM초기화과정진행

23. 망고24포팅과정분석?두번째이야기
23.1. Clock설정하기
23.2. Interrupt설정하기

24. 망고24포팅과정분석?세번째이야기
24.1. Timer설정작업
24.2. UART
24.3. 초기빌드작업

25. 망고24포팅하기
25.1. 망고24에맞도록변경하기
25.2. 망고-24포팅작업

26. 망고64포팅하기
26.1. ARM11eCos포팅개요
26.2. ARM11eCos포팅과정
26.3. Mango64폴더포팅작업
26.4. 망고64구동
27. EthernetDeviceDriver
27.1. 디바이스드라이버개요
27.2. Ethernetdriver개요
27.3. eCosEthernetdriver구조
27.4. Ethernetdriver개발?망고24
27.5. Ethernetdriver개발?망고64

28. NORFlashMemoryDeviceDriver
28.1. Introduction
28.2. 망고24플래시디바이스드라이버
28.3. 망고24보드에서시험수행
28.4. 망고64플래시디바이스드라이버
28.5. 망고64보드에서시험수행

29. FrameBufferDeviceDriver
29.1. Introduction
29.2. eCosframebuffer구현하기
29.3. 망고보드FramebufferDriver작성
29.4. 망고24보드에서시험수행
29.5. 망고64FramebufferDriver작성
29.6. 망고64보드에서시험수행

30. JFFS2FileSystemDeviceDriver
30.1. 망고24보드에서시험수행
30.2. 망고64보드에서시험수행

맺음말
색인

출판사 서평

MangoStory6
www.mangoboard.com
cafe.naver.com/embeddedcrazyboys

실전!EmbeddedCrazyBoys!
임베디드에미친녀석들!
실전!ARM임베디드시스템Firmware/RTOS완전정복

ARM9(S3C2443),ARM11(S3C6410)테스트보드를통해
실제개발에활용할수있는가장완벽한지침서
EmbeddedSystemFirmware,RTOS(eCos)의통합가이드

ARM9,ARM11시스템프로그램개발실전가이드
입문에서전문가수준까지친절한안내서
펌웨어및RTOS(eCos)개발실전코드제공
진정한RTOS(eCos)포팅에대한실전적설명
단순제어에서RTOS디바이스드라이버까지광범위한체험

ARM9,ARM11시스템개발자의고민을한번에해결하는
완벽!ARM9,ARM11펌웨어,RTOS(eCos)실전바이블

1부.Introduction&환경구성
ARM9,ARM11프로세서와임베디드보드개발환경갖추기
VMware&리눅스(Ubuntu)환경구축,VMwareTools&삼바(Samba)
Crosscompiler(CodeSourceryG++)설치,망고24,망고64부팅모드

2부.하드웨어매뉴얼
Mango-24하드웨어매뉴얼,하드웨어사양,HardwareDescription
Mango-64하드웨어매뉴얼,하드웨어사양,HardwareDescription

3부.Firmware연구
망고보드연결및U-Boot구동,환경변수설정
UART및화면입출력,UARTGPIO설정,printf사용
GPIO와Button(Polling방식),S3C2443/S3C6410GPIORegisters
GPIOdriver,Buttondriver
Timer와정확한1초Delay구현,S3C2443/S3C6410Timer
PWMTimer와LCDBacklight조절

4부.RTOS(eCos)포팅
eCos개요,다운로드및설치
망고24,망고64eCos포팅소스빌드및망고보드에서실행
eCos포팅,eCosConfigurationTool,Template빌드작업
포팅과정진행-메모리포팅,Clock설정,Interrupt설정
포팅과정진행-Timer설정작업,UART,초기빌드작업
망고24포팅,망고64포팅

5부.RTOS(eCos)기반디바이스드라이버연구
EthernetDeviceDriver,eCosEthernetdriver구조,Ethernetdriver개발
NORFlashMemoryDeviceDriver,플래시디바이스드라이버
FrameBufferDeviceDriver,eCosframebuffer구현
JFFS2FileSystemDeviceDriver

그간망고스토리시리즈를통해WindowsCE,Android에대해폭넓게다루어왔습니다.이들운영체제는많은EmbeddedSystem의기반이되는것으로망고스토리에서는기존의전문서적과달리실전적인내용으로이들운영체제를처음접하는엔지니어들도책의내용을따라가기만해도어느정도수준의지식을쉽게얻을수있도록하였습니다.

지루한이론적인내용보다는한페이지한페이지의내용을모두실습해볼수있도록하여책을읽어가는동안자연스럽게그운영체제와EmbeddedSystem에친숙해지도록많은배려를하였습니다.

최근각광을받고있는Android와이에조금은밀려난감이있는WindowsCE에대한책을내면서좀더단순하고직관적인EmbeddedSoftware에대한입문서를만들어EmbeddedSystem을처음접하는사람들도쉽게ARM프로세서와소프트웨어에친숙해지게하고싶다는생각이있었습니다.

Android등의High-LevelOS는그구조가상당히복잡하고높은프로세서(CPU)성능과많은메모리그리고복잡한IO를필요로하므로,ARM9,ARM11등저가형Embedded응용에많이사용되는프로세서에는적합하지않습니다.

ARM9등의저가,저성능프로세서는특정한목적의응용을위해많이사용됩니다.이러한프로세서로구성된EmbeddedSystem에는Firmware나RTOS가주로탑재됩니다.

Firmware에는여러가지정의가있지만여기서는단순히프로세스스케쥴링등의운영체제기능이없이직접하드웨어를제어하는소프트웨어를지칭하는것으로합니다.

RTOS(Real-TimeOS)의경우,일반적으로는Real-Time기능이있는운영체제를말하지만여기서는단순하게Real-Time기능을사용하던사용하지않던,간단한스케쥴링및시분할프로세스관리기능이있는정도의EmbeddedOS를말하는것으로합니다.좀더복잡하고정확하게설명할수도있지만이러한설명이이책을읽는EmbeddedSystem개발자들에게아무런실질적인도움도되지않으므로여기서는생략하기로합니다.

관심이있는엔지니어들은검색엔진에서Firmware와RealTimeOperatingSystem에대해찾아보거나전문서적을읽어보기바랍니다.아마도실전에서는전혀도움이되지않는수많은정의들이있어오히려머리만복잡해질것입니다.

필자들은Firmware와RTOS의
l단순함
l프로세서(CPU)성능및메모리용량에대한요구가적음
l직관적인프로그램이가능함
정도에주목하여실전적으로이책을만들기로하였습니다.

즉,가장단순한코드에서시작하여OS포팅,디바이스드라이버,응용프로그램에이르기까지순서데로차근차근다루어,누구나따라하기만하여도ARM9,ARM11프로세서및소프트웨어에익숙해질수있도록하였습니다.

이책의모든내용은실재임베디드보드에서검증하고테스트한것으로독자들이가진임베디드보드에도쉽게올려보고테스트해볼수있을것입니다.각코드들을조금씩변경하여시험해봄으로써ARM을기반으로한임베디드시스템소프트웨어에대해실질적인체험이가능하도록하는것을가장중요하게생각하고집필하였습니다.

이책의내용에대해의문이있으면다른망고시리즈와마찬가지로http://cafe.naver.com/embeddedcrazyboys로질문하면저자또는다른많은엔지니어분들이친절하게답해줄것입니다.

이책이많은분들에게큰도움이되기를바랍니다.
http://www.mangoboard.com/
http://cafe.naver.com/embeddedcrazyboys