日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

OpenJTAG调试S3C2440裸板程序

發布時間:2024/7/23 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OpenJTAG调试S3C2440裸板程序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

0x00 懵逼

? ? 當你寫好的初始化代碼head.S和鏈接腳本uart.lds共同編譯出來的*.bin,燒錄到NandFlash中的時候,發現串口輸出一片空白,這時你的想法是什么,砸電腦還是干點其他有用的事?還是老實的搭建調試環境吧,上篇講過如何調試源碼級的代碼,但若是初始化代碼有問題,譬如sdram拷貝出問題或者鏈接腳本有問題的話,通過openjtag gui調試會比較靠譜。


0x01 燒錄

? ? 先寫一個腳本,利用oflash能快速的進行NANDFLASH燒錄,腳本如下:

oflash 0 1 0 0 0 E:\gongkong\eclipse_projects\uart8266\uart.bin pause

? ? 六個參數,分別表示: JTAG類型、CPU類型、Flash類型、讀寫類型、偏移地址、文件。最后雙擊運行。


0x02 打開opengui

? ? 如何用openjtag連接開發板,這里跳過,打開電源,先打開connect,再打開telnet



0x03 命令行進行調試

????

? ?詳細指令如下:

????poll 查詢目標板當前狀態

????halt 中斷目標板的運行

????resume [address] 恢復目標板的運行,如果指定了 address,則從 address 處開始執行

????step [address] 單步執行,如果指定了 address,則從 address 處開始執行

????reset 復位目標板


????bp <addr> <length> [hw] 在地址 addr 處設置斷點,指令長度為 length,hw 表示硬件斷點

????rbp <addr> 刪除地址 addr 處的斷點內存訪問指令(Memory access commands)

????mdw ['phys'] <addr> [count] 顯示從(物理)地址 addr 開始的 count(缺省是 1)個字(4 字節)

????mdh ['phys'] <addr> [count] 顯示從(物理)地址addr 開始的count(缺省是1)個半字(2字節)

????mdb ['phys'] <addr> [count] 顯示從(物理)地址 addr 開始的 count(缺省是 1)個字節

????mww ['phys'] <addr> <value> 向(物理)地址 addr 寫入一個字,值為 value

????mwh ['phys'] <addr> <value> 向(物理)地址 addr 寫入一個半字,值為 value

????mwb ['phys'] <addr> <value> 向(物理)地址 addr 寫入一個字節,值為 value

????load_image <file> <address> [‘bin’|‘ihex’|‘elf’]

????將文件<file>載入地址為 address 的內存,格式有‘bin’、‘ihex’、‘elf’


????dump_image <file> <address> <size>

????將內存從地址 address 開始的 size 字節數據讀出,保存到文件<file>中


????verify_image <file> <address> [‘bin’|‘ihex’|‘elf’]

????將文件<file>與內存 address 開始的數據進行比較,格式有‘bin’、‘ihex’、‘elf’



????reg 打印寄存器的值

????arm7_9 fast_memory_access ['enable'|'disable']

????使能或禁止“快速的內存訪問”


????arm mcr cpnum op1 CRn op2 CRm value 修改協處理器的寄存器

????比如:arm mcr 15 0 1 0 0 0 關閉 MMU


????arm mrc cpnum op1 CRn op2 CRm 讀出協處理器的寄存器

?????比如:arm mcr 15 0 1 0 0 讀出 cp15 協處理器的寄存器

????arm920t cp15 regnum [value] 修改或讀取 cp15 協處理器的寄存器

????比如 arm920t cp15 2 0 關閉 MMU

????virt2phys virtual_address 獲得虛擬地址對應的物理地址

????

總結

以上是生活随笔為你收集整理的OpenJTAG调试S3C2440裸板程序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。