Saturday 13 October 2018

Objcopy ihex binário opções


GNU Binutils O GNU Binutils é uma coleção de ferramentas binárias. Os principais são: Mas eles também incluem: addr2line - Converte endereços em nomes de arquivos e números de linha. Ar - Um utilitário para criação, modificação e extração de arquivos. Cfilt - Filtro para desmembrar símbolos C codificados. Dlltool - Cria arquivos para construir e usar DLLs. Gold - Um linker novo, mais rápido, ELF somente, ainda em teste beta. Gprof - Exibe informações de perfil. Nlmconv - Converte o código do objeto em um NLM. Nm - Lista símbolos de arquivos de objetos. Objcopy - Copia e converte arquivos de objeto. Objdump - Exibe informações de arquivos de objetos. Ranlib - Gera um índice para o conteúdo de um arquivo. Readelf - Exibe informações de qualquer arquivo de objeto de formato ELF. Size - Lista os tamanhos de seção de um objeto ou arquivo de arquivo. Strings - Lista cadeias imprimíveis de arquivos. Strip - Descarta símbolos. Windmc - Um compilador de mensagens compatível com Windows. Windres - Um compilador para arquivos de recursos do Windows. A maioria desses programas usa BFD. A biblioteca de descritores de arquivos binários, para fazer manipulação de baixo nível. Muitos deles também usam a biblioteca opcodes para montar e desmontar as instruções da máquina. Os binutils foram portados para a maioria das principais variantes do Unix, bem como sistemas Wintel, e sua principal razão para a existência é dar ao sistema GNU (e GNULinux) a facilidade para compilar e vincular programas. Obtendo o binutils A versão mais recente do GNU binutils é 2.28. Os vários arquivos NEWS (binutils, gas e ld) têm detalhes sobre o que mudou nesta versão. Consulte a página SOFTWARE para obter informações sobre como obter versões do GNU binutils e outro software GNU. A versão atual pode ser baixada de ftp. gnu. orggnubinutils Se você planeja fazer trabalho ativo em GNU binutils, você pode acessar a árvore de origem de desenvolvimento por git anônimo: Como alternativa, você pode usar a interface gitweb. Ou os snapshots de origem, disponíveis como arquivos bzipped tar via FTP anônimo de ftp: sourceware. orgpubbinutilssnapshots. Relatórios de bugs Listas de discussão Existem três listas de discussão de binutils: bug-binutilsgnu. org (archives) Para relatar bugs. Binutilssourceware. org (archives) Para discutir problemas do binutils. Binutils-cvs (archives) Uma lista de discussão somente leitura contendo as notas de checkins para o repositório git binutils. (Esta lista tem um nome estranho por razões históricas.) Você pode usar este formulário para se inscrever nas listas de discussão binutilssourceware. org ou binutils-cvssourceware. org: Para se inscrever na lista de discussão bug-binutilsgnu. org, veja o bug-binutils Página de informações. Você pode procurar os arquivos de correio velhos das listas de discussão gas2 e bfd. Estas foram as listas de discussão para binutils até maio de 1999. Por favor, não envie correio para eles por mais tempo. Documentação Foi fornecido um guia para portar os binutils para um novo destino. Por favor, envie FSF amp GNU perguntas amp perguntas para gnugnu. org. Há também outras formas de entrar em contato com a FSF. Envie comentários sobre essas páginas para binutilssourceware. org. Envie outras perguntas para gnugnu. org. Direitos Autorais (C) 1998, 2000-2017 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, EUA A cópia e distribuição verbais deste artigo completo é permitida em qualquer meio, desde que este aviso seja preservado. Gerando arquivos srec (formato Motorola S), binários, ihex (Intel Hex) Ao construir um projeto, o conjunto de ferramentas Code Red criará um formato executável ARM (AXF) - que é realmente ELFDWARF. Esse arquivo pode ser programado diretamente para o seu destino usando a funcionalidade de depuração de código vermelho. Mas também pode ser convertido em uma variedade de formatos adequados para uso em outras ferramentas externas. O utilitário objcopy (arm-none-eabi-objcopy) é usado para isso. Objcopy pode converter para os seguintes formatos: srec binário ihex tekhex Por exemplo, para converter example. axf em formato binário, use o seguinte comando: arm-none-eabi-objcopy - O binário example. axf example. bin Se você clicar Ctrl No projectname no lado direito da barra inferior do IDE, isso irá lançar um prompt de comando no diretório do projeto com os caminhos apropriados configurados. Tudo o que você precisa fazer antes de executar o comando objcopy é mudar para o diretório da configuração de compilação necessária. Você também pode selecionar o arquivo. axf no Project Explorer, clicar com o botão direito do mouse e selecionar Binário Utilities-gtCreate binário. Você pode alterar as opções usadas para criar um arquivo binário desta maneira na página de preferências Windows-gtPreferences, LPCXpressoRedSuiteUtilites. Convertendo automaticamente o arquivo durante uma compilação Objcopy pode ser usado para converter automaticamente um arquivo axf durante uma compilação. Para fazer isso, crie uma etapa Post-build apropriada. Para obter mais detalhes, consulte Perguntas freqüentes. Processamento posterior do aplicativo vinculado. Checksums de imagem (famílias NXP LPC) As partes NXP usam uma palavra na tabela de vetores do processador para armazenar uma soma de verificação que é examinada pelo gerenciador de inicialização para identificar uma imagem válida. Para peças baseadas em ARM7ARM9 esta palavra de soma de verificação é armazenada no deslocamento 0x14, para peças baseadas em Cortex-M é armazenada no deslocamento 0x1C. Ao fazer o download de código através do depurador, essa palavra de soma de verificação será preenchida automaticamente à medida que a imagem é baixada. Ao criar um arquivo binário, você precisará garantir que você execute o utilitário checksum fornecido para fazer o processamento do próprio binário. Se você modificar a etapa de pós-compilação fornecida para criar seu binário (conforme o FAQ Post-processamento de seu aplicativo vinculado., Em seguida, isso será feito normalmente automaticamente pela etapa de pós-compilação: Mas se você precisa criar um arquivo hex para uso Por FlashMagic cuidado deve ser tomado que você não executar o utilitário soma de verificação sobre o arquivo hex em si. O utilitário checksum só funciona em arquivos binários, não arquivos hex. Portanto, o utilty checksum irá corromper seu arquivo hexadecimal se você usar o arquivo hexadecimal Como entrada. Nota que FlashMagic irá definir automaticamente a palavra checksum para você quando você usá-lo para programar um arquivo hex para um dispositivo LPC. Mas se você deseja definir a soma de verificação, então a maneira de recomendar a criação de um tal arquivo hex é como Segue: converter para binário executar o utilitário checkum converter o binário em hexadecimal, usando arm-none-eabi-objcopy - I binário - O ihex myfile. bin myfile. hex Gerando outros tipos de checksum Existem muitos tipos diferentes de checksums que os usuários podem Que deseja executar em uma imagem. Ferramenta para manipular arquivos de imagem e gerar uma variedade de somas de verificação é a ferramenta Open Source SRecord. OutputFormats (() DerekMorris 2017-01-15 20:36:13) AVR Libc Manual de Referência Um projeto simples Geração de arquivos Hex Intel Temos um binário do aplicativo, mas como podemos obtê-lo no processador A maioria (se não todos) Programadores não aceitarão um executável GNU como um arquivo de entrada, então precisamos fazer um pouco mais de processamento. O próximo passo é extrair partes do binário e salvar as informações em arquivos. hex. O utilitário GNU que faz isso é chamado avr-objcopy. O conteúdo da ROM pode ser extraído de nossos projetos binários e colocado no arquivo demo. hex usando o seguinte comando: avr-objcopy - j. text - j. data - O ihex demo. elf demo. hex O arquivo demo. hex resultante contém : 1000000020E0A0E6B0E001C01D92A336B207E1F700: 100010001F920F920FB60F9211242F938F939F93DD: 1000200080916200882301F1813081F48091600029: 100030009091610001979093610080936000009718: 1000400049F41092620080E090E004C0809160006A: 10005000909161009BBD8ABD9F918F912F910F90D0: 100060000FBE0F901F9018958091600090916100D5: 10007000019690936100809360008F3F23E0920788: 1000800049F781E0809362008FEF93E0E3CF83E84C: 100090008FBD8EB581608EBD1BBC1ABC82E087BB54: 1000A00084E089BF7894089583E88FBD8EB5816020: 1000B0008EBD1BBC1ABC82E087BB84E089BF7894EC: 1000C00085B7806885BF889585B78F7785BFF8CF5E: 0800D000F89400C0F894FFCF82: 00000001FF o - j opção indica que nós queremos as informações do. text e segmento. data extraído. Se especificarmos o segmento EEPROM, podemos gerar um arquivo. hex que pode ser usado para programar a EEPROM: avr-objcopy - j. eeprom --change-section-lma. extrom - O ihex demo. elf demoeeprom. hex Há Nenhum arquivo demoeeprom. hex escrito, como esse arquivo estaria vazio. Começando com a versão 2.17 do GNU binutils, o comando avr-objcopy usado para gerar os arquivos EEPROM vazios agora aborta por causa da seção de entrada vazia. eeprom, então esses arquivos vazios não são gerados. Ele também sinaliza um erro para o Makefile que será capturado lá, e torna-o imprimir uma mensagem sobre o arquivo vazio não sendo gerado.

No comments:

Post a Comment