간편결제, 신용카드 청구할인
카카오페이 3,000원
(카카오페이 결제시 최대할인 3천원 / 5만원 이상 결제, 기간 중 1회)
삼성카드 6% (21,150원)
(삼성카드 6% 청구할인)
인터파크 롯데카드 5% (21,380원)
(최대할인 10만원 / 전월실적 40만원)
북피니언 롯데카드 30% (15,750원)
(최대할인 3만원 / 3만원 이상 결제)
NH쇼핑&인터파크카드 20% (18,000원)
(최대할인 4만원 / 2만원 이상 결제)
Close

C와 어셈블리로 확실히 배우는 임베디드 프로그래밍 입문

소득공제

2013년 9월 9일 이후 누적수치입니다.

판매지수 47
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
정가

25,000원

  • 22,500 (10%할인)

    1,250P (5%적립)

할인혜택
적립혜택
  • I-Point 적립은 출고완료 후 14일 이내 마이페이지에서 적립받기한 경우만 적립됩니다.
  • 추가혜택
    배송정보
    주문수량
    감소 증가
    • 이벤트/기획전

    • 연관도서(21)

    • 사은품(13)

    출판사 서평

    임베디드 프로그래밍의 기초를 닦고자 하는 초심자와 입문자를 위한 필독서!

    "임베디드 프로그래밍 입문(부제: C와 어셈블리로 확실히 배우는)"은 컴퓨터 조직과 어셈블리어 프로그래밍에 대한 전통적인 대학 교재의 대안으로 자리를 확고히 할만한 신선한 내용으로 가득 차 있다. 이 책은 어셈블리를 실제 쓰이는 그대로-작거나 빠르거나, 또는 C와 같은 고급 언어로 작성한 메인 프로그램에서 부르는 특수목적의 루틴을 구현하기 위한 용도로- 소개한다. 임베디드 소프트웨어 맥락에서 멀티스레드 프로그래밍, 선점형과 비선점형 시스템, 공유 자원, 스케줄링 등을 설명함으로써 이후 배워나갈 과정(운영 체제, 실시간 시스템, 네트워킹, 그리고 마이크로프로세서 기반 설계 등)에 대한 확고한 기초를 제공한다.

    ★ 이 책에서 다루는 내용 ★

    - 간과하기 쉬운 바이너리 표현의 영향과 한계
    - 부동 소수점 대신 고정 소수점 실수를 이용한 빠른 실수 연산
    - 스코프, 파라미터 전달, 재귀호출, 메모리 할당
    - 비트 조작과 가변 액세스 등 임베디드 시스템에서 흔히 쓰이는 용어의 특성
    - C에서 호출할 수 있는 인텔 x86 보호 모드 어셈블리 함수 작성법
    - 다양한 스타일의 I/O 프로그래밍의 최대 데이터 속도와 대기 시간 추정
    - 여러 스레드와 공유 자원, 크리티컬 섹션의 관리법
    - 우선순위 역전, 데드락, 공유 메모리 문제를 피하는 프로그래밍 방법

    <부록 CD>
    부록 CD에는 보통의 펜티엄급 PC에서 간단한 임베디드 애플리케이션을 작성할 수 있는 소프트웨어 툴(C 컴파일러, 어셈블러, 링커, 부트 로더, 라이브러리, 비선점형과 선점형 실시간 커널)이 들어있다. 또한 부록에 있는 다수의 프로그래밍 과제를 위한 소스코드의 주요 부분도 들어 있다.

    목차

    1장 소개
    1.1 임베디드 시스템이란 무엇인가?
    1.2 임베디드 소프트웨어에만 특징적인 디자인 목표는 무엇인가?
    1.3 "실시간"이 의미하는 바는 무엇인가?
    1.4 "멀티태스킹"이 의미하는 바는 무엇인가?
    1.5 임베디드 프로세서는 얼마나 강력한가?
    1.6 어떤 프로그래밍 언어를 사용하는가?
    1.7 "실시간 커널"이란 무엇인가?
    1.8 임베디드 애플리케이션 제작은 왜 특별한가?
    1.9 보통 임베디드 프로그램의 크기는 얼마나 되는가?
    1.10 이 책에서 사용하는 소프트웨어

    2장 데이터 표현
    2.1 고정 정밀도 이진수
    2.1.1 자릿수 체제
    2.1.2 2진수를 10진수로 바꾸는 법
    2.1.3 10진수를 2진수로 바꾸는 법
    2.1.4 카운팅
    2.1.5 고정 정밀도와 오버플로우
    2.1.6 16진수 표현
    2.2 정수의 2진 표현
    2.2.1 부호 있는 정수
    2.2.2 같은 크기 정수의 양수와 음수 표현
    2.2.3 2의 보수 숫자의 해석
    2.2.4 범위와 오버플로우에 대해서 한 번 더
    2.2.5 2의 보수와 하드웨어 복잡도
    2.3 실수의 2진 표현
    2.3.1 고정 소수점 표현
    2.3.2 범용 16.16 포맷의 고정 소수점
    2.3.3 범용 32.32 포맷의 고정 소수점
    2.3.4 부동 소수점 표현
    2.4 텍스트의 ASCII 표현
    2.5 BCD

    3장 C 최대한 활용하기
    3.1 정수 데이터 타입
    3.2데이터 타입 섞어 쓰기
    3.3 유용한 TYPEDEF와 #DEFINE
    3.4 메모리에서의 비트 조작
    3.4.1 비트 검사
    3.4.2 비트 설정, 클리어, 그리고 반전
    3.4.3비트 추출
    3.4.4 비트 삽입
    3.5 I/O 포트에서의 비트 조작
    3.5.1 쓰기 전용 I/O 포트
    3.5.2 읽기와 쓰기로 구별하는 포트
    3.5.3 쓰는 순서로 구별하는 포트
    3.5.4 쓰는 데이터 비트의 값으로 구별하는 포트
    3.6 메모리-맵드 I/O 장치의 액세스
    3.6.1 포인터를 통한 데이터 액세스
    3.6.2 배열, 포인터, 그리고 "주소" 연산자
    3.7 구조체
    3.7.1 팩드 구조체
    3.7.2 비트 필드
    3.8 가변 액세스
    3.8.1 객체의 주소를 캐스팅
    3.8.2 유니온

    4장 프로그래머 관점에서의 컴퓨터 구조
    4.1 메모리
    4.2 CPU
    4.2.1 ALU
    4.2.2 기타 레지스터
    4.2.3 제어 유닛
    4.3 입출력 (I/O)
    4.4 인텔 아키텍처 개요
    4.4.1 명령어 포맷
    4.4.2 명령어 오퍼랜드
    4.4.3오퍼랜드 제약사항
    4.4.4 레지스터
    4.4.5 스택
    4.5 인텔 리얼 모드 아키텍처
    4.5.1 세그먼티드 어드레싱
    4.5.2 주소 지정 방식
    4.6 인텔 보호 모드 아키텍처
    4.6.1 세그먼트 레지스터와 GDT
    4.6.2 플랫 메모리 모델
    4.6.3 주소 지정 방식
    4.7 오퍼랜드와 주소 크기 오버라이드 프리픽스
    4.8 인텔 데이터 조작 명령어
    4.8.1 데이터 이동, 스택, 그리고 I/O 명령
    4.8.2 산술 연산 명령어
    4.8.3 비트 연산 명령어
    4.8.4 시프트 명령어

    5장 C와 어셈블리 섞어 쓰기
    5.1 어셈블리 프로그래밍
    5.2 레지스터 사용 관례
    5.3 전형적인 주소 지정 방식
    5.3.1 상수 주소 데이터 액세스
    5.3.2 변수 주소 데이터 액세스
    5.4 명령어 실행 순서
    5.4.1 복합 조건식
    5.4.2 If?Then?Else 문
    5.4.3 루프
    5.4.4 문자열 명령어를 이용한 더 빠른 루프
    5.5 프로시저 호출과 복귀
    5.6 파라미터 전달
    5.7 파라미터 읽기
    5.8 모든 것을 값으로 전달
    5.9 임시변수

    6장 I/O 프로그래밍
    6.1 인텔 I/O 명령어
    6.2 동기화, 전송 속도, 그리고 대기 시간
    6.3 폴링 대기 루프
    6.4 인터럽트-드리븐 I/O
    6.4.1 하드웨어 응답
    6.4.2 ISR
    6.4.3 PIC
    6.4.4 버퍼와 큐
    6.4.5 어셈블리로 인터럽트 서비스 루틴 작성하기
    6.4.6 C로 인터럽트 서비스 루틴 작성하기
    6.4.7 NMI
    6.4.8 소프트웨어 인터럽트
    6.4.9 예외
    6.5 DMA
    6.5.1이중 버퍼링
    6.6 비교

    7장 병행 소프트웨어
    7.1 포그라운드/백그라운드 시스템
    7.1.1 스레드 상태와 직렬화
    7.1.2 지연시간 관리
    7.1.3 인터럽트 초과 실행 방지
    7.1.4 작업을 백그라운드로 이동
    7.2 멀티스레드 프로그래밍
    7.2.1 독립된 스레드의 병행 실행
    7.2.2 문맥 전환
    7.2.3 비선점형 (협조적) 멀티태스킹
    7.2.4 선점형 멀티태스킹
    7.3 공유 자원과 크리티컬 섹션
    7.3.1 인터럽트 금지
    7.3.2 태스크 전환 금지
    7.3.3 스핀 락
    7.3.4 뮤텍스
    7.3.5 세마포어

    8장 스케줄링
    8.1 스레드 상태
    8.2 대기 스레드
    8.3 문맥 전환
    8.4 라운드 로빈 스케줄링
    8.5 우선순위 기반 스케줄링
    8.5.1 우선순위 반전
    8.5.2 우선순위 상속 프로토콜
    8.5.3 우선순위 상한 프로토콜
    8.6 우선순위 할당
    8.6.1 데드라인-드리븐 스케줄링
    8.6.2 주기 단조 스케줄링
    8.7 데드락
    8.8 와치독 타이머

    9장 메모리 관리
    9.1 C에서의 객체
    9.2 스코프
    9.2.1 지역 스코프
    9.2.2 전역 스코프
    9.3 수명
    9.4 자동 할당
    9.4.1 저장 클래스 "레지스터"
    9.5 정적 할당
    9.6 정적 할당과 자동 할당을 구별하기 위한 세 가지 프로그램
    9.6.1 객체 생성
    9.6.2 객체 초기화
    9.6.3 객체 파괴
    9.7 동적 할당
    9.7.1 단편화
    9.7.2 메모리 할당 풀
    9.8 가변 크기 자동 할당
    9.8.1 가변 크기 배열
    9.9 재귀 함수와 메모리 할당

    10장 공유 메모리
    10.1 공유 객체 인식
    10.1.1 공유 전역 데이터
    10.1.2 공유 사적 데이터
    10.1.3 공유 함수
    10.2 재진입 가능 함수
    10.3 읽기 전용 데이터
    10.3.1 Type Qualifier "const"
    10.4 피해야 할 코딩 습관
    10.4.1 내부 상태를 지역 정적 객체에 보관하는 함수
    10.4.2 지역 정적 객체의 주소를 리턴하는 함수
    10.5 공유 메모리 액세스
    10.5.1 프로세서 워드 크기의 영향
    10.5.2 읽기 전용과 쓰기 전용 액세스
    10.5.3 타입 수식어 "Volatile"

    11장 시스템 초기화
    11.1 메모리 레이아웃
    11.2 CPU
    11.2.1 플랫 메모리 모델 설정
    11.2.2 보호 모드로 전환
    11.3 C 런타임 환경
    11.3.1 롬에서 램으로 복사
    11.3.2 초기값 없는 정적 변수를 0으로 초기화
    11.3.3 힙 설정
    11.4 시스템 타이머
    11.4.1 타이머 0: 타이머 틱
    11.4.2 타이머 1: 메모리 리프레쉬
    11.4.3 타이머 2: 스피커 주파수
    11.5 인터럽트 시스템
    11.5.1 IDT 초기화
    11.5.2 8259 PIC 초기화
    11.5.3 새로운 ISR의 설치

    부록 A CD-Rom의 내용
    부록 B DJGPP 컴파일러
    부록 C NASM 어셈블러
    부록 D 프로젝트 프로그래밍
    부록 E libepc 라이브러리
    부록 F 부트로더

    저자소개

    대니얼 W. 루이스 [저] 신작알림 SMS신청 작가DB보기
    생년월일 -
    출생지 -
    출간도서 0종
    판매수 0권

    Syracuse University에서 공학박사 학위를 받았으며, Santa Clara University의 Computer Engineering 학과 설립을 주도했고 현재 학과장으로 재직 중이다. 재직 중 학부생의 co-op과 유학 프로그램, 전문직 종사자를 위한 대학원 과정, 학제간 부전공 과정인 IT와 사회학 과정을 개설했으며 상당히 좋은 반응을 얻고 있다. 대학에 부임하기 전에는 GE에서 6년간 근무했으며, 이후 Bay Area 등 여러 회사에서 기술 자문으로 활동했다.

    생년월일 -
    출생지 -
    출간도서 0종
    판매수 0권

    포스텍 컴퓨터공학과와 동 대학원을 졸업한 후, 지금은 elastic.co에서 일래스틱서치 사용자들을 돕고 있다. LG전자에서 타임머신 TV, 썬마이크로시스템과 오라클에서 자바 VM 관련 개발에 참여했다. 공저로 [Security Plus For Unix](영진출판, 2000), 역서로 에이콘출판에서 출간한 [임베디드 프로그래밍 입문](2006), [실시간 UML](2008), [리눅스 API의 모든 것](2012), [리눅스 실전 가이드](2014)가 있다.

    이 상품의 시리즈

    에이콘 임베디드 시스템프로그래밍 시리즈(총 29권 / 현재구매 가능도서 21권)

    펼쳐보기

    이 책과 내용이 비슷한 책 ? 내용 유사도란? 이 도서가 가진 내용을 분석하여 기준 도서와 얼마나 많이 유사한 콘텐츠를 많이 가지고 있는가에 대한 비율입니다.

      리뷰

      0.0 (총 0건)

      구매 후 리뷰 작성 시, 북피니언 지수 최대 600점

      리뷰쓰기

      기대평

      작성시 유의사항

      평점
      0/200자
      등록하기

      기대평

      10.0

      교환/환불

      교환/환불 방법

      ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청함, 1:1 문의 게시판 또는 고객센터(1577-2555) 이용 가능

      교환/환불 가능 기간

      고객변심은 출고완료 다음날부터 14일 까지만 교환/환불이 가능함

      교환/환불 비용

      고객변심 또는 구매착오의 경우에만 2,500원 택배비를 고객님이 부담함

      교환/환불 불가사유

      반품접수 없이 반송하거나, 우편으로 보낼 경우 상품 확인이 어려워 환불이 불가할 수 있음
      배송된 상품의 분실, 상품포장이 훼손된 경우, 비닐랩핑된 상품의 비닐 개봉시 교환/반품이 불가능함

      소비자 피해보상

      소비자 피해보상의 분쟁처리 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 따라 비해 보상 받을 수 있음
      교환/반품/보증조건 및 품질보증 기준은 소비자기본법에 따른 소비자 분쟁 해결 기준에 따라 피해를 보상 받을 수 있음

      기타

      도매상 및 제작사 사정에 따라 품절/절판 등의 사유로 주문이 취소될 수 있음(이 경우 인터파크도서에서 고객님께 별도로 연락하여 고지함)

      배송안내

      • 인터파크 도서 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다

      • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

      • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능하여, 인터파크 외 타업체 배송상품인 경우 발송되지 않을 수 있습니다.

      • 배송비

      도서(중고도서 포함) 구매

      2,000원 (1만원이상 구매 시 무료배송)

      음반/DVD/잡지/만화 구매

      2,000원 (2만원이상 구매 시 무료배송)

      도서와 음반/DVD/잡지/만화/
      중고직배송상품을 함께 구매

      2,000원 (1만원이상 구매 시 무료배송)

      업체직접배송상품 구매

      업체별 상이한 배송비 적용