(原創) 如何成功執行『Using μC/OS-II RTOS with the Nios II Processor Tutorial』? (IC Design) (Quartus II) (Nios II) (μC/OS-II)
Abstract
這是一份Altera官方提供的μC/OS-II tutorial,但我測了兩個星期,都無法成功,以下是我的研究心得。
Introduction
Altera官方提供了『Using μC/OS-II RTOS with the Nios II Processor Tutorial』。
選擇MicroC/OS-II Tutorial Project Template
![microcos2_tutorial01.gif](/images/cnblogs_com/oomusou/microcos2_tutorial01.gif)
這篇tutorial的Figure 1-3圖片有錯,應該是選擇MicroC/OS-II,但文字部分敘述正確。
![microcos2_tutorial02.gif](/images/cnblogs_com/oomusou/microcos2_tutorial02.gif)
儘管如此,若你繼續跟著這份tutorial做下去,並不能得到預期的結果,而是以下的結果
![microcos2_tutorial03.gif](/images/cnblogs_com/oomusou/microcos2_tutorial03.gif)
而且就算你用Nios II IDE所提供最簡單的『Hello MicroC/OS-II』這個 template,所做出的依然是這個結果。
Proposed Steps
以下是修正後,能夠正確執行出結果的步驟。
1.重新Compile『DE2_SD_Card_Audio』
Step 1:
將DE2實驗板所附的光碟『DE2 System』中[CD-ROM:]\DE2_demonstrations\DE2_SD_Card_Audio 目錄複製到硬碟,別忘了須將此目錄的唯讀屬性拿掉,否則新compile的DE2_SD_Card_Audio.sof將無法覆蓋過去。
![microcos2_tutorial04.jpg](/images/cnblogs_com/oomusou/microcos2_tutorial04.jpg)
Step 2:
使用Quartus II重新compile『DE2_SD_Card_Audio』,產生新的DE2_SD_Card_Audio.sof,需要一段時間,在我們Pentium M 1.2G + 2.0G Ram下須compile約12分鐘,若compile成功將出現以下畫面。
![microcos2_tutorial05.gif](/images/cnblogs_com/oomusou/microcos2_tutorial05.gif)
Step 3:
使用Programmer將DE2_SD_Card_Audio.sof燒錄到DE2實驗板,方法同tutorial內所示,不再重述。
2.建立新的Nios II IDE Project
Step 4:
SOPC Builder System需指向新的DE2_SD_Card_Audio的system_0.ptf,剩下建立步驟如同tutorial所示,不再重述。
![microcos2_tutorial06.gif](/images/cnblogs_com/oomusou/microcos2_tutorial06.gif)
最後執行結果如tutorial所示。
![microcos2_tutorial07.gif](/images/cnblogs_com/oomusou/microcos2_tutorial07.gif)
Discussion
Q:為什麼不重新compille『C:\altera\61\nios2eds\examples\verilog\niosII_cycloneII_2c35\standard\』產生新的standard.sof?
A:在Quartus II 6.1直接compile這個project,compile到9%即產生以下錯誤。
![microcos2_tutorial08.gif](/images/cnblogs_com/oomusou/microcos2_tutorial08.gif)
若能直接修改source通過編譯,應該也是個方法。
Q:為什麼要重新compile『DE2_SD_Card_Audio』?不能直接燒錄原本光碟所附的DE2_SD_Card_Audio.sof嗎?
A:若直接燒錄原本光碟所附的DE2_SD_Card_Audio.sof到DE2實驗板,執行後將出現以下錯誤訊息。
![microcos2_tutorial09.gif](/images/cnblogs_com/oomusou/microcos2_tutorial09.gif)
Conclusion
這是我較早期摸索SOPC的文章,雖然借用SD Player範例的ptf可行,但終究不是解決之道,更完整的方法請參考(原創) 如何自己用SOPC Builder建立一個能在DE2上跑μC/OS-II的Nios II系統? (IC Design) (DE2) (Quartus II) (Nios II) (SOPC Builder) (μC/OS-II) 。