精華區beta Electronics 關於我們 聯絡資訊
NIOS II 是 Altera 推出的 Soft-Core CPU 他是一顆簡單的 CPU, 使用 FPGA 的 logic resource 合成的 所以這顆 CPU 有相當的彈性, 我感興趣的特異功能有... 1. 可以調整 CPU 的參數, 比如 cache 大小 2. 可以調整 CPU 的周邊, 比如多放一些 UART, 多放一些 timer, PWM 3. 可以自己訂製 CPU 的指令 4. (還沒想到) 如果只是寫寫程式, 那他跟一般的 MCU 一樣 GPIO, 寫control REG, 中斷, Timer, 調整程式放的位置(I-RAM, SDRAM) 大概就這些東西 ---- 不過因為 CPU 的參數都可以調整, 玩起來又不大一樣 以GPIO來說, GPIO有幾根pin可以調, 對應到FPGA哪些腳位也可以調 GPIO是 memory-mapped IO, mapping到記憶體那個位置? 可調 GPIO接不接受外部中斷? 可調, 也可以調整 level-trigger/ edge-trigger 以前看 data sheet 就是直接照單全收 現在因為什麼都可以選, 會去想為什麼會有這些設計 對硬體的認識會再深入一點 :) ---- Altera提供的 HAL (Hardware Abstraction Layer) 也滿有意思的 他提供一套標準的流程去控制硬體, 提供周邊硬體的 driver 這些 driver 都有提供 source code :D 初次看, 可以直接用, 看人家怎麼把硬體的存取介面標準化 第二次看, 看人家怎麼實作, 突然會發現, 原來自己以前寫程式都有點惡搞 可能是功力不高, 我看到這些東西是有點驚訝的... (原來硬體可以這樣包裝) 我想以後碰到寫driver的場合, 我可以寫得更好些 :p ---- 另外他的 HAL, 我隱隱約約覺得跟 OS 是有關連的 感覺是 OS 某些部分, 底層的程式, 需要靠 HAL 提供支援 閱讀他的程式碼, 我似乎可以感覺到... 為什麼有些硬體要這樣設計 為什麼要有這些硬體 為什麼 OS 需要這些硬體的支援 他提供的開發套件, 有把 uOS 包裝進去 玩到那邊的時候, 我似乎就可以看到更底層一點的東西 ---- Altera 這套 NIOS 可以從硬體玩到軟體 他的軟體層 (HAL) 提供不錯的範例, 很值得深入看他的 source code 整個看下來, 對思考滿有幫助的 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.236.184 ※ 編輯: lihgong 來自: 140.113.236.184 (08/08 10:40)
MasterChang:隔靴搔癢,只能給箭頭囉...你有點搞錯使用NIOS的方向 08/08 13:14
moonls:推薦這篇文章, 也推樓上的推文 ! 08/09 02:29
moonls:一樓說的沒錯! 08/09 02:29
moonls:NIOS不是只拿來當 mcu用的而已 XD 08/09 02:30
luckyBF:有人知道從哪自學NIOS 2的好方向嗎~最近被IDE搞死....orz 08/10 17:14