컴퓨터 지식 네트워크 - 컴퓨터 프로그래밍 - 베어메탈에서 암으로 전환할 때 마이크로컨트롤러에 필요한 숙련도 수준은 어느 정도인가요?

베어메탈에서 암으로 전환할 때 마이크로컨트롤러에 필요한 숙련도 수준은 어느 정도인가요?

다음은 MCU 실무그룹에서 주신 답변입니다.

1. 실제로 베어메탈 플레이 수준을 측정하는 데 어떤 방법을 사용하는지는 중요하지 않습니다. 레지스터를 보든, 이미 만들어진 코드 조각을 사용하든, 기능을 실현할 수 있고 성능이 저하되지 않는 한 합리적입니다.

2. 물론 아직 학습 단계라면 걱정하지 마세요. 매우 중요. 물론 이를 잘 이해해야 합니다. 실제로 많은 엔지니어가 ucos/ecos/freertos 등보다 베어메탈을 선호합니다. 그 이유는 베어메탈이 MCU의 작동 방식을 더 명확하게 하기 때문입니다.

3. 사실 무슨 일이 있어도 MCU가 어떻게 작동하는지 이해하면 충분합니다. 루틴이든 기능적 기능이든 이러한 코드 조각은 실제로 하나씩 벽돌과 타일입니다. 주변 장치 드라이버의 경우 실제로 플랫폼의 MCU 초기 사용자는 많은 검증과 구동을 수행합니다. .코드, 이 링크는 생각하고 디자인하고 검증하는 과정입니다.

4. 그 후에는 이를 기반으로 제품을 구축할 예정이며, 초기 단계에서는 사용되는 수정 발진기 수, 직렬 포트의 비트 오류율 등 일부 메커니즘이 매우 중요합니다. 직렬 포트, 다중 기계 주소 및 전송 메커니즘, DMA 채널 등의 완료.

5. 데이터시트는 초기 단계에서 살펴봐야 할 부분입니다. 사실, 베어메탈은 때로는 전체 시스템의 구조를 더 많이 고려합니다. MCU의 OS는 허공에서 생성되지 않습니다.

6. 예를 들어, 직렬 포트가 호스트로부터 제어 프레임 명령을 수신하면 모터 제어가 불량한 베어메탈 프로세스 중에 큰 지연 보호가 필요합니다. 프로그램은 이를 직접 지연시킵니다. 지연 프로세스 중에 호스트 명령을 구문 분석할 수 없는 것을 방지하려면 다른 방법으로 구현해야 합니다. 이때 OS의 경우 지연을 사용하면 됩니다. 작업을 수행하고 사용자가 프로그램을 작성하는 것이 간단할 것이라는 전제는 플랫폼이 이식되었다는 것입니다.

7. 대기업의 경우 플랫폼을 전문으로 하는 사람과 애플리케이션을 전문으로 하는 사람이 있을 것이고, 이를 위해 일하는 사람도 많을 것입니다.

8. 플래그는 베어메탈 프로그램에서 자주 사용되지만 OS 시스템에서는 실제로 배울 가치가 있는 훌륭한 기능이 많이 있습니다. 전제는 베어메탈에서 그 이유에 대해 충분히 알고 있다는 것입니다.

9. 문제를 체계적으로 살펴보세요. 단순한 모듈로는 깊은 생각을 할 수 없습니다. 언젠가는 베어메탈을 사용하는 것이 마음에 들지 않을 때까지 기다리세요. 충분하지 않다면 OS를 고려하세요. MCU가 어떻게 작동하는지 생각하세요. 코드 수준을 보지 말고, OS보다 먼저 부트로더를 개발하는 것이 좋습니다. Linux의 BL에 대해 생각해 보세요. 이는 베어메탈에 대해 더 많이 이해할 수 있게 해줄 뿐이며, 이를 IAP라고도 합니다.

10. 기회가 된다면 freertos를 배워보시길 권합니다. 오픈 소스이기 때문입니다. 비록 ucos를 배우기 위한 최선의 선택이지만 저는 이 os인 sedona/cli/fat에 많은 모듈을 포팅했습니다. -sl/lwip /lua.

上篇: 외계인은 모두 바보입니까? 下篇: 류저우시 싼종로에서 류장현 류산진 다시촌 위원회 내비게이션까지 운전
관련 내용