função de placa de depuração do 8051 MCU

2

Na escola, escrevi muitos programas para uma CPU compatível com 8051. Mas eu nunca realmente soube como nossos conjuntos de "depuração" funcionavam. Quer dizer, testamos nossos programas em conjuntos especiais, que na verdade permitem que você simplesmente carregue o programa na CPU via porta serial do PC. Mas eu acho que você sabe disso muito melhor do que eu.

Mas como funciona? Quero dizer, eu sei que há um chip que ajusta o nível do sinal da porta serial do PC para a lógica TTL, e que se conecta à linha serial do 8051. Mas isso é tudo que eu sei. Na verdade, até meu professor não sabe como funciona, já que a escola comprou tudo.

Então, eu suspeito que há algum programa já em execução no 8051 que manipula a comunicação e armazena seu programa na memória, estou certo? Mas, como você pode fazer as instruções do processo 8051 a partir de um local diferente da ROM? Porque se eu estiver certo, você não pode escrever na memória ROM por nenhuma instrução, assim como o 8051 só pode ler instruções da ROM?

    
por user32569 11.05.2010 / 01:20

2 respostas

1

O moderno MCU harvard-architecture usa memória flash interna para armazenar firmware, então mesmo sendo chamado de ROM , não é realmente somente leitura. De acordo com o artigo da Wikipedia do 8051 , o moderno microcontrolador baseado em 8051 geralmente inclui:

built-in reset timers with brown-out detection, on-chip oscillators, self-programmable Flash ROM program memory, bootloader code in ROM, EEPROM non-volatile data storage, I²C, SPI, and USB host interfaces, CAN or LIN bus, PWM generators, analog comparators, A/D and D/A converters, RTCs, extra counters and timers, in-circuit debugging facilities, more interrupt sources, and extra power saving modes.

O 8051 também tem um UART onboard fornecendo a porta serial. Já faz um tempo desde que eu trabalhei com dispositivos embarcados, mas aqui está o que eu me lembro - eu trabalhei com microprocessadores PIC, então isso pode não ser exatamente o mesmo que o seu 8051 faz:

  • Na inicialização, o MCU carrega o código do gerenciador de inicialização de um determinado local da ROM.
  • Muitos bootloaders comuns aguardarão alguns segundos, verificando a porta serial em busca de um sinal específico.
    • Se você conectou a placa de depuração à porta serial do seu computador, pode enviar esse sinal (com um programa terminal como o Hyperterm ou o Minicom ou com um programa de carregamento de firmware para fins especiais).
    • Ao receber esse sinal, o código do gerenciador de inicialização do MCU coloca a placa no modo de programação e você pode enviar o novo firmware.
  • Se o MCU não receber o sinal, ele continuará inicializando normalmente em qualquer firmware já carregado na memória do programa.

"Modo de programação" em alguns microcontroladores envolve o uso de voltagens mais altas para programar a memória EEPROM, mas nem todos os microcontroladores exigem isso.

Para detalhes específicos, você deve consultar a folha de dados do seu MCU (geralmente disponível no site do fabricante). O site Stack Exchange ChipHacker é dedicado à eletrônica embarcada DIY e é um bom lugar para dúvidas.

    
por 11.05.2010 / 05:41
0

Sim, a ROM é realmente EEPROM ou flash. Então é leitura-gravação. Além disso, sua placa de demonstração pode ter bancos de memória externos para armazenar programas e um gerenciador de inicialização para executar o programa armazenado e lidar com a comunicação do PC para permitir que você carregue um novo programa.

    
por 11.05.2010 / 09:03