对于mbed说几句
如果你们还记得我曾经为了倒腾 gnu arm,就为了能在linux下无障碍地倒腾单片机,那就知道其实我早就对mbed有所耳闻。
但一直以来因为这样那样的关系我一直没有去正儿八经用它,一来,gnu arm我搞通了,二来,对于这是个在线编译器 我一直非常在意它没有 离线版,所以我一直没把这个作为一个多么正式的选项。
但是这次,如同上述的原因,我还是试了一下,真的没想到会这么方便!把我惊呆了。
整个过程,几乎不到10分钟,虽然那的确是因为有 link sprite官方wiki页的详细解释和step by step,但是,说实在的,这个速度还是远远超出了我的预期。
真的太快了。
我有过在win7下 配制 nrf51822 使用mdk5的经验,那真的是方便太多了。
在mdk5下,你要安装sdk,你还要安装sdk pack,什么鬼的,我是看着同事熟悉的情况下,他也搞了差不多有半个小时还不带下载时间计算在内。
但是,mbed也有两个问题我很在意。
首先,它编译后是产生一个hex文件下载,然后烧录到片子里去,这个其实没什么,或者说非常好,就算hex文件名字重复神马的,除非我单独设置好文件夹路径。
但这些都还是小事,我就想问一件事,如果我要debug怎么办呢?
我还没有具体去看 mbed debug该怎么做,但它是一个 网页端的,想来至少需要一个gdb server什么的。
除非mbed不是使用gnu arm工具链,但不管如何,它肯定需要一个类似的 调试工具。
另一件事,mbed库似乎是以cpp写的,以至于我在step by step的时候,在建立main文件的时候,我刻意犯了一下二,故意做成main.c而不是main.cpp。
但是,就导致了编译不通过,对于cpp我只懂得一些非常基本的语法,也基本没写过什么程序。
所以对于出现的usenamespace之类的错误,虽然我知道,这是什么命名空间,但我无法猜出是什么问题。
我试过简单百度一下 mbed如何使用c源文件,但没看到什么靠谱的信息,也许后续要花些时间。
这里我不去扯什么在单片机上用cpp的优劣,但我的理由其实非常简单:
因为这是一门我不熟悉,也不打算花时间去熟悉的预言。
所以至少暂时,我会选择不使用mbed.
尽管它的方便让我非常震惊。
所以,接下来,我还是会搭建 mdk环境,然后尝试别的编程。