問題一: “搞定 NiosII 工程文件夾目錄路徑改變”的過程中,按照《NiosII的奇幻漂流-v2.0.pdf》這本書附錄一章《20.2 四步搞定 NiosII 工程文件夾目錄路徑改變》所說的方法進行問題解決的時候,總是會出現一些小問題,例如有一個問題“xxx.sopcinfo could not be found.”最后只能刪掉工程,重建project,copy源碼。雖然最后能夠解決路徑問題,但花費精力過多,無數次的刪除原工程下的project,無數次的自己重建,雖然也能解決問題,但過程繁瑣,總是懷疑自己是否有搞丟哪個源文件。
解決辦法:按照《NiosII的奇幻漂流-v2.0.pdf》這本書中所說的方法,照做就可以了。其中我所犯錯的地方在於,在第三步中“重新 Generate BSP 工程”這個過程中,沒有找到文中所說的Generate BSP這個選項,這個怪自己大意了,最終的解決辦法是在pwm_1_BSP下右鍵選擇NIOS II——Generate BSP。之前一直以為在pwm_1下右鍵,沒有找到,於是走了彎路選擇NIOS II——BSP Editor重新生成settings.bsp文件,浪費了無數精力。
問題二:出現錯誤“Connected system ID hash not found on target at expected base address”。並且如果在“Run Configurations”中忽略ID檢測繼續RUN,彈出如下對話框:
解決辦法:參見博文:http://www.cnblogs.com/ic90/p/3608115.html。
文中對這一錯誤進行了總結:
1) unused pin沒有設置,可能會收到外部信號的干擾;設置未用引腳為As input tri-stated with weak pull-up.
2) 系統時鍾信號沒有約束,或者SDRAM等存儲設備的時鍾沒有配置正確;
3) 系統復位信號沒有連接外部復位開關;
4) 可能某些PIN分配了錯誤管腳;逐一檢查設計PIN的分配。
5) SOPC系統中沒有添加system ID組件。
文中給出了作者錯誤的原因:“ 按這個流程走了一遍,發現輸入時鍾信號的管腳分配錯誤!修正后,重新編譯工程。在Nios eclipse中重新生成BSP文件,再compile all。再次運行,ID檢測問題解決”
由那篇博文作者的說法,他的錯誤出現在第4條。我按照上面說的,也按照這個流程走了一遍,在檢查pin分配的時候,發現復位信號引腳分配給了sw1,於是發現這是一個撥動開關,聯想到博文里面羅列的5條解決問題。猜想問題可能出現在復位開關上,需要說明的是這里是開關,而不是按鍵。我為什么會強調這里:復位信號低電平有效,當復位信號處於高電平時,是沒有問題的。而復位信號處於低電平時則會出問題,產生該錯誤。所以估計此時開關使處於低電平狀態,故波動開關,此時電平應是高電平。再次再次運行,ID檢測問題解決。
花了好幾天的時間,問題終究是解決了,辛苦是值得的!