Re: [問題] 8051 verilog source code

看板Electronics作者時間12年前 (2013/06/07 12:17), 編輯推噓4(400)
留言4則, 4人參與, 最新討論串2/2 (看更多)
※ 引述《showyoulovex (zombie)》之銘言: : 因為計畫需求 : 需要8051當作cpu : 找了一陣子的source code : 只找到一些可以下載,可是前提示必須要上傳自己的code : 想問大家還有其他地方找的到verilog code嗎? : 另外,很可能要boot os上去 : 有搜過相關資訊可以boot uclinux ucos : po OS上去負擔會很大嗎? 假如你只要接一個device, 而且device是 "CPU送個start啟動device, 而device處理完回個done給CPU" 這種簡單handshake的話不透過OS直接控制會比較好做 用下面這種家電系統常見的無限迴圈就可以了 main() { while (1) { start_device(); while (device_not_done); collect_data(); } } 這種情況甚至可以不用CPU, 直接用Verilog寫個FSM都辦得到 假如你要接的device不只一個(protocol同上) 還是可以不用OS 把device的done接到CPU的interrupt, 然後改在ISR控制device就可以了 main() { enable_interrupt(); start_all_devices(); while (1); } isr() { n = check_which_device_is_done(); collect_data(n); start_device(n); } 這種情況直接用Verilog寫FSM其實也是可行的 其實決定系統需不需要CPU/OS這個問題 如果你的系統需要比較複雜的控制, 或是希望可以改變控制的流程 這樣就需要CPU, 不然其實直接做成硬體又快又簡單 (風險是一旦做錯就沒救了) 至於需不需要OS要看需不需要多工 如果系統的多工需求如上面例子都是做同樣的事情也不一定要OS 但是如果系統需要同時做不同的事情, 像是同時控制不同的device又要能從UART debug 這樣有OS會比較方便 決定要port OS的話, 或許可以考慮uC/OS-II 原作者出的書裡面幾乎把所有原始碼都解釋了 而且它跟CPU強相關的code不多, 印象中網路上應該找的到port給8051的版本 另外一個優點是它佔的記憶體空間很小 最後附上兩本參考書 [1] Embedded C, Michael J. Pont [2] MicroC/OS-II, Jean J. Labrosse 第一本的CPU就是用8051, 裡面有討論到沒有OS/有OS的實作 第二本則是uC/OS-II作者自己寫的書 希望對你有幫助囉 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.195.197.188

06/07 17:22, , 1F
這種認真文怎麼能不推
06/07 17:22, 1F

06/07 21:59, , 2F
06/07 21:59, 2F

06/08 02:47, , 3F
實用!!
06/08 02:47, 3F

06/08 13:49, , 4F
謝謝大大提點和提供書單 很感謝~
06/08 13:49, 4F
文章代碼(AID): #1HiLxoD- (Electronics)
文章代碼(AID): #1HiLxoD- (Electronics)