FreeRTOS源码下载(官方网址:www.freertos.org)
用户手册下载:
移植步骤
1.将“FreeRTOS-LTS\FreeRTOS\FreeRTOS-Kernel” 拷贝到工程目录“SmartHome\4_ MiddleWare" 下;
2.新建FreeRTOSConfig. h,并根据官方参考和实际需求添加修改;
3.宏定义与弱化内核中断服务函数;
4.按需添加FreeRTOS的内核源码P
5. 验证:创建任务并开启调度器
具体的移植步骤可以参照视频,视频里讲的比较详细。
后面的事情就是完善设备层和平台层了,其实就是对我们控制的外设进行封装
如果有相同属性的,我们将其封装成为一类对象
比如按键、LED和调试串口,我们对这几个外设的操作无外乎就是读写操作
所以将这三个整合到了一起,变成了一个IODev,输入输出设备
其实网络设备也是读写,但是其还有其它更复杂的操作,所以我们将网络设备独立了出去。
这样做其实就是一个面向对象的一种编程思想
我们将具体的外设对象,将他们的属性抽象出来整合到一个结构体中,以后这个抽象的结构体就可以代表某个具体的外设对象
而对于不同对象的功能或者操作函数,我们其实就是进行了一层一层的封装。
平台层的作用就是将上层的设备层、应用层与底层的驱动层进行隔离
上层的接口都是固定的,只有底层的驱动可能会跟随不同平台的处理器有变化
那当我们将工程像另外一个平台进行移植的时候
上层的应用代码我们几乎都可以不改变,只需要写好底层的驱动就好
然后再去平台层进行对应封装,这样就提高了可移植性。
以上为学习百问网的【7天物联网智能家居】课程的学习笔记,百问网的老师的视频课还有文字直播课,能把问题讲的很清楚,QQ群内的答疑也很及时,适合新手入门和提高。