[討論] X86 Windows + RTOS & AMP 架構

看板Soft_Job作者 (lun)時間8年前 (2016/03/12 08:57), 編輯推噓4(403)
留言7則, 4人參與, 最新討論串1/2 (看更多)
大家好, 小弟在工控界打混,工控對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

03/12 10:40, , 1F
都考慮用 Linux 了, 要不要考慮用 zephyr ?
03/12 10:40, 1F

03/12 10:41, , 2F
xv6 沒聽過, 而且不潮
03/12 10:41, 2F

03/12 10:41, , 3F
zephyr 說不定還可以搭上 IoT 風潮, 潮到會出水哦
03/12 10:41, 3F

03/12 18:55, , 4F
最近看到DDC 覺得好熟,你是走BACNET嗎?
03/12 18:55, 4F

03/12 19:28, , 5F
想法反了,工控用RTOS就足夠了,Windows/Linux/SMP都太
03/12 19:28, 5F

03/12 19:28, , 6F
複雜,不是你想用就能用的
03/12 19:28, 6F

03/16 08:44, , 7F
我也在工控界,覺得原 PO 想法 OK ,這是產業生態
03/16 08:44, 7F
文章代碼(AID): #1Musc88X (Soft_Job)
文章代碼(AID): #1Musc88X (Soft_Job)