8051 MCU 디버그 보드 기능


2

학교에서는 8051 호환 CPU에 대한 많은 프로그램을 작성했습니다. 그러나 나는 우리의 "디버그"세트가 어떻게 작동하는지 실제로 알지 못했다. 내 말은, 우리는 프로그램을 특수 세트로 테스트합니다. 실제로 PC 직렬 포트를 통해 프로그램을 CPU에 매우 간단하게로드 할 수 있습니다. 그러나 나는 당신이 이것을 나보다 훨씬 더 잘 알고 있다고 생각합니다.

그러나 어떻게 작동합니까? PC 직렬 포트에서 TTL 로직으로 신호 레벨을 조정하고 8051의 직렬 라인에 연결하는 칩이 있다는 것을 알고 있습니다. 그러나 이것이 제가 아는 전부입니다. 실제로 선생님도 학교가 모든 것을 구입했기 때문에 어떻게 작동하는지 모릅니다.

그래서 8051에서 이미 통신을 처리하고 프로그램을 메모리에 저장하는 일부 프로그램이 있다고 생각합니다. 그러나 ROM과 다른 위치에서 8051 프로세스 명령을 어떻게 만들 수 있습니까? 내가 옳기 때문에 어떤 명령으로도 ROM 메모리에 쓸 수 없으며 8051은 ROM의 명령 만 읽을 수 있습니까?

답변:


1

최신 하버드 아키텍처 MCU는 온보드 플래시 메모리를 사용하여 펌웨어를 저장하므로 ROM 이라고하더라도 실제로 읽기 전용은 아닙니다. 에 따르면 8051의 위키 백과 문서 , 현대 8051 기반의 마이크로 컨트롤러는 종종 포함 :

브라운 아웃 감지 기능이있는 내장 리셋 타이머, 온칩 발진기, 자체 프로그래밍 가능 플래시 ROM 프로그램 메모리, ROM의 부트 로더 코드, EEPROM 비 휘발성 데이터 스토리지, I²C, SPI 및 USB 호스트 인터페이스, CAN 또는 LIN 버스, PWM 생성기, 아날로그 비교기, A / D 및 D / A 컨버터, RTC, 추가 카운터 및 타이머, 회로 내 디버깅 기능, 더 많은 인터럽트 소스 및 추가 절전 모드.

8051에는 또한 직렬 포트를 제공하는 온보드 UART가 있습니다. 임베디드 장치로 작업 한 지 얼마되지 않았지만 여기에 내가 기억하는 것이 있습니다. PIC 마이크로 프로세서로 작업했기 때문에 이것이 8051과 정확히 일치하지 않을 수 있습니다.

  • 부팅시 MCU는 특정 ROM 위치에서 부트 로더 코드를로드합니다.
  • 많은 일반 부트 로더가 몇 초 동안 기다렸다가 특정 신호에 대한 직렬 포트를 확인합니다.
    • 디버그 보드를 컴퓨터의 직렬 포트에 연결 한 경우 해당 신호를 전송할 수 있습니다 (Hyperterm 또는 Minicom과 같은 터미널 프로그램 또는 특수 목적 펌웨어로드 프로그램 사용).
    • 해당 신호를 수신하면 MCU의 부트 로더 코드는 보드를 프로그래밍 모드로 전환하고 새 펌웨어를 통해 전송할 수 있습니다.
  • MCU가 신호를받지 못하면 프로그램 메모리에 이미로드 된 펌웨어로 정상적으로 부팅을 계속합니다.

일부 마이크로 컨트롤러의 "프로그래밍 모드"에는 EEPROM 메모리를 프로그래밍하기 위해 더 높은 전압을 사용하는 것이 포함되지만 모든 마이크로 컨트롤러가이를 필요로하는 것은 아닙니다.

자세한 내용은 MCU의 데이터 시트 (일반적으로 제조업체 웹 사이트에서 제공)를 참조해야합니다. 스택 교환 사이트 ChipHacker 는 DIY 임베디드 전자 제품을 전문으로하며 추가 질문에 적합한 장소입니다.


0

그러나 ROM은 실제로 EEPROM 또는 플래시입니다. 읽기-쓰기입니다. 또한 데모 보드에는 프로그램을 저장하는 외부 메모리 뱅크와 저장된 프로그램을 실행하고 PC 통신을 처리하여 새 프로그램을 업로드 할 수있는 부트 로더가있을 수 있습니다.

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