Categories
Dairy

2014-7-6

好久没来采购了,部分楼都拆了。
回想自己这一路买的板子:51最小系统板,430板,TQ2440板,Zigbee板,arduino板,raspberry pi板。
自己目前拥有的模块:温度模块ds18b20,红外收发模块,射频nrf2401模块,蓝牙通讯模块,步进电机驱动模块,舵机,lcd模块,led模块……
突然有个想法在脑中浮现,把所有模块在所有板子上调通。
比较简单的板子用不到操作系统,顶多一个前后台,后台循环处理,前台中断服务。51基本玩后台,430基本玩前台。至于状态机不过是另一种思路,实现方式仍然是一样的套路。
如果真要调通所有模块,有没有想过困难在哪?
在简单的板子上,开发一个模块,需要这么些东西:接口协议(手册),主机端硬件资源(电源,gpio,时钟,中断,片上外设),对应开发环境(软件工具,调试工具)。
那么,在高级板子上怎么开发一个模块?高级板子是有操作系统的,它是对硬件资源的抽象和隔离,对应用开发来说,底层硬件不可见,必须顺着操作系统来开发模块驱动。
业务的复杂催生了操作系统的使用,它是对业务逻辑的又一层抽象,彻底将应用和底层硬件分开。