2014-05-09 2 views
0

오랫동안 임베디드 개발을 위해 Windows 도구를 사용해 본 후에 유닉스/리눅스의 뿌리로 돌아가서 OS   X의 빌드/디버그 환경을 만들기로 결정했습니다. 저를 멀리두면 좋은 "시각적 인"디버거가됩니다. 나는 또한 파이썬과 루비 같은 언어의 팬이다. 파이썬은 제가 아주 잘 알고있는 언어이기 때문에, GDB를위한 파이썬 확장을 작성하는 것이 비주얼 에디터라고 불리는 이질적인 정보를 얻기 위해 윈도우간에 튀는 것보다 뛰어나다는 것이 저의 희망입니다.Homebrew GDB v. arm-none-eabi-gdb

그래서이 질문이 있습니다. OS X v10.9 (매버릭스)에서 GDB는 더 이상 지원되지 않지만 Homebrew은 그날을 저장했으며 자연스럽게 GDB를 작성했습니다. OS   X (Segger JLink)의 GDB 서버에 연결할 수 있었으며, 유비쿼터스 STM32F4 Discovery 평가 보드와 성공적으로 통신하고있었습니다.

파이썬 확장이 활성화되었습니다. 재설정하고 모니터 명령을 실행하여 메모리를 들여다 볼 수 있습니다.

$ gdb 
GNU gdb (GDB) 7.7 
Copyright (C) 2014 Free Software Foundation, Inc. 
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> 
This is free software: you are free to change and redistribute it. 
There is NO WARRANTY, to the extent permitted by law. Type "show copying" 
and "show warranty" for details. 
This GDB was configured as "x86_64-apple-darwin13.1.0". 

warning: while parsing target description (at line 10): Target description specified unknown architecture "arm" 

warning: Could not load XML target description; ignoring 
0x00000000 in ??() 
(gdb) load Faircharge-Flash.elf 
"Faircharge-Flash.elf" is not an object file: File format not recognized 

팔 버전은 불평하지 않습니다 :하지만 내 ELF 파일을로드하지 못했습니다

$ arm-none-eabi-gdb 
GNU gdb (GNU Tools for ARM Embedded Processors) 7.6.0.20131129-cvs 
Copyright (C) 2013 Free Software Foundation, Inc. 
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> 
This is free software: you are free to change and redistribute it. 
There is NO WARRANTY, to the extent permitted by law. Type "show copying" 
and "show warranty" for details. 
This GDB was configured as "--host=x86_64-apple-darwin10 --target=arm-none-eabi". 
0x08000000 in ??() 
(gdb) load Faircharge-Flash.elf 
Loading section .text, size 0x3e4 lma 0x8000000 
Loading section .rodata, size 0x8 lma 0x80003e4 
Loading section .ARM, size 0x8 lma 0x80003ec 
Loading section .init_array, size 0x8 lma 0x80003f4 
Loading section .fini_array, size 0x4 lma 0x80003fc 
Loading section .data, size 0x434 lma 0x8000400 
Loading section .jcr, size 0x4 lma 0x8000834 
Start address 0x8000000, load size 2104 
Transfer rate: 2054 KB/sec, 300 bytes/write. 

그래서 내가 파이썬 확장을 포함하는 ARM 버전을 다시 할 수 있지만,하지 왜 안 GDB/홈 브루어는 ELF를 말합니까?

답변

0

Homebrew가 만든 GDB의 X 버전은 기본적으로 x86/64 오브젝트 코드를 지원하며 ELF 지원은 단순히 구워지지 않았다고합니다. 특히 target=arm-none-eabi으로 빌드되지 않았습니다.