or1200下Raw-OS学习(例子篇)

        没有图我说个~毛(J)线(B)~对吧???

        直接上一个以前做过的项目来说说怎么去从一个前后台的程序过度到利用操作系统去管理的你代码吧~以前想过直接用事件驱动的框架去编写代码的,无奈这方面的资料实在太少~而且我的水平也不足以胜任,既然现在在全力支持Raw-OS,那么就用RTOS的框架去描述这个工程lor,好了,直接上图了,没有图我说个~毛(J)线(B),一个ICT的例子,先给框图再说功能吧,也希望初学者能和小弟我一起讨论讨论,仅限于初学者哈~大牛不小心路过就不要吐槽小弟了~


or1200下Raw-OS学习(例子篇)_第1张图片

        这是一个简易ICT的模块框图。

        至于ICT是个什么东东呢~各位可以自行google一下,不解释了~说多了都是泪~


        这里就直接解释这个东西是拿来干什么用的

        首先,ICT的作用是测试电路板的物理连通性而做的

        那这里的话~我们有一个主控板(Master Board),若干个子板(Slave Board)


        子板功能:负责测试待测试的电路板(UUT)的阻抗、电压和常态的电流~对于阻抗呢?首先我们会在选定的板卡上去留出测试点,或者你可以找一块电脑主板,认真看看,会发现很多的测试点,这就是我们肋完板之后会做ICT的测试,看看是否有元件虚焊,短接,掉件之类的,因为你想想,一个电路功能模块出现以上这些情况之后,一定会在某些关键点上发生阻抗值的改变,一定是。所以我们只要用板卡测出阻抗值不对就可以认定这个板卡有问题。不知道大家有没有见识过生产那边用人工检板那种盛况,好一点的公司会用专门的显示仪器做图像阴影扫描~SMT的时候会做,但是轮到插件过完波峰焊之后一般都是人工检板,省成本嘛~天朝嘛~老板嘛~天朝的老板嘛~你懂的~

        对于电压呢?一样道理,主要是检查芯片和主要的供电端是否加电正确。

        对于电流呢?如果不正常工作的情况下,常态电路是会有变化的


        所以呢,综合起来,进入系统的任务划分~我们可以先简单的设计出4个任务了~

        1.测试阻抗用的:MeasureImpedance

        2.测量电压用的:MeasureVoltage

        3.测量电流用的:MeasureCurrent

        4.接收Master Board启动信息:GetMasterCmd


        至于Master Board来说,是通过I2C总线去负责各个Slave Board的通信的,至于相关的任务,我们留到信号量学习完毕之后再去具体设计,目前先分工好Master Board和Slave Board的任务先


        看图说话啊,对于Master Board来说,先接收按键的功能选择信息,然后启动Slave Board,收集各个Slave Board的测量信息,归总到Master Board上,然后将测量信息打印到LCD屏上做显示,同时将板次信息和结果写入到SD Card中留备份~至于Uart是Debug阶段用的。


        又所以呢,对于Master Board来说,可以先设计出5个任务:

        1.按键消息处理:KeyMsgProcess

        2.启动Slave Board:MasterSendCmd

        3.收集Slave Board测量信息:GetMeasureMsg

        4.LCD显示结果:LcdDisp

        5.结果存入SD Card:SdStore


        然后,下一篇任务的API学习,然后具体我们设计相关的任务,以后也根据这个历程学习学习从无到有的设计吧~至于需求分析这些略过吧~以后有机会和大家分享分享

        这些全都是只是抽象出来在or1200这个架构下验证程序设计的正确性,实际的项目是用Cotex-M4做主控完成的~刷屏这个当时真是搞死人了~

你可能感兴趣的:(RAW-OS,openrisc)