Menu English Ukrainian Russo Início

Biblioteca técnica gratuita para amadores e profissionais Biblioteca técnica gratuita


ENCICLOPÉDIA DE RÁDIO ELETRÔNICA E ENGENHARIA ELÉTRICA
Biblioteca gratuita / Esquemas de dispositivos radioeletrônicos e elétricos

Depurando microcontroladores usando um emulador de ROM. Enciclopédia de rádio eletrônica e engenharia elétrica

Biblioteca técnica gratuita

Enciclopédia de eletrônica de rádio e engenharia elétrica / Microcontroladores

Comentários do artigo Comentários do artigo

A complexidade de desenvolver e depurar o programa de trabalho de um dispositivo eletrônico contendo um microprocessador geralmente determina o custo de seu desenvolvimento como um todo. Em microcontroladores (MC), que possuem memória integrada e alguns dispositivos periféricos, isso é especialmente pronunciado. Uma das ferramentas que facilitam muito a depuração é o emulador de ROM descrito em [1]. O artigo proposto descreve a tecnologia de trabalhar com ele. Os recursos de depuração não estão limitados aos métodos descritos. Esse processo, assim como o design em geral, é até certo ponto uma arte: para o mesmo instrumento, cada um cria "sua própria música". Seremos gratos aos leitores que compartilharem suas ferramentas e métodos originais para depurar programas MK.

A complexidade e laboriosidade do processo de depuração do software MC é determinada pelos seguintes fatores [2]:

  • forte interconexão entre as partes de software e hardware do sistema;
  • falta de acesso direto aos recursos internos e pontos de controle do MC;
  • natureza multi-bit dos sinais, complexamente distribuídos no tempo;
  • não periodicidade ou frequência muito baixa de repetição de sinais no sistema;
  • uma ampla variedade de dispositivos externos e protocolos para troca de informações com eles.

O equipamento de teste tradicional (como um osciloscópio) só pode ser usado de forma limitada para depurar o MCU.

O método de depuração mais simples (e ao mesmo tempo o mais ineficiente) é o “método de tentativa e erro”: carregar o programa em uma memória somente leitura reprogramável (EPROM), tentar executá-lo, detectar e corrigir erros no programa e hardware, apagar a EPROM, recarregar o programa, etc. A instalação e remoção repetidas do microcircuito reduzem a confiabilidade dos contatos elétricos no soquete EPROM. A possibilidade de obter informações de depuração sobre o sistema está praticamente ausente.

Atualmente, o MK é mais frequentemente depurado por ferramentas cruzadas baseadas em um computador pessoal. Isso permite uma distração mínima dos recursos do MC. O dispositivo a ser depurado, conforme a figura, é conectado ao computador por meio de alguma ferramenta, como um emulador de ROM. Tal complexo permite que você baixe e edite o programa, insira módulos de teste nele, obtenha certas informações sobre o sistema e muito mais, que discutiremos a seguir.

Embora os emuladores de ROM não sejam a única e nem a ferramenta de depuração mais poderosa, eles ainda são populares. Sua "longevidade" é explicada pela independência do tipo de MC (é necessária apenas a capacidade de trabalhar com memória de programa externa), operação em tempo real, preço baixo e acessibilidade a uma ampla gama de desenvolvedores de equipamentos e radioamadores. Consideraremos a tecnologia de depuração de um programa usando um emulador de ROM usando o exemplo da família de MCs MCS-51 (8031, 8051, 80C31, 80C51. KR1816BE31, KR1816BE51, KR1830BE31, KR1830BE51, etc.).

Iniciando a depuração, é necessário verificar a operacionalidade do hardware do sistema e do próprio MC. Para fazer isso, você pode usar os testes de "contagem livre" [3]. que consiste na enumeração de todas as combinações de código possíveis nas linhas das portas MK. Durante o teste, as linhas da porta serão definidas para o estado de saída, portanto, antes de tudo, certifique-se, de acordo com o dispositivo que está sendo depurado, que elas não sejam carregadas nas saídas de outros elementos. Desconecte temporariamente essas cargas, se houver.

Carregue o emulador de ROM com códigos de comando No Operation (NOP) em todo o espaço de endereço dos programas MCU. Para MCS-51, este é o código 00H. Ao executar tal "programa", o MK percorre sequencialmente todos os endereços da memória do programa. Monitore os sinais de ALE, PME e portas P0, P2 com um osciloscópio. As formas de onda nas linhas de porta devem corresponder aos diagramas de temporização do contador binário, levando em consideração a multiplexação em P0 do byte baixo do endereço e dados.

Em seguida, verifique as portas P1 e P1 carregando o programa de teste mostrado na Tabela 00 no emulador de ROM. 0. Emite uma sequência de códigos de XNUMXH a XNUMXFFH nas linhas das portas especificadas, simulando um contador binário de oito bits. Se os oscilogramas corresponderem aos requeridos, restaure as cargas desconectadas das portas e prossiga com a depuração do programa de trabalho do MC. Lembre-se de que você está depurando o software e o hardware do sistema ao mesmo tempo e não se esqueça de monitorar periodicamente os sinais nos pontos de teste com o osciloscópio. A inconsistência do tipo de sinais com suas ideias sobre eles é motivo para reflexão séria e verificações adicionais.

Depurando microcontroladores usando um emulador de ROM

Para facilitar o desenvolvimento e a depuração, deve-se aderir ao princípio modular da programação, ou seja, dividir o programa MK em partes de acordo com uma característica funcional. Isso permitirá que você mova facilmente módulos individuais e, se necessário, aplique-os em outros projetos. O módulo para o qual o controle é transferido depois que a energia é ligada ou o MK é reiniciado é chamado de principal ou principal. A transferência do controle para o ponto de entrada do programa deve ser um comando de salto, não uma chamada de sub-rotina, para não poluir a pilha com o endereço de retorno.

Para evitar resultados inesperados do programa, lembre-se de atribuir um valor inicial a cada uma das variáveis ​​antes de usá-la pela primeira vez. Em alguns casos, pode ser necessário inicializar equipamentos periféricos. O bloco de inicialização é colocado no início do módulo do programa principal.

Uma visão aproximada do módulo do programa principal no início da depuração é mostrada na Tabela. 2. Ele contém apenas o ponto de entrada para o programa e o manipulador de saída. Embora tal saída seja raramente usada em sistemas de microcontroladores, ela deve ser fornecida para o correto encerramento de situações de emergência. No exemplo em consideração, após a conclusão do trabalho, o programa "loops". Apenas reiniciar o sistema com um sinal de reinicialização de hardware o tirará desse estado.

Depurando microcontroladores usando um emulador de ROM

Durante a depuração, outros módulos de programa são adicionados ao módulo principal quando estiverem prontos. A ordem de sua conexão e depuração desempenha um papel importante. Você deve começar com os drivers para dispositivos de saída de informação (display, conversor digital-analógico, etc.), colocando suas chamadas no módulo principal. Em seguida, eles depuram os drivers de outros dispositivos periféricos, rotinas de processamento de dados e somente depois verificam o funcionamento conjunto de todos os módulos do programa. Se houver um display alfanumérico, seu driver é depurado primeiro e usado posteriormente para exibir informações de depuração, por exemplo, o conteúdo da memória de dados interna do MK. Se for usado um emulador de ROM que as informações nele contidas possam ser escritas e lidas tanto pelo computador de controle quanto pelo dispositivo que está sendo depurado, o MK pode colocar os dados de depuração na área de memória livre do emulador de ROM, e o computador de controle os lê e os exibe em seu display.

Por exemplo, para enviar o conteúdo da RAM de dados interna do MCU, conecte sua saída de sinal de gravação de memória de dados externa (WR) à entrada de sinal de gravação do emulador de ROM e use a sub-rotina mostrada na Tabela 3. 32. Supõe-se que a quantidade de memória de programa do dispositivo que está sendo depurado não exceda 8000 KB, portanto, as informações de depuração colocadas na memória do emulador começam no endereço 0H. O conteúdo dos registradores R1 e R8000 são enviados separadamente, pois são posteriormente utilizados na sub-rotina para organizar o loop. Após a saída das informações de depuração, o programa MK é suspenso, o conteúdo das células de memória do emulador ROM 807H-XNUMXFH é lido pelo computador de controle, exibido e analisado. Da mesma forma, o conteúdo de todos os registros MC acessíveis por meio de programação pode ser exibido.

Depurando microcontroladores usando um emulador de ROM

Ao iniciar a depuração de um driver de dispositivo periférico, desabilite temporariamente os sinais de controle gerados pelo MK a partir dele, a fim de evitar possíveis falhas do dispositivo devido a erros no programa. Se o processo for de natureza única, faça um "loop" e programe o sinal de clock do osciloscópio, se necessário. Depure o driver monitorando os sinais gerados pelo osciloscópio. Depois de certificar-se de que os diagramas de tempo dos sinais de controle correspondem aos necessários, conecte o dispositivo periférico e continue a depurar o driver no hardware real. Por fim, remova os elementos de depuração do módulo do programa e verifique seu funcionamento na forma final.

O uso de recursos MK compartilhados por diferentes módulos muitas vezes leva ao fato de que o programa depurado para de funcionar quando outra sub-rotina é adicionada, portanto, após depurar o próximo módulo, certifique-se de que todos os drivers e sub-rotinas depurados anteriormente continuem funcionando corretamente. Se o seu programa usar interrupções, não as desabilite, a menos que seja absolutamente necessário. Um módulo depurado não deve ser removido do programa, mesmo que não seja necessário no momento.

Quando o MK "congela", o seguinte método de localização de erro é útil: insira pontos de controle no programa que exibem números sequencialmente crescentes. Depois de "pendurar" o display mostrará o número correspondente ao último ponto de controle passado com sucesso. Se vários desses pontos forem capturados em um loop infinito, os números no visor mudarão rapidamente. Para determinar exatamente quais pontos estão no ciclo, você terá que desacelerar artificialmente a mudança de números definindo um atraso de programa ao emitir cada um deles, por exemplo, na forma de um ciclo ocioso. Se o sistema que está sendo depurado não tiver um display embutido, as informações podem ser exibidas no display do computador host através da área de memória livre do emulador de ROM.

Depois de depurar todos os drivers de dispositivo, inicie a depuração de outras sub-rotinas. Se algum deles implementar um algoritmo complexo para processar ou converter dados, exibir um ou mais valores intermediários de variáveis ​​geralmente não fornece informações suficientes para análise de erros. Superando dificuldades e gravando informações de depuração da quantidade necessária na área de memória livre de ​​o emulador de ROM ajudará a superar as dificuldades.

Tendo alcançado a operação normal de todos os módulos do programa, você pode depurá-los juntos. As dificuldades que surgem neste caso são divididas em dois grupos. A primeira inclui os problemas de compartilhamento de recursos MK comuns: unidade lógica aritmética, memória de dados, portas de entrada-saída. A segunda está relacionada à operação de dispositivos microcontroladores em tempo real.

Sistemas de tempo real geralmente são multi-threaded. Diversas tarefas de programa (threads) são executadas em paralelo, interagindo entre si e utilizando recursos comuns. Mas a cada momento, o MC, devido à sua estrutura, resolve apenas um deles, alternando para os outros, levando em consideração a prioridade. Os conflitos entre as tarefas surgem tanto por falta de recursos quanto por falta de tempo para processamento de dados. Portanto, preste atenção especial aos recursos MK usados ​​nos módulos do programa, geralmente controlam a mudança em seu estado exibindo informações de depuração. Tente reduzir o número de variáveis ​​globais, substituindo-as por locais sempre que possível. Monitore o estado da pilha. Estime o tempo de execução de seções críticas do programa, verifique o sistema com vários valores de sinais de entrada possíveis na prática.

Usando o emulador de ROM, você também pode depurar um programa projetado para funcionar na memória interna do MK, se você colocá-lo temporariamente na memória externa do programa. Como neste caso as portas P0 e P2 serão ocupadas pela manutenção da memória externa, se as linhas de I / O livres restantes do MK não forem suficientes, P0 e P2 serão substituídas por portas de I / O endereçadas como células externas de memória de dados. Eles são conectados de acordo com esquemas padrão, usando registradores de gatilho para aumentar o número de linhas de saída e o número de linhas de entrada - elementos com três estados de saída.

Após depurar o sistema usando o emulador, remova os elementos de depuração dele, grave o programa na ROM (ou na memória interna do programa do MK) e verifique o funcionamento do dispositivo em sua forma final.

Literatura

  1. Vydolob G., Kudryashov V., Samoilov V. Emulador de ROM/RAM RE020. - Rádio, 1997. Nº 11, S. 30-32.
  2. Zelenko GV, Ivannikov AD, Sypchuk PP Projeto e depuração de sistemas microprocessados. - M. Engenharia. 1982.
  3. William G. B. Depuração de sistemas microprocessados: Per. do inglês. - M Energoatomizdat. 1988

Autores: G.Vydolob, V.Samoylov, Moscou (Zelenogrado)

Veja outros artigos seção Microcontroladores.

Leia e escreva útil comentários sobre este artigo.

<< Voltar

Últimas notícias de ciência e tecnologia, nova eletrônica:

Máquina para desbastar flores em jardins 02.05.2024

Na agricultura moderna, o progresso tecnológico está se desenvolvendo com o objetivo de aumentar a eficiência dos processos de cuidado das plantas. A inovadora máquina de desbaste de flores Florix foi apresentada na Itália, projetada para otimizar a etapa de colheita. Esta ferramenta está equipada com braços móveis, permitindo uma fácil adaptação às necessidades do jardim. O operador pode ajustar a velocidade dos fios finos controlando-os a partir da cabine do trator por meio de um joystick. Esta abordagem aumenta significativamente a eficiência do processo de desbaste das flores, proporcionando a possibilidade de adaptação individual às condições específicas do jardim, bem como à variedade e tipo de fruto nele cultivado. Depois de testar a máquina Florix durante dois anos em vários tipos de frutas, os resultados foram muito encorajadores. Agricultores como Filiberto Montanari, que utiliza uma máquina Florix há vários anos, relataram uma redução significativa no tempo e no trabalho necessários para desbastar flores. ... >>

Microscópio infravermelho avançado 02.05.2024

Os microscópios desempenham um papel importante na pesquisa científica, permitindo aos cientistas mergulhar em estruturas e processos invisíveis aos olhos. Porém, vários métodos de microscopia têm suas limitações, e entre elas estava a limitação de resolução ao utilizar a faixa infravermelha. Mas as últimas conquistas dos pesquisadores japoneses da Universidade de Tóquio abrem novas perspectivas para o estudo do micromundo. Cientistas da Universidade de Tóquio revelaram um novo microscópio que irá revolucionar as capacidades da microscopia infravermelha. Este instrumento avançado permite ver as estruturas internas das bactérias vivas com incrível clareza em escala nanométrica. Normalmente, os microscópios de infravermelho médio são limitados pela baixa resolução, mas o desenvolvimento mais recente dos pesquisadores japoneses supera essas limitações. Segundo os cientistas, o microscópio desenvolvido permite criar imagens com resolução de até 120 nanômetros, 30 vezes maior que a resolução dos microscópios tradicionais. ... >>

Armadilha de ar para insetos 01.05.2024

A agricultura é um dos sectores-chave da economia e o controlo de pragas é parte integrante deste processo. Uma equipe de cientistas do Conselho Indiano de Pesquisa Agrícola-Instituto Central de Pesquisa da Batata (ICAR-CPRI), em Shimla, apresentou uma solução inovadora para esse problema: uma armadilha de ar para insetos movida pelo vento. Este dispositivo aborda as deficiências dos métodos tradicionais de controle de pragas, fornecendo dados sobre a população de insetos em tempo real. A armadilha é alimentada inteiramente por energia eólica, o que a torna uma solução ecologicamente correta que não requer energia. Seu design exclusivo permite o monitoramento de insetos nocivos e benéficos, proporcionando uma visão completa da população em qualquer área agrícola. “Ao avaliar as pragas-alvo no momento certo, podemos tomar as medidas necessárias para controlar tanto as pragas como as doenças”, diz Kapil ... >>

Notícias aleatórias do Arquivo

Frio para aquecimento rápido 19.02.2020

A maneira mais rápida de aquecer alguns materiais é resfriá-los primeiro. Essa ideia é paralela ao efeito Mpemba, onde a água quente às vezes congela mais rápido que a água fria.

Para reaquecer uma fatia de pizza, é improvável que você queira resfriá-la primeiro, mas um estudo teórico sugere que o resfriamento como primeiro passo antes do aquecimento pode ser a maneira mais rápida de reaquecer alguns materiais.

O conceito é semelhante ao efeito Mpemba, que permanece incompreensível para os cientistas até agora, pois é muito difícil reproduzir o efeito de forma consistente. O novo estudo é "uma maneira de olhar para efeitos como o efeito Mpemba de uma perspectiva diferente", diz o físico Andrés Santos, da Universidade da Extremadura em Badajoz, Espanha, que não esteve envolvido no estudo.

Os físicos Amit Gal e Oren Raz, do Weizmann Institute of Science em Rehovot, Israel, estudaram um sistema teórico chamado modelo de Ising, uma grade bidimensional de átomos cujos pólos magnéticos apontam para cima ou para baixo. Em particular, eles consideraram uma variante do modelo de Ising, no qual átomos vizinhos apontam seus pólos em direções opostas. Esse comportamento é chamado de antiferromagnético. E este sistema pode aquecer mais rapidamente após a fase de pré-resfriamento.

Para que o novo efeito se manifeste, o sistema deve ter uma propriedade correspondente, diferente da temperatura uniforme, que é afetada pelo pré-resfriamento. Caso contrário, não haveria diferença entre um sistema que foi pré-resfriado e aquecido e um sistema que estava apenas aquecendo.

No caso do modelo antiferromagnético de Ising, os pesquisadores consideraram a propriedade da magnetização geral criada por todos os átomos, bem como quantos ímãs apontam em direções opostas. O resfriamento do material pode alterar a relação entre essas duas propriedades para que o aquecimento ocorra muito mais rapidamente.

Outras notícias interessantes:

▪ Rapid Cold Brew Coffee Maker para bebidas frias

▪ A gaiola recua

▪ O vício em internet está escondido nos genes

▪ Mudanças climáticas tornarão as viagens aéreas menos confortáveis

▪ O laser coloca nanopontos

Feed de notícias de ciência e tecnologia, nova eletrônica

 

Materiais interessantes da Biblioteca Técnica Gratuita:

▪ seção do site Carro. Seleção de artigos

▪ artigo Todo esse jazz. expressão popular

▪ artigo Por que uma das proteínas do olho humano tem o nome de Pikachu? Resposta detalhada

▪ artigo Gerir a motivação interna dos colaboradores para o cumprimento dos requisitos de proteção laboral

▪ artigo Ferro de solda elétrico compacto. Enciclopédia de rádio eletrônica e engenharia elétrica

▪ artigo Moeda sob o chapéu. Segredo do Foco

Deixe seu comentário neste artigo:

Имя:


E-mail opcional):


Comentário:





Todos os idiomas desta página

Página principal | Biblioteca | Artigos | Mapa do Site | Revisões do site

www.diagrama.com.ua

www.diagrama.com.ua
2000-2024