不知道你是怎么想的,STM32不支持LINUX!
我觉得ARM+LINUX门槛高,做出来的东西不容易被山寨。
现在很多东西都可以用51、STM32来做,但是你的好想法,好创意都容易被其他公司给山寨去。
当然ARM+LINUX也会被山寨,但是要考虑山寨的成本。
我之前的对手公司,准备山寨我公司LINUX创意的产品,但是开发难度大,周期长。不能有效抢占市场,他们来挖人也挖不到,后来它们用UCOS来做。LINUX的强大是它的网络,用UCOS来山寨,再怎么厉害,其他的外设还好说,但是网络那关永远过不去。这就是一个槛。
现在驱动转做软件的大有人在,做好一个驱动基本就不用怎么大改了,而应用就不同了,不同的客户不同的应用。应用的需求大,所以很多做驱动/硬件的转软件。
但是,一般牛B的软件工程师大多是驱动/硬件工程师转过去的。因为他们知道如何将应用程序很好的控制硬件。
你可以搜索一下eclipse开发环境的搭建,我试过可以搭起来,也可以编译,就是后来没时间弄jlink下载这块;还有就是eclipse环境下的开发包与STM32CUBE环境下的开发包是一样的,多了一层硬件描述层,我用不惯,这也是为什么我没有继续用的原因。
文本编辑、STM32项目管理和编译会使用Eclipse +
CodeSourcery进行,而调试和下载使用stlink-master(stlink-v2)。因为实际上stlink-master的功能openocd都包含了,两个程序任意使用其一既可。
第一步:安装Codesourcery;
第二步:安装Eclipse,以及它的ARM插件;
第三步:安装stlink-master;
第四步:连接好硬件,上电;
调试第一步:执行st-util(stlink-master安装的可执行文件);
调试第二步:执行arm-none-eabi-gdb(CodeSourcery里面的可执行文件);
调试第三步:在arm-none-eabi-gdb命令提示符下输入
(gdb) target extended-remote : 4242
(gdb) load
(gdb)
run
遇到问题的时候,参考各软件的README文档。
st-util和arm-none-eabi-gdb的使用方法见它们的help。