Pergunta

Eu sou um novato completo para o mundo dos braços. Preciso escrever código C, compilá -lo e fazer o download em um emulador de braço e executar. Preciso usar o compilador GCC 4.1.2 para a compilação de código C.

Alguém pode me apontar nas direções corretas para os seguintes problemas?

Qual cadeia de ferramentas usar?

Qual emulador usar?

Existem tutoriais ou guias sobre a configuração da cadeia de ferramentas?

Foi útil?

Solução

Construir um compilador cruzado do GCC você mesmo é bem fácil. A biblioteca do GCC e a biblioteca C e outras coisas nem tanto, uma biblioteca incorporada e um pouco mais difícil. Depende de como você deseja obter. Tenho pouco uso para o GCCLIB ou a Biblioteca AC, então role suas próprias obras muito bem para mim.

Depois de muitos anos fazendo isso, talvez seja uma coisa de idade, agora vou buscar as ferramentas de código de fonte de código. A versão Lite funciona muito bem. Yagarto, Devkitararm, Winarm ou algo parecido (o site com um zilhão de exemplos) funcionam bem. O Emdebian também possui uma boa cadeia de ferramentas pré-construída. Vários desses lugares, se não todos têm informações sobre como criaram suas cadeias de ferramentas a partir de fontes da GNU.

Você perguntou sobre o GCC, mas lembre -se de que o LLVM é um concorrente forte e, no que diz respeito à compilação cruzada, uma vez que sempre cruzava, é um compilador cruzado muito mais fácil para baixar e construir e trabalhar do que o GCC. A versão recente agora está produzindo código (para ARM) que compete com o GCC pelo desempenho. O GCC não é de forma alguma líder em desempenho, outros compiladores que usei círculos de corrida ao seu redor, mas tem melhorado a cada lançamento (bem, as versões 3.x às vezes produzem um código melhor do que as versões 4.x, mas você precisa de 4 .x para os núcleos mais recentes e Thumb2). Mesmo se você for com o GCC, tente a liberação estável do LLVM de tempos em tempos.

O Qemu é um bom emulador, dependendo do que você está fazendo, o avanço do GBA Emulator Virtual Gameboy é bom. Também existem alguns emuladores do NDS. O GDB e outros lugares têm o que parecem ser braços próprios. Achei difícil extrair e usar, então escrevi o meu, mas, sendo preguiçoso apenas implementou o conjunto de instruções do polegar, liguei para o meu thumbulator. fácil de usar. Muito mais fácil que o Qemu e o Armulator para adicionar periféricos e assistir e depurar seu código. ymmv.

Hmmm, postei uma resposta semelhante para alguém recentemente. Google: Arm Verilog e no Umich você encontrará um arquivo ISC.TGZ no qual é um comportamento do ARM10 (como você não pode fazer um chip, portanto, você pode encontrar o modelo Verilog na rede). O que para alguém que deseja aprender um conjunto de instruções, assistir ao seu código executar no nível do portão é o melhor possível. Cuidado, como um medicamento, você pode ficar viciado e ter dificuldade em voltar ao silício, onde tem uma visibilidade relativamente zero em seu código enquanto estiver executando. Em algum lugar no Stackoverflow, publiquei as etapas envolvidas para obter o modelo ARM10 e outro arquivo ou dois para transformá -lo em um emulador de braço usando o icarus verilog. O GTKWave é uma ferramenta boa e gratuita para examinar os arquivos Wave (VCD).

Acima de tudo, você precisará do braço. (O Manual de Referência da Arquitetura do ARM). Basta pesquisar no Google e encontrá -lo no site da ARM. Existe um código pseudo para cada instrução ensinando o que eles fazem. Use o pinças ou o armulador ou outras pessoas se precisar entender mais (o MAME tem um núcleo de braço também). Não garanto que o pinças seja 100% depurado ou preciso, peguei alguns programas comuns e comparei sua produção com o silício tanto o braço quanto o não-braço para depurar o núcleo.

Outras dicas

Chain de ferramentas você pode usar yagarto http://www.yagarto.de/

Emulador você pode usar o proteus isis http://www.labcenter.com/index.cfm(Existe uma versão demo)

e tutoriais, bem, pesquise no Google =)

Boa sorte!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top