1、debugrel setting裡一般設定幾項
1)target setting->linker裡選armlinker
用於設定連線
2)target setting->post-linker選arm fromelf
用於生成flash燒錄**(只在ram裡執行 而不燒錄則不用)
3)arm linker->ro base裡添位址
根據板子來,這板子上ram接的nscs6,位址0xc000000-0xc7fffff;
flash接的nscs0,位址0x00000-0xfffff
位址分配原理見44b0資料手冊記憶體管理那章的記憶體分配圖
想在ram裡除錯就添0xc000000(比如0xc008000)的位址
但是注意的是位址不要添過界,比如想在ram裡除錯卻添0x00000000 程式可以進入c** 但沒法執行
再有想生成用於燒寫得flash** ro位址就需要設定為0x0000000開始的 而且layout中也必須設定44binit.o為初始載入檔案
以上flash測試結論經flashpgm測試
而且flashpgm不支援bin檔案 只支援intel得hex檔案
4)rw可以添 可以不添 一般ro解釋為資料段,rw解釋為資料段
有時高興了就添上0xc100000(ram除錯時)
5)arm linker->option->image entry point選擇0xc000000(ram除錯時)
6)arm linker->layout->object/symbol裡可以添工程起始程式44binit.o 注意是.o不是.s和.0(零)
也可以不添
ADS中 RO base 的設定
深層原因,有待進一步研究。既然已經確定了是上述兩個檔案導致的問題,故而筆者對兩個檔案進行了比較,這才發現了根本性的原因 rdnf2sdram 在兩個檔案中定義不同 在nand read.c中 void rdnf2sdram u32 i u32 start addr 0x0 unsigned char...
LinuxC的除錯工具
linuxc的除錯工具 華清遠見嵌入式學院講師。在linux開發中,使用gcc做為編譯器,編譯程式產生出來的東西可以是非常高效的 可執行檔案。但是我們今天來看的是非常有用的除錯工具可以幫我們檢視到一些檔案細節。第乙個是 nmnm 工具可以列出檔案中各部分的位址資訊。08049f28 d dynami...
vue的除錯工具
上圖蠻有意思。vuejs用了很久了,大部分時候看下報錯資訊,結合vue.js devtools檢視下各個元件的資料其實就可以了,但是有時候還是有必要使用debugger的。話分兩頭,本文主要講兩個東西 vue.js devtools開發工具的使用 使用debugger和sourcemap除錯vue元...