ARM에 대한 유용한 초보자 책


26

ARM 마이크로 컨트롤러를위한 좋은 초보자 용 책을 찾고 있습니다. CPU 아키텍처와 부팅 순서, 그리고 어셈블러, C 및 주변 장치에도 이상적입니다.

나는 AVR을 위해 이와 같은 책을 가지고 있으며 Atmel 칩에 대한 몇 가지 좋은 선택이있는 것 같습니다. ARM 환경은 여러 공급 업체와 여러 종류의 칩으로 인해 더 복잡합니다. 아마존을 살펴본 결과 좋아하는 것은 분명하지 않았습니다. 몇 가지 권장 사항을 부탁드립니다.


AVR을위한 당신의 책은 무엇입니까? 궁금해. 또한 저는 ARM 대학을위한 코스 팩을 가지고 있지만 출판물을 볼 수 없을 것 같습니다 ...
Kevin Vermeer

1
@ kevin-vermeer 독일의 저서입니다. Mikrocomputertechnik 은 은퇴 한 교수가 작성한 Atmel AVR-RISC-Familie의 컨트롤러 입니다. 그녀는 루프마다 반복 해야하는 시간을 결정하기 위해 어셈블러 명령을 계산하는 방법과 같은 멋진 내용을 포함하여 내 질문에 언급 한 모든 주제를 다룹니다.
kwo

내가 독일어를 배울 필요가 추측 ...
케빈 베르메르

저도 책을 읽고 이해할 수있는 독일어를 잘 모릅니다.
Dean

@kwo 번역 된 버전을 올바르게받을 희망이 없다고 생각하십니까?
NickHalden

답변:


3

ARM 정보 센터를 방문하십시오. 그것은 내가 염려하는 한 좋은 출발입니다. 하나의 MCU에서 ARM으로 마이그레이션 할 때도 많은 정보를 제공합니다. http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dai0211a/index.html 또한 ARM 칩의 ATMEL 사이트는 많은 도움이됩니다. 좋은 문서와 많은 애플리케이션 노트. 모두 제일 좋다.


감사. 이 사이트에는 일부 권장 도서가 있습니다.
kwo

13

ARM ARM, ARM 아키텍처 참조 매뉴얼을 검색하십시오. 부팅 프로세스, 아키텍처, 어셈블리 (ARM, 썸 및 썸 2) 등 모든 것을 다룹니다. ARM ARM은 일반적이며 관심있는 특정 코어에 대해서는 TRM 기술 참조 매뉴얼도 있습니다. 이러한 모든 문서는 ARM 웹 사이트에서 무료로 제공됩니다. TRM은 특히 최신 Cortex-M3 기반 마이크로 컨트롤러 중 하나를 사용하려는 경우 부팅 시퀀스 또는 예외 테이블이 기존 ARM과 다르며 정보를 찾기 위해 Cortex-M3.

캐시 또는 mmu가있는 팔로 끝나는 경우 ARM 웹 사이트에서 해당 TRM을 가져와야 할 수도 있습니다. 특정 공급 업체 칩에 내장 된 특정 코어를 알아야합니다. 예를 들어 PL310 r2p0은 r3p0과 다를 수 있습니다. 공급 업체는이 정보를 가져야하고 직접 암 문서에 대한 링크를 제공하거나 암 문서를 직접 제공하지 않을 수도 있습니다. ARM이 그런 식으로 선호한다고 생각합니다.

C가 진행되는 한 C는 단지 C이며 특별한 것은 아니며 ARM은 주류 컴파일러, gcc, llvm, Keil (현재 ARM 소유), IAR, 녹색 언덕 등에서 지원합니다. 그래도). ARM에는 특별한 것이 없지만 특정 컴파일러와 그 링크에 대한 뉘앙스를 알아야합니다. 코드 소스는 요즘 gcc 기반 ARM 컴파일러를 사용할 준비가되었으므로 LITE 버전을 무료로 다운로드하여 사용할 수 있으며 지원을 원할 경우 버전에 대한 비용이 있습니다 (google.com에서보다 더 많은 gcc arm 지원 읽을 시간이 있습니다). 코드 소스 이전에 emdebian은 갈 곳이었습니다. yagarto와 devkitarm 및 winarm은 모두 솔루션을 사용할 준비가되었거나 (리눅스를 위해 크로스 컴파일하려는 경우에는 반드시 리눅스, 코드 소스 리 또는 emdebian이 아닌 임베디드) 솔루션을 사용할 준비가되었습니다.

실제로 블로그가 아닌 몇 가지 블로그가 있지만 몇 가지 ARM 기반 마이크로 컨트롤러를 만드는 방법에 대한 샘플 프로그램과 정보를 제공합니다. 일부 C는 일부 C, 오래된 블로그는 자신의 gcc 기반 크로스 컴파일러를 작성하는 방법을 보여줍니다. llvm 정보도 가지고있을 수 있습니다 (엄지 손가락에는 문서화되어 있지는 않지만 몇 가지 예가 있습니다) llvm은 많은 플랫폼에서 크로스 컴파일러로 사용될 수 있으므로 gcc와 같은 대상에 빌드 할 필요가 없습니다. 그리고 llvm의 코드 생성은 gcc 4.x를 따라 잡았습니다 (gcc 4.x가 gcc 3.x보다 반드시 좋은 것은 아니며 gcc 또는 llvm도 ARM 자체 컴파일러와 같은 다른 비용을 지불하는 것만 큼 우수하지는 않습니다).

http://stm32stuff.blogspot.com/

여기에서 내 프로파일을 클릭하고 lpc, lmi (luminary micro, 스텔라리스 부품, 현재 ti 소유) sam7에 대한 유사한 정보를 찾을 수 있습니다. 나는 lpc 제품군의 팬이 아닙니다 .mbed2는 고통스러운 파란색 led 이외의 괜찮습니다. 현재 12 달러짜리 stm32 기반 보드가 있으며, 일부는 발견되어 즉시 사용할 수 있습니다. coridium은 메이플과 마찬가지로 arduino 발자국과 일치하는 보드를 가지고 있으며 sparkfun (sparkfun에서 많은 음식)을 얻을 수 있습니다. 더 강력한 무언가를 찾고 있다면 비글 보드가 인터페이스 부족으로 고통 스럽습니다. 동일한 가격의 중국어 버전이 더 좋았거나 더 좋았습니다 (1 ~ 2 주일에 표시되었지만 추적 정보는 없음). 나사가없는 직렬 포트. 나는 hawkboard를 좋아하지만 디자인 가이드를 따르지 않았고 omap에 문제가 있다고 생각합니다. 플러그 컴퓨팅 사람들의 공개를 좋아했지만 플러그 버전을 싫어했습니다. openrd에는 보드에 sata 전원 및 데이터 커넥터가 있으며 단순히 하드 드라이브를 꽂으면이 클래스의 다른 보드는 플래시 기반으로 읽습니다 (읽기 : 매우 느림). marvell 코어는 어쨌든 현재 ti omaps 주위를 돌고 있습니다.

또는 썸 허브 (github) 썸 명령어 세트 시뮬레이터를 무료로 사용해보십시오. 그러나 썸, 암 없음으로 제한됩니다 (12 달러와 같이 stm32 보드로 코드를 가져갈 수 있습니다). gdb 및 다른 곳에있는 armulator는 사용하기가 더 어려울 수 있지만 arm과 thumb을 지원하며 qemu는 직렬 포트 출력 이외의 코드가 무엇인지보고 싶지 않은 경우 사용하기 쉽습니다. qemu는 팔, 엄지 및 thumb2를 지원하며, 스텔라리스 보드 또는 두 개가 모델링되어 있다고 생각합니다.

AVR 어셈블러를 이미 알고 있다면 (어떤 것보다 낫고, 다른 것보다 나쁘다) ARM 또는 Thumb에 문제가 없어야합니다. 마찬가지로 AVR을 사용하여 임베디드 C (샌드 박스 외부)를 수행 한 경우 ARM이 동일하거나 더 쉬워집니다. 샌드 박스가있는 mbed 또는 maple을 사용하면 쉽게 시작할 수 있으며, 직접 시작하려는 경우 많은 어려움없이 할 수 있습니다. mbed는 단순히 .bin을 가상 플래시 드라이브에 복사하고, 메이플은 로더 또는 dfu-util 또는 내가 기억하지 못하는 것과 같은 것을 사용합니다.


환상적인 답변.
NickHalden

3

ARM에 대한 좋은 책은 다음과 같습니다.

Steve Furber의 "ARM SOC Architecure"

Andrew Sloss, Dominic Symes 및 Chris Wright의 "ARM 시스템 개발자 안내서"

ARM의 "ARM 아키텍처 참조 매뉴얼"

마지막 것은 ARM 사이트 에서 무료로 구할 수 있습니다 .

나무를 피하고 숲을보기 위해 특히 임베디드 시스템이 필요한 경우 Sloss, Symes 및 Wright가 우수합니다.

Furber는 최초의 ARM 아키텍트 중 하나이며 ARM 설계의 이론적 근거와 ARM 프로세서 코어의 일반적인 작동 방식을 통해 탁월한 작업을 수행합니다.

물론 위의 모든 내용은 제 개인적 / 주관적인 의견을 바탕으로 한 권장 사항이며 특정 제품이나 저자의 플러그로 간주되는 것은 아닙니다.


책 목록을 목록으로 서식을 지정하면 해당 책에 대한 링크를 포함하는 것이 유용합니다.
Trygve Laugstøl


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.