为无线传感器平台选择一款单片机,困难远超预期

[复制链接]
3461|78
手机看帖
扫描二维码
随时随地手机跟帖
司成|  楼主 | 2019-9-13 18:11 | 显示全部楼层 |阅读模式
本帖最后由 司成 于 2019-9-13 18:11 编辑

我们正在设计一种可以插入多种传感器模块的无线电路板(无线传感器平台),它有如下要求:
  • 开放的单片机。使用者可以使用编程环境对单片机编程。
  • 硬件低成本。使用者可以不用购买仿真工具等直接对单片机编程。
  • 合法的免费软件。不要用盗版的IAR,keil等。
  • 速度上不能低于业界平均水平
  • 最好可以防**。或者单独添加防**芯片。
  • 与传感器模块的接口包括SPI,IIC,IO,UART等。开放的接口定义
  • 开放的硬件图纸

确实有很多公司设计了类似的东西,但是考虑到开放的图纸,开放的单片机两个要求,则直接排除了绝大部分开发公司,只能去选择芯片厂。

一般的认为,如果图纸开放,单片机也开放,那么无法形成私有化的部分,那么无法盈利。我们之所以敢于公开,原因很简单,我们拿到了更高的垄断资质:可以部署自己的基站甚至自有的频谱。。。只有一个强者才能给与弱者东西,我们就是那个强者,当然,在某些资质上,在技术基层上还要各路雄杰指教。


首先我看好了TI的MSP430R系列单片机,使用FRAM带来的低功耗优势,是其他家很难比拟的,如果非要选择一个技术最先进的,我一定选择TI。可是,它的开发IDE实在是糟透了——如果你去问一般开发者,他们大量使用了IAR,盗版的。好吧,我们无法推行一个盗版软件,我查了下正版授权费,总之都要1000美金起步,相信绝大部分开发者无法接收这个价格。而TI的这个ecplise改造过的IDE,因为ecplise本来就不是为了开发单片机应用设计的,所以你会发现很多按钮安全不知道是干什么的,非常有违和感,然后就是开启速度和编译速度让人感觉这是一个玩具。

相信如果使用了MSP430的结果一定是配合IAR使用,而IAR必然带来盗版。我们明明知道,人们可能会用盗版的IAR,而我们还要推行MSP430,这就是犯罪,所以我们无法推行它。只能作罢。


然后我将目光转向了ST的8位机,STM8。STM8的问题除了速度太慢之外,还有一个重要的问题就是它的C语言编译器竟然是单独安装的,而且还要收费!好吧,我知道一般情况下,8bit程序都在免费授权范围内,但是这个两次安装方法让我非常无语。感觉ST摆不平一个C编译器一样。另外一个原因就是其速度对比ARM体系实在是太慢了。所以最后也是作罢。

在将STM8对比STM32的时候,意外发现,STM32F0系列,cortex-M0内核的这些单片机竟然有keil的免费授权。这样可以合法的使用keil,于是,我将目光转向了STM32L0系列单片机。其结果更是让我失望无比,首先是keil几乎已经变成万神殿,打开之后一堆的arm供应商选择,然后是一堆的中间件,请问keil是公共汽车么?最让我无法容忍的是:ST公司推行的cube等代码自动生成程序,生成了一堆烂七八糟体积庞大的代码,完全是在消耗空间,还有就是浪费能量。

我之所以非常不喜欢ARM的原因,在于,其推行的CMSIS层完全是在打造一个中间层。问题是,大家都用单片机了,一定是追求底层的寄存器操作,用你这个中间层,写了程序还能很轻易的切换到别家上去?完全是在搞绑定么。ARM带头,然后ST在CMSIS基础上搞了一个HAL,硬件无关层,还搞了一个cube自动生成代码。
除了绑定开发者,我看不出来这有任何意义。这让我彻底排除了ST公司。

(micochip和TI是两家较为独立的公司,但是这两家也都推出了在线的IDE,也是意图绑定开发者的体现。总之,每个大公司都想做恶啊)

为什么不看看microchip呢?我印象里,必须购买CD2仿真器才能开发,这样大大提高了开发门槛。所以也只能排除。

Altmel已经被收购了,其独立性很难让人相信。

接下来我关注到新塘、holtek单片机。得到的依然是失望。新塘依赖于keil,holtek则控制仿真器。

剩下的选项似乎不多了,我正在查看silab的bee系列。希望能得到较好的结果。













使用特权

评论回复

相关帖子

司成|  楼主 | 2019-9-13 18:14 | 显示全部楼层
NXP在意图卖身未遂后,我就对这家公司失去了信心。特别是为某云推出专用安全芯片后。

使用特权

评论回复
R2D2| | 2019-9-13 20:38 | 显示全部楼层
430有免费的gcc,cortex-m全系列都有免费的gcc,还有免费开源的DAP仿真器,stm8有免费的sdcc编译器。

所以你的低级借口根本就不存在。

使用特权

评论回复
zjq985062714| | 2019-9-13 21:48 | 显示全部楼层
支持楼上说的,这些根本不是理由。。。

使用特权

评论回复
xyz549040622| | 2019-9-13 21:48 | 显示全部楼层
你又要便宜,又要支持的多,又要免费使用,还不喜欢太多的中间件,那么我想反问,假设存在这么一款MCU,他的厂家靠什么回收成本呢?鱼和熊掌不可兼得。

使用特权

评论回复
司成|  楼主 | 2019-9-13 22:52 | 显示全部楼层
R2D2 发表于 2019-9-13 20:38
430有免费的gcc,cortex-m全系列都有免费的gcc,还有免费开源的DAP仿真器,stm8有免费的sdcc编译器。

所以 ...

在目标上,我们是在寻找一款易用,快速上手的单片机及其开发平台。另外,尽可能避免给使用者一个错误的信息引导。

430是有免费的gcc,但是相信大部分国内使用者还是会用盗版IAR。而如果去TI官网看,则看到的是基于ecplise的ccs开发环境。一个是gcc,一个是盗版的IAR,你觉得大部分国人会用哪个?作为一个推广者,明知道可能犯罪还要去留坑,这也是犯罪。

cortex-M系列则ARM公司有armcc,也是免费的(当然是gcc改的),但是我不知道是否形成了开发群体(或者说一看就容易上手的的方法)。除此以外,arm公司推行中间件的行为是非常明显的,同样用中间件,还是直接上linux好。你如果观看arm官网,相关的培训是收费的。

ARM推荐的也是使用收费的keil,或者是基于eclipse的开发环境。

至于说sdcc,你总可以找到一些很少人用的编译器,但是这些都并不是我们选择它作为推广平台的原因。

目标是快速上手,快速创造价值,而不是给专家用。给专家用,多么难用的单片机都能给整出好用的流程来。

我寻找一款普通人上来就能操纵好的跑车,你说,用奥迪也能开到220公里每小时啊。它有如法拉利好开?

使用特权

评论回复
司成|  楼主 | 2019-9-13 22:58 | 显示全部楼层
xyz549040622 发表于 2019-9-13 21:48
你又要便宜,又要支持的多,又要免费使用,还不喜欢太多的中间件,那么我想反问,假设存在这么一款MCU,他 ...

没说要便宜。单片机自身成本并没有做太多限定,这里的成本是考虑编译器,仿真器的成本。

比如说:microchip的pic系列,假定20元一片,不贵。但问题是必须配套它的cd2,那么开发者付费就得算上这个cd2的价格。整体就要几百了。

再比如说,新塘的8051很便宜,几块钱,但是keil正版授权很贵,接近1万*币,那么这个成本就要算1万*币,这个价格显然是无法普及的。

厂家收回成本靠的是芯片价格,没见靠编译器仿真器挣钱的。但是开发者成本却要算这些。

使用特权

评论回复
R2D2| | 2019-9-13 23:40 | 显示全部楼层
司成 发表于 2019-9-13 22:52
在目标上,我们是在寻找一款易用,快速上手的单片机及其开发平台。另外,尽可能避免给使用者一个错误的信 ...

那你就是在做梦。没有仿真器你想调试成功一个稍微复杂的项目都是异常困难的,为什么STC处于单片机鄙视链的末端?除了8051是个过时落后的体系以外,更大程度上是没有仿真,只能靠下载来验证,RTOS、FAT/FS、TCP/IP、GUI……这些东西在STC上面想要调试成功是完全做不到的,这只是软件上略微复杂了一些而已。

免费编译器最大的问题是没法免费仿真,曾经给某世界五百强供货,要求软件版权,自己调试用IAR,给客户看的都是自己写的IAP+GCC编译,反正已经调试通过了,需求小改也不用仿真器,直接下载就行了。

看你这些稀奇古怪的要求,是从来没做过略复杂工程的小朋友吧。

使用特权

评论回复
评论
R2D2 2019-9-16 11:30 回复TA
@kingTek :浮点底层我没研究过,纯粹浪费时间。倒是96年曾经写过全套51的Q31定点数**算库,没办法当时只有51可用,而8051的浮点运算性能跟屎一样完全没办法用。 
kingTek 2019-9-16 11:26 回复TA
人人都是液体转化而来, R2D2说 “我用51的时候你还是液体。” 本人70年出生,本人没记错的话第一片CPU芯片是因特尔的4004系列,那是1971年,51则更晚,得80年前后,R2D2在1970年就用上了51CPU,痴人说梦吧! 其言语道德修养就是这个档次,水平, 本人不过是针对51其很典型的幼稚思想,多说两句,就事论事,没到人身攻击的程度, 本人的年纪肯定比其大很多,话说到此,封笔...  
R2D2 2019-9-16 10:55 回复TA
@kingTek :我用51的时候你还是液体。 
kingTek 2019-9-16 09:16 回复TA
R2D2先生的“高论”看着有道理,实际错误, 本人做过的系统最复杂的到掌上电脑,最简单的到1K的精简小微控器产品,现在开发产品基本上都不用仿真器了,何故,因为有各种手段,同样能达到仿真器的目的,而且更好, 8051远远没过时,请问R2D2写过几行底层代码,研究过浮点的底层是如何编写的么? 广一个硬件乘法指令,8051比同档的RISC便捷10倍以上, 8051没有仿真,则更...  
憨厚诚实大叔 2019-9-15 09:09 回复TA
哈哈,要求软件授权,不能用盗版软件,大家都是这样做的,自己调试用IAR,给客户看的都是自己写的IAP+GCC编译 
R2D2| | 2019-9-14 00:10 | 显示全部楼层
不用盗版软件,不用仿真器,我也能做到,前提是构筑能够运行IAP和串口通讯的软硬件框架,用IAP下载软件用串口沟通调试信息,问题是你拿到一个全新的单片机结构构筑这个框架,不用仿真器太浪费时间了。你要是教一个学生学会这些东西时间怕是要一年了。

结果很简单,有经验的工程师对你的方案不屑一顾,我还有更便宜的解决方案呢。没经验的学生无法上手。

你的思路两头都靠不上,只有死路一条。

使用特权

评论回复
xcvista| | 2019-9-14 09:20 | 显示全部楼层
R2D2 发表于 2019-9-14 00:10
不用盗版软件,不用仿真器,我也能做到,前提是构筑能够运行IAP和串口通讯的软硬件框架,用IAP下载软件用串 ...

IAP 倒是犯不着。有些单片机系列有开源的仿真器,只要设法 bootstrap 即可。

使用特权

评论回复
xcvista| | 2019-9-14 10:09 | 显示全部楼层
我对您对于中间件的厌恶表示同感。不过并非所有厂家的 ARM 芯片都必须用中间件,是可以只用外设地址描述头文件,直接捅寄存器的。国产的 GD32 现在已经明确摆出了不用中间件就滚的态度,不提供独立的外设地址文件,这个系列我也自然不再考虑选用了。不过 STM32 从来没有如此操作过,虽说设备头文件需要用 Cube 来下载,但下载回来的头文件是可以完全独立于 Cube 使用的。至于你所说的 CMSIS,其核心部分 CMSIS Core 是 ARM 内核内置外设的地址头文件,几乎所有芯片的外设头文件都会需要用到,但是其余部分一概都是可选的,可以直接扔掉。

至于 ARM 的调试仿真器,CMSIS-DAP 是开源的。网上有一个现成的基于 STM32F042 的 CMSIS-DAP 调试器设计,同时 STM32F042 片内还内置了 USB bootloader 可以不用编程器直接从电脑烧录程序。因此说利用这个设计你可以全程不摸编程器,从零出发做一个简易 SWD 调试器。如果你这个是产品,甚至可以考虑直接在板上集成一片 STM32F042F6P6 作为 DAP42 调试器和 USB 串口二合一桥接芯片。ARM 调试软件用的是 OpenOCD 和 GDB,完全开源的方案。同时 OpenOCD 支持多种不同的 JTAG 和 SWD 适配器,不仅是 CMSIS-DAP。

再说 PIC 和 ICD2,你完全可以不需要 ICD2 来调试 PIC 单片机,而是用便宜得多的 PICKit 系列。50 美元左右的 PICKit 4 可以调试 PIC 全系列和 AVR 全系列。如果不考虑 AVR 和部分比较新的 PIC32 的话,PICKit 2 是公开原理图和固件镜像的,你只要有办法烧录主芯片就可以自制。PIC 的编译器需要付费且不便宜,但免费模式的限制仅止于不支持优化;同时 XC16 和 XC32 均为 GCC 修改而来,有公开源代码,且修改源代码删除 license 检测是合法的(基于 GPL 的授权)AVR 的软件工具是 GCC,且有免费的 IDE Atmel Studio。新版 Atmel Studio 支持用 PICKit 4 调试 AVR。

使用特权

评论回复
司成|  楼主 | 2019-9-14 10:27 | 显示全部楼层
R2D2 发表于 2019-9-13 23:40
那你就是在做梦。没有仿真器你想调试成功一个稍微复杂的项目都是异常困难的,为什么STC处于单片机鄙视链 ...

我们的目标是给”没做过复杂项目的小朋友”,几个小时就能获得完全合法的软件版权的机会。

使用特权

评论回复
司成|  楼主 | 2019-9-14 11:08 | 显示全部楼层
xcvista 发表于 2019-9-14 10:09
我对您对于中间件的厌恶表示同感。不过并非所有厂家的 ARM 芯片都必须用中间件,是可以只用外设地址描述头 ...

你是追求自由公义的,但是在芯片厂推动的大潮面前,这种公义只能救自己。

我在寻找能适用于很多人的解决方案,不得到芯片厂的支持是不行的。所以很大程度上是在寻找一个不在沦陷的芯片厂。在其基础上制作开发平台。

这是一场决定我们的下一代是否能自由的获取能量的战争。要相信一个新世界

使用特权

评论回复
vyxc| | 2019-9-14 16:04 | 显示全部楼层
本帖最后由 vyxc 于 2019-9-14 16:13 编辑

你需要arduino。。。

www。arduino。cc

使用特权

评论回复
评论
R2D2 2019-9-14 16:12 回复TA
https://www.arduino.cc 
yjmwxwx| | 2019-9-14 18:19 | 显示全部楼层
司成 发表于 2019-9-14 10:27
我们的目标是给”没做过复杂项目的小朋友”,几个小时就能获得完全合法的软件版权的机会。 ...

我也想学单片机,但是小学文化搞不懂他们那些复杂的工具,你们的工具好用吗?

多少钱啊,能不能免费试用?  

使用特权

评论回复
司成|  楼主 | 2019-9-14 19:23 | 显示全部楼层
vyxc 发表于 2019-9-14 16:04
你需要arduino。。。

www。arduino。cc

这个看过,感觉很诡异。总之就是感觉像玩具

使用特权

评论回复
司成|  楼主 | 2019-9-14 19:24 | 显示全部楼层
yjmwxwx 发表于 2019-9-14 18:19
我也想学单片机,但是小学文化搞不懂他们那些复杂的工具,你们的工具好用吗?

多少钱啊,能不能免费试用 ...

这不在找么,大体就是这么个要求。

钱越少越好。免费试用估计没有,不过估计二手的会很便宜

使用特权

评论回复
xcvista| | 2019-9-15 00:49 | 显示全部楼层
司成 发表于 2019-9-14 11:08
你是追求自由公义的,但是在芯片厂推动的大潮面前,这种公义只能救自己。

我在寻找能适用于很多人的解决 ...

至少在现在的大背景下,有良好商业支持,又能做到最自由公义的是 ARM。ARM 是各大 32 位单片机厂商共同的供应商。不论市场如何波动,只要 RISC-V 没有异军突起,MIPS32 颓势不改,ARM 大可事不关己,高高挂起。不论是 NXP LPC 还是 Kinetis 还是 STM32 还是 Microchip SAM 还是 GD32,到头来都是 ARM 的 CPU + 厂商定义的外设,只要你用了 32 位单片机 ARM 就有版税可收,至于是通过哪家芯片厂来的它不关心。因此只要 ARM 一碗水端平,不要招惹下游单片机厂商(GD 在做 RISC-V,Microchip 手里有基于 MIPS32 的 PIC32 系列)其收入就是稳定的。另一方面,ARM 现在的重点是要打进服务器市场,而这一市场在软件上几乎完全被 Linux 所垄断。其三 ARM 现在收入最丰厚的是移动设备,而移动设备的软件平台最常见的是基于 Linux 的安卓。使用 Linux 必须配合 GCC,否则编译不出内核。因此说在战略上 ARM 必须充分支持 GCC 这类开源工具。我这里推荐 ARM 不是推荐某一个单片机厂商,而是推荐这个单片机核心,无关与厂商。由于 ARM 的商业模式,决定了它必须保持一碗水端平,因此也最不容易沦陷。至于说平台绑定,ARM 这个是 CPU 架构层面的东西,必须绑定才能开始写代码。不过我宁愿绑在一个有多家芯片厂共用的 CPU 架构上,也不要绑在单独某厂商的架构上,因为那就彻底绑定芯片厂了。


如果 RISC-V 有朝一日可以逆袭,其开源本质决定了其自由公义的属性。在此之前,ARM 架构可以不绑定具体芯片厂,是最接近自由公义的选择了。

使用特权

评论回复
xcvista| | 2019-9-15 00:53 | 显示全部楼层
司成 发表于 2019-9-14 19:24
这不在找么,大体就是这么个要求。

钱越少越好。免费试用估计没有,不过估计二手的会很便宜

我前面已经讲了,ARM 有全开源的软硬件工具。从调试仿真器到编译器工具链到 IDE,甚至在算上开发机操作系统都可以完全免费开源,你只要出物料成本就可以用。

我提到 STM32F042 是因为那颗芯片有一个特性,可以不用编程器直接烧录芯片,又同时有一个现成的 ARM 调试仿真器固件可以用,两者结合可以用来做你的第一只全正版 ARM 仿真器。

使用特权

评论回复
vyxc| | 2019-9-15 07:31 | 显示全部楼层
司成 发表于 2019-9-14 19:23
这个看过,感觉很诡异。总之就是感觉像玩具

你首先要搞清楚定位。。。0基础的新手不可能快速入门STM32之类的单片机。。。
arduino就是一个很好的跳板,而且全开源 全免费 ide免费 编译器免费 除了硬件要花钱买。。。但是硬件允许你抄板,自己打样。。。

你现在的状态完全是 不给牛吃草还让牛快跑

免费的肯定有不如收费软件的地方。。。不然人家搞收费赚毛钱。。。你又要免费软件   又要收费的功能  你自己开发一个吧。。。



你可以提供免费的解决方案 用户用不用你的方案与你无关。。。。这并不是你留坑。。。盗版的坑已经被你的免费方案填平了。。。。。你作为推广者,提供免费方案,已经做到位了。。。如果用户有盗版意识,要么购买版权 要么用你的免费方案。。你可以建议用户,但是你无法阻止用户使用盗版。。。如果说从源头上解决盗版(也就是这个平台压根没有收费软件) 那是不可能的。。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

142

帖子

2

粉丝