本帖最后由 xcvista 于 2019-9-16 00:05 编辑
至少在 ARM 中间件这里有一个搅局者:Linux 3 开始主线内核合并了 µCLinux 补丁集,从此主线 Linux 可以支持 Cortex-M 单片机。而 Linux 有自己独立的驱动框架,而且托瓦兹早就禁止厂商中间件代码混入 Linux 内核了。因此说只要厂商想要支持单片机跑 Linux 就不能强推中间件。现在 ST 和 NXP 分别在推 STM32H7 和 iMXRT 两个建议搭配 Linux 单片机系列,因此可以默认这两家不会强制中间件。
至于中国,很多国人只会盲目跟风。我在国外社区聊天的时候发现那些外国工程师不碰厂商中间件的大有人在,甚至有公司直接明令禁止厂商代码不加审查直接进入公司项目,反倒是中国人对厂商中间件的执念成了他们嘲笑中国产品,甚至发表**言论的借口。我觉得这是国内嵌入式开发相关教育的问题,电子工程、计算机工程和自动化三个专业太泾渭分明了。我自己的教育背景是计算机科学,有比较扎实的计算机操作系统和计算机组成原理的基础,这些基础知识决定了我对中间件不置可否的态度。而我的嵌入式开发都是后来看国外教材学的。国外教材注重的就是独立开发和举一反三,一般都不依赖厂商中间件而是自己积累驱动程序。
其实我到现在 STM32 上用的串口驱动还是几年前从 AVR 上面移植过来的,而那个 AVR 串口驱动则是用 CoreFoundation 代替 C++ 仿写的 Arduino Serial 类。我会愿意自己花时间去写这种东西,和这种举一反三的思维方式和不依赖厂商的习惯还是有一定关系的。 |