artical from: http://blog.chinaunix.net/uid-23601235-id-2395268.html
燒寫到Nand Flash的0x00000000是不會有錯誤提示的。而燒寫到SDRAM就出現以下提示,或者即使沒出現也不能在AXD調試窗口進行下載,運行(包括單步運行)。
1、software interrupt (SWI) 0xffffff occured in ARM mode @ address 0x2FAE0000
2、processor ARM79_0 raised an exception
Cause:Undefined instruction
3、無法添加C:\Documents and Settings\第四空間\default-1-2-0-0.ses
1、
在ADS執行make後,點擊debug按鈕,
提示:不能添加C:\Documents and Settings\第四空間\default-1-2-0-0.ses
原因:是有中文名。我原來的賬戶名是第四空間。後來改了可這個文件還是存在。
所以,我把default-1-2-0-0.ses文件放到Documents and Settings目錄下了。後來,關掉當前AXD,重新點擊ADS下debug按鈕的時候彈出個對話框,選擇好這個文件即可。(這個是針對我而言的,如果您的計算機帳戶不是中文應該不會出現這個問題)
2、
在AXD點擊運行後,
提示: software interrupt (SWI) 0xffffff occured in ARM mode @ address 0x2FAE0000 (這個解決的辦法主要參考網上的方案)
原因:是沒有初始化SDRAM
方法:
ADS 項目屬性設置:
-ro-base = 0x30000000
entry 0x30000000
Init Section: 2440init.o Init
AXD下需要加載一個SDRAM初始化文件。(在1提示解決的前提下)
AXD下-->Option->Config Interface->session file->run configuration script.
編輯一個初始化文件保存爲.txt文件(名字不取中文即可,我也沒試過取中文得不得),
寫好後存放到Jlink-V8的安裝目錄JLinkARM_V408k下(路徑中最好也不要有中文),文本內容如下:
Setmem 0x53000000 0x00000000 32
Setmem 0x4A000008 0xFFFFFFFF 32
Setmem 0x4A00001C 0x000007FF 32
Setmem 0x53000000 0x00000000 32
Setmem 0x56000050 0x000055AA 32
Setmem 0x4C000014 0x00000007 32
Setmem 0x4C000000 0x00FFFFFF 32
Setmem 0x4C000004 0x00061012 32
Setmem 0x4C000008 0x00040042 32
Setmem 0x48000000 0x22111120 32
Setmem 0x48000004 0x00002F50 32
Setmem 0x48000008 0x00000700 32
Setmem 0x4800000C 0x00000700 32
Setmem 0x48000010 0x00000700 32
Setmem 0x48000014 0x00000700 32
Setmem 0x48000018 0x0007FFFC 32
Setmem 0x4800001C 0x00018005 32
Setmem 0x48000020 0x00018005 32
Setmem 0x48000024 0x008E0459 32
Setmem 0x48000028 0x00000032 32
Setmem 0x4800002C 0x00000030 32
Setmem 0x48000030 0x00000030 32
編寫存放好該文本後按上述方法添加即可。到此我困惑的問題也得到了解決。
在此要感謝給我幫助的朋友和帖子。希望我的這個總結能幫到你的忙。
要注意的是如果這次配置好了,有一次使用的文件的路徑中有中文,那麼下一次就得沖洗加載這些文件。
所以工程不要放在有中文的目錄下。