검색

북큐브서점

마이페이지

로그아웃
  • 북캐시

    0원

  • 적립금

    0원

  • 쿠폰/상품권

    0장

  • 무료이용권

    0장

자동완성 기능이 꺼져 있습니다.

자동완성 끄기

네이버 인증이 완료되었습니다.

이미 북큐브 회원인 경우북큐브 ID로 로그인하시면, SNS계정이 자동으로 연결됩니다.

SNS 계정으로 신규 가입하기SNS계정으로 로그인 시 해당 SNS 계정으로 북큐브에 자동 가입되며 간편하게 로그인이 가능합니다.

비밀번호 찾기

북큐브 고객센터 : 1588-1925

아이디 찾기

북큐브 고객센터 : 1588-1925

아이디 조회 결과

비밀번호 조회 결과

으로
비밀번호를 발송했습니다.

임베디드 C코드생성 : Simulink 활용(2판)

윤상호

도서출판 아진 출판|2020.07.24

0.0(0명)

서평(0)

시리즈 가격정보
전자책 정가 32,000원
구매 32,000원+3% 적립
출간정보 2020.07.24|PDF|78.02MB

10년소장 안내

10년소장은 장기대여 상품으로 구매 상품과는 달리 다양한 프로모션 및 폭넓은 할인 혜택 제공이 가능합니다.

프로모션이 없는 경우 구매 상품과 가격이 동일하지만 프로모션이 진행되게 되면 큰 폭의 할인 및 적립이 제공됩니다.

close

지원 단말기 : IOS 10.0 이상, Android 4.1 이상, PC Window 7 OS 이상 지원

책소개

MathWorks 내에서 제어 설계, 검증 및 코드 생성 분야 엔지니어로 일하면서 최근까지도 가장 많이 듣는 질문 중 하나는 자동으로 생성된 코드가 얼마나 효율적인지, 그리고 사람이 직접 작성한 코드의 수준까지 자동으로 생성된 코드가 최적화될 수 있는지에 대한 것이었다. 여기서 많은 엔지니어들이 생각하는 코드 최적화라는 것이 어떤 것이가에 대해 생각하게 된다. 코드 최적화 대상은 코드의 동작 속도일 수도 있을 것이고, 코드 내 변수들, 즉 코드 내에서 사용되는 데이터들의 크기가 될 수도 있을 것이다. 물론 코드의 동작 속도가 빠르면서도, 메모리 사용량이 적은 코드는 임베디드 시스템에 잘 최적화된 코드라고 할 수 있을 것이다. 그러면, 최적화가 잘 된 코드를 모두 좋은 코드라고 할 수 있을까? 항공기, 자동차, 의료기기, 핵/원자력, 열차 시스템 등에 탑재되는 임베디드 소프트웨어는 엄격한 검증 절차를 포함하는 소프트웨어의 개발 프로세스를 통해 개발이 진행되고 있다. 또한 이러한 높은 신뢰성이 요구되는 시스템에 대해서는 개발 프로세스와 관련된 표준들이 제정되어 안전성에 관련된 사항들을 요구하고 있다. 이러한 표준 프로세스에 항상 포함되는 것 중 하나를 예를 들어보면, 코딩 규칙이다. 예를 들어 자동차의 임베디드 시스템에는 MISRA 와 같은 코딩 가이드라인이 표준화되어 수많은 자동차 업체들은 이러한 코딩 가이드라인에 기초하여 사내 코딩 표준을 정하고, 엔지니어들이 그 규칙을 따라 코드를 작성하기를 요구한다. 즉, 코드를 보다 읽기 쉽고 일관되게 작성하여 개발의 효율성을 올리고, 궁극적으로는 코드의 안전성을 확보하겠다는 것이다. 그러면, 이러한 규칙을 따르면 코드의 동작 속도가 빨라지고 메모리의 사용량이 적어질까? 물론 경우에 따라 다르겠지만, 코드의 안전성을 보다 신경쓴다면, 코드의 동작 시에 발생할 런타임에러(run-time error) 등을 막기위한 보호 코드들이 추가되어야 할 필요가 있을 수도 있을 것이다. 또한, 코드를 보다 읽기 쉽게 하기 위해 코드 구조에 대한 규칙을 정해 그에 맞는 코드를 작성하려고 하다보면 보다 간결해질 수 있는 코드 작성기법을 포기해야 될 수도 있을 것이다. 그렇다면 이러한 코드는 좋은 코드가 아니라고 말할 수 있는 것인가? 그 외에도 개발 과정 중에는 각 데이터를 모니터링하고 튜닝할 수 있는 코드가 필요할 것이며, 이를 위해서는 데이터를 언제든 모니터링하고 튜닝하기 위한 메모리 공간의 확보가 필요할 것이다. 하지만 실제 양산 과정에서는 그러한 기능을 뺀 보다 간결한 코드가 필요하다. 즉, 개발 과정에서는 메모리 용량이나 속도보다 보다 쉽게 코드의 에러를 찾고 변경이 쉽도록 짜여진 코드가 더욱 도움이 될 것이고 양산 과정에서는 안전하면서도 사용하는 메모리 용량을 최소화하면서도 충분한 속도를 낼 수 있는 간결한 코드가 좋을 것이다. 코드의 좋고 나쁨을 따지기에 앞서 우리는 현재 코드를 어떠한 용도로 활용할 것인지 고려할 필요가 있으며, 코드가 갖추어야할 여러가지 고려사항 중에 무엇이 우선되어야 할지에 대해서 생각하지 않을 수 없다. 상황에 따라 좋은 코드에 대한 정의는 달라질 수 있으며, 오히려 그 상황들을 쉽게 반영하여 그 상황에 맞는 코드를 작성하는 프로세스를 갖추는 것이 중요할 것이다. 코드 생성 도구는 이러한 프로세스의 적용을 용이하게 한다. 즉, 동일한 모델로 부터 코드를 생성할 지라도 개발 과정 중에는 디버깅이 용이한 코드가 생성되도록 하게 해주며, 양산을 위한 코드를 생성할 때에는 속도와 데이터 사이즈를 최소화한 코드가 생성되도록 하는 것이 가능하다. 실제로 아무리 좋은 프로세스를 갖추었다 하더라도 사람이 이러한 작업을 직접하려 한다면 시간적인 문제와 실수에 의한 오류를 피하기 어려울 것이며, 이것이 임베디드 시스템을 개발하고 코드를 직접 작성해온 경험이 많은 수많은 회사와 엔지니어들조차 자동 코드 생성을 선호하게 되는 큰 이유일 것이라고 생각된다. 물론 자동 코드 생성을 생각하는 보다 더 큰 이유는 아무래도 코드 작성에 요구되는 시간을 줄이는 것이 가장 큰 부분이 되겠지만… 과거 오랜시간 동안 임베디드 시스템을 개발해온 많은 회사들은 이미 많은 부분 수작업으로 작성된 코드를 가지고 있으며, 사내의 임베디드 소프트웨어 엔지니어들은 코딩에 대한 많은 경험과 노하우를 축적해 왔다. MathWorks 의 코드 생성 전문 엔지니어로 일하며 간혹 겪게 되는 어려움 중의 하나는 이들에게 자동코드 생성의 장점을 설명하는 일이었다. 그들의 경험에 비추어 툴에 대한 다소 비판적 시각을 가지고 접근하는 경우가 많기 때문이다. 경우에 따라 어떤 엔지니어들은 모델로 부터 코드 생성을 몇번 시도해 본 경험을 먼저 얘기하기 시작한다. 우선 생성되는 코드가 그들을 만족시키지 못한 부분에 대한 지적을 하고 그들의 경험을 다른 시스템 엔지니어나 타부서의 엔지니어들에게 전파하곤 한다. 어쩌면 현재 내가 하는 일의 많은 부분이 그들에게 자동 코드 생성의 본질을 전달하는 것이었다고 생각된다. 사실 이것이 지금 내가 이 책을 쓰기된 가장 큰 동기이기도 하다. 그들이 툴을 통해 겪은 대부분은 툴을 잘못 사용하여 나오는 경험이기 때문이다. Simulink 모델에서 가장 자주 쓰는 기능은 Configuration Parameters 라는 메뉴를 선택하여 시뮬레이션을 위한 셋팅을 하고 모델을 run 하는 것이다. 이 때 코드 생성 도구가 Simulink 와 함께 설치되어 있는 경우, 많은 사용자들은 Configuration Parameters 옵션 내부에 있는 Code Generation 이란 메뉴를 쉽게 접하게 된다. 그 안에는 Build 란 버튼이 있고 사실 이 버튼을 한번 클릭하면 자동으로 모델에 해당하는 C 코드가 생성이 된다. 생성된 코드에 대해 만족하지 못한 대부분의 엔지니어는 바로 이런 경험에 의한 경우가 많다. 이렇게 생성된 코드는 임베디드 시스템에 활용할 수 없는 데이터 모니터링, parameter 튜닝, 데이터 로깅 및 Simulink 와의 연동 인터페이스들을 모두 포함하고 있으며, 이러한 코드는 Simulator 등을 꾸미기 위한 template 코드이기 때문이다. 이것은 임베디드 시스템에 탑재될 수 없는 코드이며 이것을 자동 코드 생성도구의 모든 것으로 오해하는 경우가 자주 있는 것이다. 본 저자는 이 책을 통해 코드 생성을 위한 기본적인 세팅을 단계적으로 설명함으로서, 독자들로 하여금 Simulink 모델로부터 임베디드 시스템에 탑재 가능한 코드를 생성할 수 있도록 하는 것을 목표로 한다. 또한 개발 프로세스 단계별 상황에 맞는 올바른 코드를 생성하여 실제 업무로의 빠른 적용에 도움을 주고자 한다. 2013 년 초 1 판 이후 MATLAB/Simulink 의 버전이 R2012b 버전에서 현재 R2015a 버전까지 총 다섯번의 업그레이드가 있었다. 이번 2 판에서는 MATLAB/Simulink 버전의 업그레이드를 반영하고, 최근 자동차 분야 이슈가 되는 AUTOSAR 코드 생성에 대한 문의가 많아 AUTOSAR 코드 생성의 기본 개념 및 워크플로우를 다루는 내용을 12 장에 추가하였다.

저자소개

해당 정보는 준비중에 있습니다.

서평(0)

별점으로 평가해주세요.

서평쓰기

스포일러가 포함되어 있습니다.

0

(0명)

ebook 이용안내

  • 구매 후 배송이 필요 없이 다운로드를 통해 이용 가능한 전자책 상품입니다.
  • 전자책 1회 구매로 PC, 스마트폰, 태블릿 PC에서 이용하실 수 있습니다.
    (도서 특성에 따라 이용 가능한 기기의 제한이 있을 수 있습니다.)
  • 책파일 내 판권정보 정가와 북큐브 사이트 정가 표시가 다를 수 있으며, 실제 정가는 사이트에 표시된 정가를 기준으로 합니다.
  • 적립금 지급은 적립금 및 북큐브 상품권으로 결제한 금액을 뺀 나머지가 적립금으로 지급됩니다.
    (적립금 유효기간은 마이페이지>북캐시/적립금/상품권>적립금 적립내역에서 확인 가능합니다.)
  • 저작권 보호를 위해 인쇄/출력 기능은 지원하지 않습니다.
  • 구매하신 전자책은 “마이페이지 > 구매목록” 또는 “북큐브 내서재 프로그램 > 구매목록”에서 다운로드할 수 있습니다.
  • 스마트폰, 태블릿PC의 경우 북큐브 어플리케이션을 설치하여 이용할 수 있습니다. (모바일 페이지 바로가기)
  • PC에서는 PC용 내서재 프로그램을 통해 도서를 이용하실 수 있습니다.
  • ID 계정 당 총 5대의 기기에서 횟수 제한 없이 이용하실 수 있습니다.
TOP