the*_*oid 0 architecture embedded hal driver
在定义嵌入式系统架构时,在定义HAL时有两种选择 -
哪一个更好,为什么?
简短回答:是的.
有一个HAL(或驱动程序下面的稳定驱动程序ABI很好,特别是对于驱动程序编写者)在驱动程序之上使用HAL对于应用程序编程人员来说非常好.
你可以做到这两点:看看Unix设备驱动程序; 相当便携.[Endian-ness仍然咬人]
哪个更好取决于嵌入式架构的产品开发路线图.
让我们尝试一些例子.
让我们说它是一种商业产品,而你的公司并不认为需要跨平台移植.在这种情况下,你不在乎.
如果你的公司正在使用它,例如电视机,并且预计平台会改变,但设备将保持不变(电视是电视是电视,但最便宜的微观将随着时间的推移而变化)然后你'与驾驶员一起驾驶,并保持对驾驶员的投资.
如果您的公司制造,例如智能手机,处理器会发生变化,设备也会发生变化,随着分辨率的变化,额外的传感器会被添加......所以在这种情况下,你可以使用hal-above-driver,并保持大部分软件加载常见.
如果你放入两个HAL,对于嵌入式,你就有可能变成一个架构宇航员.如果两个HAL的成本(运行时间和设计时间)超过了跨平台移植所节省的人力,则浪费时间和金钱.
对HAL付出多少努力同样是一种权衡.在一个很小的嵌入式系统中,无法提供过多的抽象.
同样,这种权衡取决于一个小平台是您的应用的正确选择,这最终取决于上市时间和功能与每设备成本的相对重要性.关于需要为批量市场便宜的说法很多; 提供了很少的科学证据.最赚钱的嵌入式设备制造商之一是Apple,而不是使用微型平台.(哎呀,他们不再在纳斯达克了,因为他们这么扭曲了)
如果您没有HAL,并且您必须更换平台,例如您的处理器寿命结束,那么您需要进行大量的重写.
如果您尝试应用YAGNI规则(你不会需要它)没有权衡研究以后可能使公司损失了一笔.
现在,如果你因为技术转向盲目而无法预料,那么你的权衡研究将是错误的,你的公司将受到损害.
| 归档时间: |
|
| 查看次数: |
1382 次 |
| 最近记录: |