我正在使用GDB以及一個JTAG設備,一個Abatron BDI2000,調試運行在摩托羅拉M68332上的程序。問題與GDB,JTAG和CPU32
68332沒有任何硬件斷點寄存器。它具有非常原始的調試功能。 構建工具不會生成'elf'文件,所以沒有符號供GDB使用。 另外,我正在調試的程序正在Flash中運行。
事實上,68332只有一個調試指令ti。 ti自己的步驟到下一個彙編指令。 ti xxx步驟,直到到達地址xxx。 [是的,這是穴居人日子,冷錘和鑿子:)]
我能夠使用GDB與目標遠程連接到BDI2000併發出GDB命令'nexti'。由於68332的限制,'stepi'相當於'nexti'。
單步只有命令可用。
監視器命令'監視器ti'狀態將程序計數器更改爲步驟。
若用「監視」命令更改寄存器,然後GDB不知道變成不同步的命令和寄存器高速緩存。我創建了GDB函數,每個函數的末尾都有GDB命令'flushregs'。這標誌着寄存器緩存髒。 GDB命令將獲取一組新的寄存器。
我想創建一個用於調試的符號表文件,但是沒有找到關於GDB符號文件格式的任何文檔。
是否有替代我設置? 我有一個RAM覆蓋的Flash區域。這會允許軟件斷點嗎?
在此先感謝您的任何建議。