[讨论] X86 Windows + RTOS & AMP 架构

楼主: doghib (lun)   2016-03-12 08:57:40
大家好,
小弟在工控界打混,工控对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
以上是简单的介绍,有错误请指正,谢谢!!
作者: cc1plus (废柴联盟盟主)   2016-03-12 10:40:00
都考虑用 Linux 了, 要不要考虑用 zephyr ?xv6 没听过, 而且不潮zephyr 说不定还可以搭上 IoT 风潮, 潮到会出水哦
作者: asdfghjklasd (好累的大一生活)   2016-03-12 18:55:00
最近看到DDC 觉得好熟,你是走BACNET吗?
作者: egnaro123 (原po是大叔)   2016-03-12 19:28:00
想法反了,工控用RTOS就足够了,Windows/Linux/SMP都太复杂,不是你想用就能用的
作者: FrozenMoment   2016-03-16 08:44:00
我也在工控界,觉得原 PO 想法 OK ,这是产业生态

Links booklink

Contact Us: admin [ a t ] ucptt.com