問:現(xiàn)象描述:仿真器直接連接開發(fā)板,編譯鏈接下載仿真程序都沒有問題,運(yùn)行正常。生成ldr文件燒寫到flash之后無法正常啟動(dòng)。生成和燒寫ldr的方法都沒有問題,已經(jīng)回讀驗(yàn)證過,板子上的啟動(dòng)管腳狀態(tài)正常,可能是什么原因?
答:一個(gè)比較常見的原因是有部分代碼和數(shù)據(jù)需要放到DDR上面,而在用戶代碼啟動(dòng)之前DDR并沒有被初始化。
驗(yàn)證方法:建立測(cè)試程序,只用到內(nèi)部sram,不使用外部memory,重新生成ldr文件測(cè)試是否能正確啟動(dòng)。如果可以正確啟動(dòng)的話基本可以確定是DDR問題。
解釋:在連接仿真器時(shí)直接運(yùn)行程序,CCES會(huì)使用默認(rèn)的xml文件用來初始化PLL和外部memory,如果生成ldr文件從flash啟動(dòng),則需要自己生成init code用來在功能代碼啟動(dòng)之前做初始化工作。添加位置如下:

|