Artigo de referência:
http://qiusuoge.com/15831.html
c Quando ocorre um erro:
https://blog.csdn.net/bailyzheng/article/details/7488664
Antes de depurar o sistema incorporado, um depurador deve ser gerado. Classicamente, o depurador na plataforma Linux é gdb.
1. Baixe gdb: O
endereço de download é:
http://www.gnu.org/software/gdb/download/
Vamos pegar o arquivo gdb-8.3.tar.gz como exemplo.
2. Descompacte:
tar -vxf gdb-8.3.tar.gz
Nota: Dicas: Os sufixos gerais dos arquivos compactados no Linux são .tar.bz2 e .tar.gz. As duas ou três opções de seus comandos de descompressão são as mesmas:
xf (v), o primeiro mais a opção j, o último mais Na opção z.
3. Digite o diretório:
cd gdb-8.3/
4. Configuração:
3536:
CC=arm-hisiv400-linux-gcc ./configure --host=arm-hisiv400-linux --target=arm-hisiv400-linux --program-prefix=arm-hisiv400-linux- --prefix=/home1/zhugeyifan/tools/gdb/output/3536
3519:
CC=arm-hisiv600-linux-gcc ./configure --host=arm-hisiv600-linux --target=arm-hisiv600-linux --program-prefix=arm-hisiv600-linux- --prefix=/home1/zhugeyifan/tools/gdb/output/3519a
3519av100:
CC=arm-himix200-linux-gcc ./configure --host=arm-himix200-linux --target=arm-himix200-linux --program-prefix=arm-himix200-linux- --prefix=/home1/zhugeyifan/tools/gdb/output/3519av100
开发机:
./configure --prefix=/home1/zhugeyifan/tools/gdb/output/pc
编译参数说明:
1) CC:编译gdb使用的交叉编译工具链,3536和3519的工具不一样
2) --host:编译出来的gdb运行在什么机器上
3) --target:要调试的目标板
4) --program-prefix:编译生成可执行文件的前缀
5) --prefix:make install的的位置
Nota: –target = arm-linux significa que a plataforma de destino é o kernel do Linux rodando na arquitetura ARM; –program-prefix = arm-linux- significa o prefixo do arquivo executável gerado, como arm-linux-gdb, - O prefixo refere-se ao diretório onde está instalado o arquivo executável gerado, que deve ser selecionado de acordo com a situação atual. Se o diretório não existir, ele será criado automaticamente, é claro, se as permissões forem suficientes.
5. Compilar e instalar
make
make install
Nota: Um erro pode ser relatado durante "make install": "AVISO: 'makeinfo' está faltando em seu sistema.". A razão é porque falta o comando "makeinfo" no ambiente atual, basta instalá-lo, conforme segue
sudo apt-get install texinfo
Se você tiver sorte, três subdiretórios serão gerados no diretório especificado por –prefix: bin, lib, share, e o arm-linux-gdb que precisamos está no diretório bin.
Gere arm-hisiv600-linux-gdb no diretório especificado por -prefix e também gere arm-hisiv600-linux-gdbserver, porque o gdb é executado diretamente no 3519, aqui nos concentramos apenas em arm-hisiv600-linux-gdb.
Se você verificar acidentalmente seu tamanho, verá que ele tem até 14 MB! Deus! Como pode ocupar tanto espaço? Não importa, podemos perder peso com isso. Está certo! Basta usar o comando strip!
3519av100:
arm-himix200-linux-strip arm-himix200-linux-gdb -o hi3519av100-gdb