freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第5課開發(fā)環(huán)境的建立和調(diào)試技術(shù)-資料下載頁(yè)

2025-08-23 09:09本頁(yè)面

【導(dǎo)讀】ICE在線仿真器:是一種用于替代目標(biāo)機(jī)上的CPU的設(shè)備。BOOTP服務(wù)的全稱是BootStrapProtocol. 使用TCP/IP網(wǎng)絡(luò)協(xié)議中的UDP67/68兩個(gè)通。常用到的DHCP服務(wù)就是從BOOTP服務(wù)擴(kuò)展。第一步,在目標(biāo)板由BootLoader啟動(dòng)BOOTP,F(xiàn)OUND幀中包含的主要信息有目標(biāo)。通過TFTP服務(wù)器下載啟動(dòng)映象文件。TFTP可以看成一個(gè)簡(jiǎn)化了的FTP. TFTP在安裝時(shí)一定要設(shè)立一個(gè)單獨(dú)的目錄作。制作ARM交叉編譯器。交叉編譯是嵌入式開發(fā)過程中的一項(xiàng)重要技術(shù),簡(jiǎn)單地說(shuō),就是在一個(gè)平。臺(tái)上生成另一個(gè)平臺(tái)上的可執(zhí)行代碼。交叉編譯的主要特征是某。當(dāng)提到交叉編譯器時(shí),不僅僅是指將一種編程語(yǔ)言的代碼轉(zhuǎn)換成對(duì)象代。針對(duì)我們所下載的源碼包,我們。遠(yuǎn)程調(diào)試,調(diào)試器運(yùn)行于通用桌面操作系。Stub方案是在目標(biāo)操作系統(tǒng)和調(diào)試器內(nèi)分別。調(diào)試協(xié)議的通信模塊和多任務(wù)調(diào)試接口,指定需要調(diào)試的遠(yuǎn)程機(jī)器的方法是使用。GDB遠(yuǎn)程調(diào)試環(huán)境原理圖:

  

【正文】 ) 利用 getDebugChar()函數(shù),分析從調(diào)試主機(jī)傳過來(lái)的數(shù)據(jù)包,將調(diào)試信息和校驗(yàn)信息區(qū)分開來(lái) – static int read_data_bfr(void) 直接從硬件端口讀取一個(gè)字節(jié)的數(shù)據(jù),并且返回它 – static void write_char(int chr) 直接向串口端口寫一個(gè)字節(jié)的數(shù)據(jù) 45 KGDB分析 (2) ? stub程序的函數(shù)接口如下: – void set_debug_traps(void)向系統(tǒng)注冊(cè)調(diào)試過程中的處理函數(shù): handle_exception() – void break_point(void)進(jìn)入中斷,運(yùn)行中斷處理程序 – int handle_exception(int exceptionVector, int signo, int err_code, struct pt_regs* linux_regs)在這個(gè)函數(shù)中一邊響應(yīng)本地主機(jī)上的 GDB發(fā)送過來(lái)的控制信號(hào),一邊控制遠(yuǎn)程主機(jī)上 Linux內(nèi)核的運(yùn)行狀況 46 內(nèi)核 進(jìn)入調(diào)試狀態(tài)的路徑 ? 內(nèi)核進(jìn)入調(diào)試狀態(tài)有兩種方法 : –方法一:通過在內(nèi)核啟動(dòng)的時(shí)候向內(nèi)核傳入?yún)?shù),這時(shí)可以調(diào)試系統(tǒng)啟動(dòng)過程內(nèi)核的運(yùn)行狀況 –方法二:在內(nèi)核完全導(dǎo)入系統(tǒng)正常運(yùn)行的情況下,通過使用一個(gè) gdbstart工具將驅(qū)動(dòng)串口設(shè)備,內(nèi)核的控制權(quán)交給本地主機(jī) 47 內(nèi)核 進(jìn)入調(diào)試狀態(tài) ——方法一 ? KGDB定義了三個(gè)可以向內(nèi)核傳遞的參數(shù),用來(lái)指定本地主機(jī)和遠(yuǎn)程主機(jī)進(jìn)行連接的方法。這三個(gè)參數(shù)是: – Gdb參數(shù)表示在內(nèi)核啟動(dòng)的時(shí)候就需要進(jìn)行內(nèi)核的調(diào)試 – gdbttyS是用來(lái)指定本地機(jī)器和遠(yuǎn)程主機(jī)需要連接的串口號(hào) – gdbbaud是該串口連接的數(shù)據(jù)傳輸波特率 48 內(nèi)核 進(jìn)入調(diào)試狀態(tài) ——方法一( 1) ? 然后,系統(tǒng)進(jìn)入 gdb_hook()函數(shù) ? 調(diào)用 gdb_serial_setup()函數(shù)和注冊(cè)中斷處理函數(shù) ? 運(yùn)行 set_debug_traps()交出控制權(quán),從而進(jìn)行內(nèi)核啟動(dòng)過程的調(diào)試 49 內(nèi)核 進(jìn)入調(diào)試狀態(tài) ——方法一( 2) ? gdb_hook()函數(shù): int gdb_hook(void) …… if((ser = gdb_serial_setup(gdb_ttyS, gdb_baud)) == 0) { …… if (serinfo != NULL) { …… gdb_serial_setup(gdb_ttyS, gdb_baud) 。 } …… set_debug_traps() 。 …… printk(Waiting for connection from remote gdb... ) 。 breakpoint() 。 gdb_null() 。 printk(Connected.\n)。 return(0) 。 } /* gdb_hook_interrupt2 */ 50 內(nèi)核 進(jìn)入調(diào)試狀態(tài) ——方法二 ? gdbstart是一個(gè)由 KGDB提供的工具,源程序放在 arch/i386/kernel/ ? 交出控制權(quán)的方法和剛才所描述的不同,它是采用 ioctl系統(tǒng)調(diào)用進(jìn)入的 ? 對(duì)需要連接的串口調(diào)用 ioctl系統(tǒng)調(diào)用,引發(fā)初始化串口和進(jìn)入 gdb_hook()函數(shù)。 ? 運(yùn)行 gdbstart [s speed] [t ttydev]命令,就可以和本地的 gdb的 remote方式連接,從而進(jìn)入調(diào)試過程 Linux 內(nèi)核調(diào)試 ——KDB ?KDB 是一個(gè) Linux 系統(tǒng)的內(nèi)核調(diào)試器,它是由 SGI 公司開發(fā)的遵循 GPL許可證的開放源碼調(diào)試工具。 ?KDB 是一個(gè)功能非常強(qiáng)大的 工具,它允許進(jìn)行幾個(gè)操作, 比如內(nèi)存和寄存器修改、應(yīng)用 斷點(diǎn)和堆棧跟蹤 KDB??? Thanks!
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1