為什麼這篇rtos架構鄉民發文收入到精華區:因為在rtos架構這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者doghib (lun)看板Soft_Job標題[討論] X86 Windows + RTOS ...
大家好,
小弟在工控界打混,工控對RTOS非常倚重,每個動作控制越精準,產出越高。
在台灣普遍使用的Windows + RTOS有幾種,
1. IntervalZero - RTX
2. tenAsys - INtime
3. Acontis
使用這類的產品,大致上都會用Timer + Event
Timer中跑 運動控制算法
Event中跑 PLC 或 自己寫Code控制運動流程
這些產品收費通常都是 SDK + 每套License費用
通常Windows使用者使用上述產品大概都使用SMP架構
SMP架構是開機時,會有一顆CPU先起來,稱之為BP,其它稱為AP
BP起來後,再使用 APIC 對每個位置進行 Send INIT IPI,
在 Send INIT IPI之前,先將記憶體中某個位置設起Flag,
Boot Code中再將此Flag Off,就可知道,此處有個AP,
掃描完後,將所有CPU調度統一由BP進行調度,就是SMP的做法。
至於AMP則是各自CPU做各自的任務,不互相干擾,
但這是不會操作到同一個硬體的理想狀況。
Github上有個專案
https://github.com/GiraffeOS/GiraffeOS
做法是在Windows上修改C:\Boot.ini,限制Windows的使用核心數與記憶體大小,
再將Boot Code & App Bin 拷貝到實體記憶體的區塊上,利用BP開AP的方式開機運行,
App Bin理論上來說,應該可以跑
1. Bare Metal 難處在 所有東西都自己刻 (包含中斷、硬體操作)
2. Wince 難處在 有些東西是黑盒子
3. Linux 難處在 原始碼好龐大 (精簡工程浩大)
目前小弟研究方向是採用 (1) 自己刻,
因為有 xv6 可以當範本 (在此感謝 黃敬群老師 的建議)
發展到最後產品應該會像下列產品 (內有簡體,不喜勿入@@)
http://www.dcce.com.cn/downloadfiles/201310121644063923.pdf
以上是簡單的介紹,有錯誤請指正,謝謝!!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.230.55.135
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1457744264.A.221.html