Установка gdb в черном цвете beaglebone с настроенным ядром Linux

Если вам не нужна старая версия Git в / usr / bin / git , самое быстрое и простое, что нужно сделать, это переименовать старый двоичный двоичный в / usr / bin / Git к чему-то вроде Git.v1.9.3 и SymLink Новая версия.

Сначала переименуйте:

mv /usr/bin/git /usr/bin/git.v1.9.3

Следующая SymLink New:

ln -s /usr/local/git /usr/bin/git

Теперь проверьте двоичный:

git --version
0
29.09.2015, 13:37
2 ответа

Во-первых, вам нужен кросс gdb. Для этого скачайте исходники gdb, распакуйте их, запустите ./configure --target=arm-linux-gnueabi, а затем обычный танец make; make install. Теперь у вас должен быть установлен gdb-linux-gnueabi. Запустите его. На вашей beaglebone запустите gdbserver 0.0.0.0:1234. На машине, где запущен ваш cross-gdb, дайте ему команду target remote 192.168.12.34:1234, заменив IP-адрес вашего BBB. теперь вы можете использовать сессию gdb как обычно.

Некоторые замечания:

  1. Не стоит пытаться запустить процесс, вместо этого следует использовать команду 'continue' (или 'c').
  2. Если вы убьете отлаживаемый процесс, gdbserver завершится. Если вы хотите запустить другую сессию, просто перезапустите ее; gdb запомнит точки останова и т.д. Однако вам придется снова выполнить команду target remote.
  3. Gdbserver не посылает образ отлаживаемой программы в gdb; вы должны сделать это сами. Лично я думаю, что самый простой способ сделать это - использовать NFS.
1
28.01.2020, 02:50

Я получил ответ ниже от целевой beaglebone black

Remote debugging from host 192.168.1.1                                          
[getpkt: discarding char '+']                                                   
getpkt ("qSupported:multiprocess+;xmlRegisters=i386;qRelocInsn+");  [sending ac 
[sent ack]                                                                      
putpkt ("$PacketSize=3fff;QPassSignals+;QProgramSignals+;qXfer:libraries-svr4:r]
[received '+' (0x2b)]                                                           
getpkt ("QStartNoAckMode");  [sending ack]                                      
[sent ack]                                                                      
[noack mode enabled]                                                            
putpkt ("$OK#9a"); [noack mode]                                                 
[getpkt: discarding char '+']                                                   
getpkt ("Hgp0.0");  [no ack sent]                                               
putpkt ("$OK#9a"); [noack mode]                                                 
getpkt ("qXfer:features:read:target.xml:0,fff");  [no ack sent]                 
putpkt ("$l<?xml version="1.0"?>                                                
<!-- Copyright (C) 2009-2012 Free Software Foundation, Inc.                     

 *!Copying and distribution of this file, with or without modification,         
 *!are permitted in any medium without royalty provided the copyright           
 *!notice and this notice are preserved.  -->                                   

<!DOCTYPE target SYSTEM "gdb-target.dtd">                                       
<target>                                                                        
  <xi:include href="arm-core.xml"/>                                             
  <xi:include href="arm-vfpv3.xml"/>                                            
  <feature name="org.gnu.gdb.arm.neon"/>                                        
</target>                                                                       
#b0"); [noack mode]                                                             
getpkt ("qXfer:features:read:arm-core.xml:0,fff");  [no ack sent]               
putpkt ("$l<?xml version="1.0"?>                                                
<!-- Copyright (C) 2007-2012 Free Software Foundation, Inc.                     

 *!Copying and distribution of this file, with or without modification,         
 *!are permitted in any medium without royalty provided the copyright           
 *!notice and this notice are preserved.  -->                                   

<!DOCTYPE feature SYSTEM "gdb-target.dtd">                                      
<feature name="org.gnu.gdb.arm.core">                                           
  <reg name="r0" bitsize="32" type="uint32"/>                                   
  <reg name="r1" bitsize="32" type="uint32"/>                                   
  <reg name="r2" bitsize="32" type="uint32"/>                                   
  <reg name="r3" bitsize="32" type="uint32"/>                                   
  <reg name="r4" bitsize="32" type="uint32"/>                                   
  <reg name="r5" bitsize="32" type="uint32"/>                                   
  <reg name="r6" bitsize="32" type="uint32"/>                                   
  <reg name="r7" bitsize="32" type="uint32"/>                                   
  <reg name="r8" bitsize="32" type="uint32"/>                                   
  <reg name="r9" bitsize="32" type="uint32"/>                                   
  <reg name="r10" bitsize="32" type="uint32"/>                                  
  <reg name="r11" bitsize="32" type="uint32"/>                                  
  <reg name="r12" bitsize="32" type="uint32"/>                                  
  <reg name="sp" bitsize="32" type="data_ptr"/>                                 
  <reg name="lr" bitsize="32"/>                                                 
  <reg name="pc" bitsize="32" type="code_ptr"/>                                 

  <!-- The CPSR is register 25, rather than register 16, because                
 *" the FPA registers historically were placed between the PC                   
 *" and the CPSR in the "g" packet.  -->                                        
  <reg name="cpsr" bitsize="32" regnum="25"/>                                   
</feature>                                                                      
#13"); [noack mode]                                                             
getpkt ("qXfer:features:read:arm-vfpv3.xml:0,fff");  [no ack sent]              
putpkt ("$l<?xml version="1.0"?>                                                
<!-- Copyright (C) 2009-2012 Free Software Foundation, Inc.                     

 *!Copying and distribution of this file, with or without modification,         
 *!are permitted in any medium without royalty provided the copyright           
 *!notice and this notice are preserved.  -->                                   

<!DOCTYPE feature SYSTEM "gdb-target.dtd">                                      
<feature name="org.gnu.gdb.arm.vfp">                                            
  <reg name="d0" bitsize="64" type="ieee_double"/>                              
  <reg name="d1" bitsize="64" type="ieee_double"/>                              
  <reg name="d2" bitsize="64" type="ieee_double"/>                              
  <reg name="d3" bitsize="64" type="ieee_double"/>                              
  <reg name="d4" bitsize="64" type="ieee_double"/>                              
  <reg name="d5" bitsize="64" type="ieee_double"/>                              
  <reg name="d6" bitsize="64" type="ieee_double"/>                              
  <reg name="d7" bitsize="64" type="ieee_double"/>                              
  <reg name="d8" bitsize="64" type="ieee_double"/>                              
  <reg name="d9" bitsize="64" type="ieee_double"/>                              
  <reg name="d10" bitsize="64" type="ieee_double"/>                             
  <reg name="d11" bitsize="64" type="ieee_double"/>                             
  <reg name="d12" bitsize="64" type="ieee_double"/>                             
  <reg name="d13" bitsize="64" type="ieee_double"/>                             
  <reg name="d14" bitsize="64" type="ieee_double"/>                             
  <reg name="d15" bitsize="64" type="ieee_double"/>                             
  <reg name="d16" bitsize="64" type="ieee_double"/>                             
  <reg name="d17" bitsize="64" type="ieee_double"/>                             
  <reg name="d18" bitsize="64" type="ieee_double"/>                             
  <reg name="d19" bitsize="64" type="ieee_double"/>                             
  <reg name="d20" bitsize="64" type="ieee_double"/>                             
  <reg name="d21" bitsize="64" type="ieee_double"/>                             
  <reg name="d22" bitsize="64" type="ieee_double"/>                             
  <reg name="d23" bitsize="64" type="ieee_double"/>                             
  <reg name="d24" bitsize="64" type="ieee_double"/>                             
  <reg name="d25" bitsize="64" type="ieee_double"/>                             
  <reg name="d26" bitsize="64" type="ieee_double"/>                             
  <reg name="d27" bitsize="64" type="ieee_double"/>                             
  <reg name="d28" bitsize="64" type="ieee_double"/>                             
  <reg name="d29" bitsize="64" type="ieee_double"/>                             
  <reg name="d30" bitsize="64" type="ieee_double"/>                             
  <reg name="d31" bitsize="64" type="ieee_double"/>                             

  <reg name="fpscr" bitsize="32" type="int" group="float"/>                     
</feature>                                                                      
#cf"); [noack mode]                                                             
getpkt ("QNonStop:0");  [no ack sent]                                           
[all-stop mode enabled]                                                         
putpkt ("$OK#9a"); [noack mode]                                                 
getpkt ("?");  [no ack sent]                                                    
putpkt ("$T050b:0*"00;0d:10feffbe;0f:800c4648;thread:p533.533;core:0;#4f"); [no]
getpkt ("Hc-1");  [no ack sent]                                                 
putpkt ("$E01#a6"); [noack mode]                                                
getpkt ("qC");  [no ack sent]                                                   
putpkt ("$QCp533.533#68"); [noack mode]                                         
getpkt ("qAttached:533");  [no ack sent]                                        
putpkt ("$0#30"); [noack mode]                                                  
getpkt ("g");  [no ack sent]                                                    
putpkt ("$0*}0*"010feffbe0*"00800c464830*}0*}0*}0*}0*}0*F#f5"); [noack mode]    
readchar: Got EOF                                                               
[getpkt: discarding char '�']                                                   
Remote side has terminated connection.  GDBserver will reopen the connection.   
Listening on port 1234                                                          

Это ответ от системы ubuntu, которую я использую

(gdb) target remote 192.168.1.2:1234
Remote debugging using 192.168.1.2:1234
warning: Architecture rejected target-supplied description
Remote 'g' packet reply is too long: 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010feffbe00000000800c4648300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
(gdb) 
0
28.01.2020, 02:50

Теги

Похожие вопросы