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.