ENCICLOPÉDIA DE RÁDIO ELETRÔNICA E ENGENHARIA ELÉTRICA Como verificar um arquivo HEX. Enciclopédia de rádio eletrônica e engenharia elétrica Enciclopédia de eletrônica de rádio e engenharia elétrica / Microcontroladores Muitos rádios amadores, tentando replicar este ou aquele dispositivo em um microcontrolador baseado em uma publicação de revista, muitas vezes encontram dificuldades inexplicáveis à primeira vista. Parece que a facilidade de manutenção do microcontrolador está fora de dúvida, o programador está em perfeitas condições e o dispositivo está montado exatamente de acordo com o diagrama, mas se recusa a funcionar como deveria. Nessa situação, muitas vezes há reclamações contra o autor do empreendimento - ele apresentou, dizem, um programa inoperante! Na verdade, na grande maioria dos casos, tudo é diferente. A falha está nos erros cometidos ao inserir manualmente o arquivo HEX do programa no computador após ele ter sido “impresso” nas páginas de uma publicação impressa. As falhas ocorrem com muito menos frequência ao copiar arquivos de disquetes ou “baixá-los” da Internet. Como verificar um arquivo HEX? A resposta a esta pergunta está no artigo publicado. Qualquer erro de digitação no arquivo HEX, mesmo o mais inofensivo à primeira vista, faz com que o microcontrolador (MCU) execute um comando incorreto, muitas vezes distorcendo completamente o algoritmo especificado de sua operação e pode levar a um comportamento completamente imprevisível do dispositivo fabricado. Nem mesmo o especialista mais qualificado nesta situação conseguirá indicar com precisão a localização do erro com base em sinais externos. Resta apenas verificar cuidadosamente e repetidamente o arquivo HEX com o original. A peculiaridade de nossa psique é que, depois de verificar algo uma vez, estamos subconscientemente convencidos de nossa própria infalibilidade e, durante verificações repetidas, muitas vezes perdemos algo que não percebemos na primeira vez. Portanto, é útil ter um auxiliar que, mesmo sem se aprofundar na essência do trabalho, faça o “controle independente”. Sob nenhuma circunstância os textos do programa lidos por um scanner e depois reconhecidos usando o programa FineReader e programas similares devem ser deixados desmarcados. A prática mostra que erros de reconhecimento de caracteres são inevitáveis, mesmo com texto impresso de altíssima qualidade. Ao inserir arquivos HEX manualmente (a partir do teclado) ou suas versões eletrônicas obtidas por digitalização, acontece com mais frequência o seguinte:
O mais inofensivo desses defeitos é o último. Ao contrário de outros, não afeta o desempenho do programa. O mesmo pode ser dito na maioria dos casos sobre a violação da ordem das linhas. No entanto, os programadores que fornecem controle rigoroso sobre a exatidão dos dados inseridos ainda podem rejeitar um arquivo com tais erros. Deve-se dizer que o software de muitos programadores monitora a estrutura correta do arquivo HEX durante a leitura do disco. Certas possibilidades para isso são inerentes à própria estrutura de tal arquivo, sobre a qual você pode ler, por exemplo, no artigo do autor “Desenvolvimento e depuração de dispositivos no MK” (“Rádio”, 2001, nº 5, p. 19). O problema é que o programador muitas vezes relata apenas que um erro foi detectado sem quaisquer detalhes, deixando o usuário descobrir por si mesmo. Nesse caso, o arquivo defeituoso muitas vezes acaba sendo total ou parcialmente carregado no programador e, se você emitir descuidadamente o comando “Programação”, os dados errados serão transferidos para a memória do MK. Após isso, a verificação será concluída com sucesso (verificação do conteúdo da memória do MK e do programador) e o usuário terá a impressão de que tudo está em ordem. A este respeito, o programa PonyProg (versões 2.05 e anteriores) se comporta de forma muito perigosa. Além do HEX, existem vários outros formatos de arquivo de entrada disponíveis e, ao carregá-lo, tenta selecionar o que necessita. Não reconhecendo o formato de arquivo correto com erros, ela ainda o insere como binário. Na Fig. A Figura 1 mostra a visualização da janela do programador PonyProg após tal entrada. A memória não contém códigos de máquina de comandos, mas códigos ASCI de letras e números que compõem o arquivo de texto HEX. Naturalmente, o MK não funcionará de acordo com esse “programa”. A visualização da mesma janela após inserir um arquivo sem erros idêntico ao primeiro é mostrada na Fig. 2. Observe que o programador não forneceu nenhuma mensagem de erro ou sobre o formato de arquivo determinado automaticamente em ambos os casos. O programa pode ajudá-lo a encontrar e corrigir erros no arquivo HEX antes de inseri-lo no programador VerifiqueHEX. Com sua ajuda, você pode criar um novo arquivo HEX digitando seu conteúdo no teclado do computador. Neste último caso, a verificação ocorre simultaneamente à entrada dos dados. A janela de dados do programa CheckHEX após inserir um arquivo HEX contendo vários erros é mostrada na Fig. 3. Em sua parte superior esquerda são exibidas as coordenadas atuais do cursor, mostrando onde o caracter será inserido quando a tecla for pressionada. Há uma janela à direita, clicando nela você pode cancelar ou reativar a verificação de erros a qualquer momento. Pode ser útil bloquear o controle durante a entrada manual de dados, caso contrário, cada linha inacabada será acompanhada por muitas mensagens que apenas distraem a atenção. A janela de avisos e mensagens de erro (Fig. 4) está localizada abaixo da janela principal. As mensagens que começam com a palavra "Informações" indicam apenas o status especial de certas linhas do arquivo HEX. Neste caso, existem duas dessas linhas. O primeiro deles é opcional, pois mesmo na sua ausência a contagem dos endereços começará do zero. Essas linhas (podem haver várias delas em locais diferentes do arquivo) permitem endereçar mais de 64 KB (32 Kwords) de memória. É a sua presença que distingue os arquivos HEX do formato INX32 dos arquivos semelhantes do formato INX8M. A linha 25 marca o fim do arquivo HEX. Se algum dado estiver depois dele (linha 26), não será aceito pelo programador. Isto pode ser usado, por exemplo, para colocar um comentário de texto em um arquivo HEX. No exemplo, a linha 20 do arquivo fonte foi simplesmente movida para cá, deixando-a vazia. Em princípio, a presença de linhas vazias em um arquivo HEX é aceitável, mas alguns programadores ainda podem considerá-las erros. O programa CheckHEX, por precaução, avisa sobre isso. Observe a mensagem de erro de soma de verificação na linha 3. Isso pode ser o resultado de uma entrada incorreta de qualquer caractere (exceto dois pontos) na string, que deve ser verificada com cuidado especial. A soma de verificação "correta" mostrada entre parênteses é útil se um ou mais caracteres em uma string foram alterados intencionalmente (por exemplo, para corrigir um bug real no programa). Nesse caso, o erro é resultado da inserção do número 8 em vez da letra B. A natureza do erro cometido no quinto carácter da quarta linha é clara. Ressaltamos apenas que para facilitar a busca visual de erros, a fonte do texto da janela principal não contém caracteres cirílicos, sendo substituídos por caracteres que nada têm em comum com os corretos. No entanto, as mensagens de erro contêm letras russas. À direita da janela de dados há uma janela exibindo uma imagem da memória MK sendo preenchida com códigos do arquivo analisado. Um fragmento desta janela é mostrado na Fig. 5. A cor branca corresponde a células livres, azul ou vermelha - ocupadas. As inscrições explicativas na figura (não estão na janela real) referem-se à distribuição de memória típica para controladores PIC; para outros MKs e RPOMs pode ser completamente diferente. Ao mover o cursor do mouse dentro da janela, você pode determinar o endereço de qualquer uma das células ali exibidas. Neste caso, o cursor (mira na parte superior direita da janela) aponta para o byte no endereço OOSON - ordem inferior em uma palavra de byte duplo no endereço 0060H. É claro que um usuário que não projetou o programa que está sendo carregado e não o analisou cuidadosamente, via de regra, não sabe quais células devem ser ocupadas e quais não devem. No entanto, faz sentido atentar para as quebras na sequência contínua de células ocupadas e mais uma vez certificar-se de que não surgiram em decorrência de erros, como no caso em questão. Uma linha vermelha indica que os códigos inseridos nesses endereços apareceram no arquivo mais de uma vez. No exemplo (ver Fig. 3), a sétima e a oitava linhas são idênticas. Se a linha duplicada for resultado de descuido durante a entrada manual de dados, ela poderá ser excluída. Porém, mais frequentemente, o culpado é um erro cometido na parte do endereço da linha (caracteres do quarto ao sétimo). Nesse caso, não apenas os códigos em endereços errados serão distorcidos, mas a área de memória à qual a linha dada originalmente pertencia também permanecerá indefinida. Tudo isso precisa ser verificado repetidas vezes. Concluindo, notamos que na janela do programa CheckHEX existem três botões de controle: - criar um novo arquivo HEX; - abra e verifique os existentes; - salve o arquivo criado ou editado. Quando você tenta carregar ou criar outro arquivo sem primeiro salvar uma versão modificada do antigo, o programa sempre o lembra de fazer isso. A mesma coisa acontece antes do encerramento do programa. Autor: A. Dolgiy, Moscou Veja outros artigos seção Microcontroladores. Leia e escreva útil comentários sobre este artigo. Últimas notícias de ciência e tecnologia, nova eletrônica: Máquina para desbastar flores em jardins
02.05.2024 Microscópio infravermelho avançado
02.05.2024 Armadilha de ar para insetos
01.05.2024
Outras notícias interessantes: ▪ A nave espacial da NASA foi capaz de resistir a uma explosão no Sol ▪ A fórmula para uma família feliz foi descoberta ▪ Acumuladores do terceiro milênio ▪ Buraco negro para microondas Feed de notícias de ciência e tecnologia, nova eletrônica
Materiais interessantes da Biblioteca Técnica Gratuita: ▪ seção do site Músico. Seleção de artigos ▪ artigo Perseguindo o rublo longo. expressão popular ▪ artigo Qual dispositivo de aeronave contradiz completamente seu nome de gíria? Resposta detalhada ▪ artigo Candeeiro de parede para casa de banho e WC. Diretório ▪ artigo Purificação de óleos lubrificantes. Receitas e dicas simples
Deixe seu comentário neste artigo: Todos os idiomas desta página Página principal | Biblioteca | Artigos | Mapa do Site | Revisões do site www.diagrama.com.ua |