움직일 수있는 좋은 시간; 8 비트는 빠르게 죽어 가고있다. 32 비트 ARM 마이크로 컨트롤러 인 STM32F103 (예 : USB 포함)을 사용하여 5 달러짜리 보드를 구입할 수 있다면 의심 할 여지가없는 시간입니다.
당신은 이미 훌륭한 답변을 얻었지만 주로 "조립을 잊어 버렸습니다"라고 말하고 거의 "CPU가 낮은 수준에서 어떻게 작동하는지 걱정하지 마십시오"-언젠가는 그것을 파헤쳐 야 할 코너 케이스가 있습니다. (특정 최적화 또는 디버깅 용)이지만 ARM 코어는 C 코드를 예외적으로 (설계 상) 잘 실행하므로 사용자는 내장 내부를 자세히 살펴볼 필요가 거의 없습니다.
이것은 컴파일러 (특히 링커 및 makefile)와 관련된 문제에 대해 눈에 띄지 않는 오류를 피하기 위해 일정 시간을 소비하지만 모두 극복 할 수 있음을 의미합니다.
ARM이 작동하는 방식 (즉, ARM CPU 책)의 장은 실제로 최적화해야 할 때까지 밀도가 높고 흥미롭지 않습니다 (32 비트 레지스터와 PLL이있는 경우가 얼마나 드문 지 놀라 울 것입니다) d CPU 클럭은 100mhz 영역에 있습니다.
"오래된 skool"ARM 명령어 세트는 최신 "Thumb2"보다 디스 어셈블리를 훨씬 쉽게 읽을 수 있습니다. 이는 대부분의 최신 마이크로 컨트롤러 수준 ARM (Cortex)에서 찾을 수 있지만 어셈블리 언어 명령어의 내부에 있습니다. 대부분 배경으로 사라집니다. 올바른 도구 세트 (특히 브레이크 포인트 / 단일 단계 등이있는 적절한 소스 레벨 디버거)가 있다면 ARM에 전혀 신경 쓰지 않아도됩니다.
32 비트 레지스터와 32 비트 데이터 버스 폭의 세계와 온칩에서 원하는 모든 것이 있으면 8 비트 CPU로 다시 돌아가고 싶지 않을 것입니다. 기본적으로 "쉽게 이해"하고 코드를 작성하는 것보다 효율적으로 읽을 수 있다는 페널티는 없습니다.
그러나 ... 주변 장치 ... 예 그리고 문지름이 있습니다.
현대 MCU에서 많은 것을 얻을 수 있으며 많은 것들이 꽤 멋진 것입니다. AVR, PIC 및 8051 온칩 주변 장치를 훨씬 능가하는 세련미의 세계를 종종 발견합니다.
프로그래밍 가능한 타이머 하나? 아냐, 여덟 개가있어! DMA? 프로그래밍 가능한 우선 순위 및 버스트 모드와 체인 모드 및 자동 재로드 및 자동 전환 기능을 갖춘 12 개의 채널
I2C? I2S? 수십 개의 핀 멀티플렉싱 옵션? 온칩 플래시를 다시 프로그래밍하는 15 가지 방법? 확실한!
종종 주변 장치로 기근에서 잔치로 향한 것처럼 느껴지며 거의 사용하지 않지만 거의 사용하지 않는 칩 덩어리가있는 것이 일반적입니다 (따라서 시계 게이팅).
오늘날 온칩 하드웨어의 양 (그리고 한 벤더의 칩 라인에서 변형 된 것)은 현재 상당히 마음에 들지 않습니다. 한 칩 공급 업체는 물론 IP 블록을 재사용하는 경향이 있으므로 특정 브랜드에 익숙해지면 더 쉬워 지지만 "요즘에는 끔찍한 일이 생겼습니다."
주변 장치와 해당 상호 작용 (및 DMA 및 인터럽트 및 버스 할당 및 / 및)이 너무 복잡하고 때로는 데이터 시트에 설명 된 것과 정확히 일치 하지 않는 경우 엔지니어가 자주 사용하는 ARM MCU 및 주변 장치 및 개발 도구에 익숙하기 때문에 단순히 고수하려는 경향이 있습니다.
훌륭한 라이브러리 및 개발 도구 (즉, 적절한 디버거를 사용하는 빠른 컴파일 + 디버그주기)와 대규모 작업 예제 코드 프로젝트는 현재 ARM MCU 선택에 절대적으로 중요합니다. 현재 대부분의 공급 업체는 매우 저렴한 평가 보드를 보유한 것으로 보입니다
알다시피, ARM이있는 마이크로 컨트롤러 수준을 넘어 SOC 수준 (예 : Raspberry Pi / etc 스타일 SOC)으로 넘어 가면 규칙이 완전히 바뀌고 모든 종류의 Linux에 관한 것입니다. 거의 예외를 제외하고는 다른 것을 시도하기 위해 짖는 소리를 낼 수 있기 때문입니다.
원래; 이 공연에서 사전 선택된 CPU에 관계없이 몇 가지 다른 벤더 (TI, STM, 프리 스케일 등)의 슈퍼 저렴한 Cortex 기반 평가 보드를 구입하십시오. 제공된 샘플 코드로 해킹하십시오.
마지막 조언; 데이터 시트에서 작업중인 정확한 부품 번호 칩에 대한 핀-먹싱 옵션을 설명하는 3 ~ 3 페이지를 찾으면 인쇄하여 벽에 붙일 수 있습니다. 핀 뮤싱으로 인해 주변 장치의 특정 조합이 불가능하다는 것을 프로젝트에서 늦게 발견하는 것은 재미가 없으며 때로는 정보가 너무 묻혀서 숨기려고한다고 맹세합니다. :-)