Pergunta

Estou tentando fazer uma construção de lote de um projeto usando ferramentas IAR. O processador é um CC2530 e aumenta bem no IDE. Eu segui a documentação para a Batch Build (Project/Batch Build) e criei um arquivo .cspy que deve ser o meu arquivo em lote, mas nos comentários nesse arquivo indica que eu preciso de um arquivo de depuração (.ubrof) para executar com isso. Não consigo encontrar um arquivo .ubrof e pesquisei toda a estrutura do diretório do projeto. Além disso, quero que meu lote construa uma versão de produção sem as informações de depuração.

Onde eu obtenho um arquivo .ubrof? Como faço para fazer uma compilação de lote de produção usando ferramentas IAR?

Foi útil?

Solução

Meu entendimento da sua pergunta é que você deseja criar a imagem do firmware usando uma linha de comando dentro de um arquivo em lote. Eu uso as ferramentas IAR para as famílias de processador MSP430 e AVR32 e a linha de comando usada para invocar o processo de construção da IAR da linha de comando é

iarbuild "Project_File.ewp" -make BUILD_NAME -log info

Onde Build_Name é a configuração de compilação ("Debug" ou "Release" são as duas opções padrão). A sintaxe do comando iarbuild está no manual incorporado do Workbench.

O arquivo UBROF é o arquivo de saída binário que as ferramentas produzem e que você normalmente carrega em seu destino para depuração. Normalmente, eu faria com que as ferramentas produza um arquivo UBROF para depuração e um arquivo de imagem hexadecimal ou s-record a ser usado para programação de dispositivos na produção.

Outras dicas

.cspy está relacionado ao depurador C-SPY; você não precisa disso para construir o projeto.

.Ubrof é um formato de arquivo de objeto usado pelo IAR, é o resultado de uma compilação bem -sucedida (se o projeto estiver configurado para produzir esse arquivo).

O utilitário de construção da linha de comando iar (iarbuild.exe) e o utilitário de linha de comando c-spy (cspybat.exe) são discutidos aqui

Também é possível chamar os compiladores/montadores/ligantes da IAR da linha de comando. Isso pode ser benéfico, se você já possui alguma estrutura de construção (make, cmake, scons etc.) - você pode usar outras cadeias de ferramentas para as mesmas fontes. Para um exemplo, uma cadeia de ferramentas nativa para gerar testes de unidade a partir do seu código.

A grande desvantagem dessa abordagem é que ela requer uma descrição adicional (duplicada) do que já está nos arquivos do projeto IAR: quais arquivos usarem, quais sinalizadores compilam a serem aplicados. Isso viola claramente a seca.

O IAR da IAR suporta "Batch Builds", localizado no arquivo de espaço de trabalho.eww. Eu não vi uma resposta para as "construções de lote", que podem conter vários projetos e configurações como a do IDE.

Para criar uma linha de comando que opera de maneira semelhante a isso, você terá que criar um arquivo em lote que os chama explicitamente, conforme descrito por Ian abaixo, são referências ao Guia do Usuário do IAR. Eu recomendo fazer um -limpar Anteriormente, se o projeto não for enorme para garantir que todos os arquivos sejam recompilados.

A ótima resposta de Ian é para construir configurações individuais do projeto específico.

Para referência, o Guia de Gerenciamento e Construção de Projetos IDE Na página 71. A construção do lote do espaço de trabalho é descrita na parte inferior da página 69. Essa estrutura da linha de comando também é a mesma para o ARM.

iarbuild Project.ewp [-clean | -build | -make] [-log erros | avisos | info | all

iarbuild "Project_File.ewp" -clean BUILD_NAME
iarbuild "Project_File.ewp" -make BUILD_NAME -log info

// repeat for other configurations / projects
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top