임베디드 시스템 리눅스 학습
나는 최근에 같은 그림과 같은 8 비트 프로세서뿐만 아니라,파워 같은 32 비트 프로세서와 임베디드 시스템 프로그래밍에 경험이있는 사람,하지만 리눅스 경험,임베디드 리눅스를 사용하는 방법을 배울 수있는 방법을 질문을 받았다.
내가 그런 임베디드 시스템 프로그래머에게 항상 추천하는 것은 다음과 같다:임베디드 리눅스를 임베디드 부분과 리눅스 부분의 두 부분으로 본다. 먼저 리눅스 부분을 고려해 봅시다.
리눅스 쪽
운영 체제는 풍부 하 고 선택은 임베디드 시스템,독점 및 오픈 소스에 대 한 많은. 리눅스는 이러한 선택 중 하나입니다. 당신이 당신의 개발 호스트를 위해 사용하는 상관없이,리눅스 또는 윈도우 또는 맥 여부,당신은 대상 운영 체제를 사용하여 프로그래밍하는 방법을 배울 필요가. 이 점에서 임베디드 리눅스를 사용하는 것은 크게 다르지 않습니다. 운영 체제 설계 방법,운영 체제 구성 방법 및 응용 프로그램 프로그래밍 인터페이스를 사용하여 프로그래밍하는 방법에 대한 이해가 필요합니다.
몇 가지 요인은 다른 임베디드 운영체제보다 쉽게 리눅스를 프로그래밍하는 방법을 학습합니다. 다른 운영체제보다 더 많은—당신은 많은 책과 리눅스에 대한 자습서뿐만 아니라이 파생되는 유닉스를 찾을 수 있습니다. 리눅스에 대한 온라인 리소스는 충분,다른 운영체제는 훨씬 작은 존재를 가지고있는 동안,또는 운영 체제 제조업체에 의해 구동 하나. 리눅스는 오픈 소스,그리고 정확 하 게 운영 체제,바이너리로 배포 하는 독점 운영 체제와 함께 종종 불가능 한 무언가의 이해를 얻기 위해 코드를 읽을 수 있습니다. (나는 확실히 리눅스를 프로그래밍하는 방법을 배우려고 리눅스 소스를 읽는 것을 권장하지 않습니다. 그것은 자동차의 변속기가 어떻게 작동하는지 연구함으로써 운전하는 법을 배우려는 것과 같습니다.
리눅스를 다른 운영체제와 차별화하는 가장 중요한 요소는 동일한 커널이 가장 작은 임베디드 보드부터 데스크톱 시스템,대규모 서버 팜에 이르기까지 모든 시스템에 사용된다는 것이다. 이것은 당신이 훨씬 더 유연한 대상에 연결 테스트 프로그래밍을 다운로드하고 테스트를 실행하는 복잡성의 모든 대상 보드를 사용하는 것보다 환경에서 바탕 화면에 리눅스 프로그래밍의 많은 양을 배울 수 있다는 것을 의미한다. 모든 기본 개념과 대부분의 아피스는 데스크톱 리눅스와 임베디드 리눅스에서 동일합니다.
리눅스 설치
당신은 당신의 윈도우 또는 맥 시스템을 교체,개발 시스템에 데스크톱 리눅스 배포판을 설치할 수 있지만,당신은 가능성이 이메일을 구성 할 필요가 있기 때문에 즉,한 번에 물어 꽤 큰 조각이 될 수있다,새로운 도구를 배우고,다른 데스크톱 인터페이스와 속도를 올. 당신은 당신이 전자 우편,등등을 위해 오래된 환경을 사용하는 이중 시동 환경에서 리눅스를 설치할 수 있었다.,그리고 학습을 위해 리눅스 시스템을 사용하십시오. 이것은 꽤 어색 할 수 있습니다,당신은 다른 하나를 가지고 한 환경을 종료해야하기 때문에. 또한 기업 환경 내에서 수행하는 것은 비실용적이거나 불가능할 수 있습니다. 이 사람들은 당신이 선택한 것이 아니라 알려진 환경을 지원하는 것을 선호합니다.
보다 쉬운 방법은 현재 개발 시스템에 가상 컴퓨터 환경을 만드는 것입니다. 윈도우 호스트의 경우,당신은 가상 머신 플레이어 또는 버추얼 박스를 설치할 수 있으며,맥에,당신은 패러랠 또는 가상 머신 퓨전을 설치할 수 있습니다. 가상 머신을 사용하면 훨씬 더 많은 유연성을 제공합니다. 당신은 우분투 나 페도라와 같은 데스크톱 리눅스 배포판을 설치할 수 있습니다. 이 배포판을 사용하여 기본 리눅스 개념에 익숙해지고 명령 셸을 배우고 프로그램을 빌드하고 실행하는 방법을 배울 수 있습니다. 당신은 당신이 당신의 데스크톱 시스템을 충돌합니다 걱정없이 커널 또는로드 드라이버를 다시 구성 할 수 있습니다. 당신은 당신이 임베디드 리눅스 대상에 대한 크로스 개발 환경에서 할 수있는 것과 유사한 전체 커널 및 응용 프로그램 환경을 구축 할 수 있습니다.
리눅스를 실행하는 가상 머신이 충돌하는 경우,당신은 단순히 가상 머신을 다시 시작합니다. 충돌은 빌드 및 드라이버를 설치하는 방법에 대한 웹 페이지를 읽거나 많은 지원 메일 링리스트 중 하나에 이메일을 작성하는 것과 같이 개발 시스템에서 수행 할 수있는 다른 작업에는 영향을 미치지 않습니다.
일부 가상 머신 제품에는 알려진 작업 구성의 검사점을 가져올 수 있는 스냅샷 기능이 있습니다. 이 스냅 샷은 충돌하는 데스크톱 시스템이나 응답하지 않는 대상 보드를 구출하는 것보다 훨씬 쉽습니다.
데스크톱에서 실행되는 리눅스 가상 머신은 임베디드 리눅스 환경을 위한 완벽한 모델이 아닙니다. 가상 컴퓨터는 데스크톱 시스템의 하드웨어를 에뮬레이트합니다. 그러나 이 시점에서 우리의 목표는 실제 목표(나중에 논의할 것)를 모델링하는 것이 아니라 리눅스 개념과 프로그래밍을 쉽게 배울 수 있는 환경을 만드는 것입니다.
첫 번째 단계는 가상 머신을 만들고 가상 머신에 데스크톱 리눅스 배포판을 설치하는 것입니다. 우리는 우리의 다음 할부 여기에서 선택할 수 있습니다.
마이클 열망은 캘리포니아 팔로 알토에서 열망 컨설팅의 수석 컨설턴트입니다. 그는 임베디드 시스템에 사용되는 광범위한 프로세서 아키텍처를위한 컴파일러,디버거 및 시뮬레이터를 개발 한 경험이 40 년 이상 있습니다. 그의 현재 및 이전 고객은 주요 반도체 회사 및 시스템 개발자를 포함합니다. 마이클의 일원이었습 ISO C++표준 위원회 및 ABI 위원회에 대한 여러 프로세서 아키텍처를 활용할 수 있다. 그는 드워프,널리 사용되는 디버그 데이터 형식에 대한 디버깅 표준위원회의 의장입니다. 그는 오픈 소스 및 리눅스 커뮤니티에서 활동하고 있습니다.
관련 링크:
- 임베디드 시스템을 위한 리눅스 학습
- 임베디드 리눅스 시작:2 부
- 임베디드 리눅스 시작:3 부
- 임베디드 리눅스 시작:4 부
- 임베디드 리눅스 시작:5 부
- 임베디드 리눅스 시작:6 부
- 임베디드 리눅스 시작:7 부