source insight的强大代码追踪、着色功能相信用过它的朋友深有体会。我也是学习Linux开发的时候用它来导入Linux内核,查看编辑代码,后来发现越来越喜欢用它了,于是试着想用来开发MDK+STM32,MDK的代码追踪功能和source insight相比,简直不是一个档次的,呵呵。好了,废话不多说了,下面是主要步骤:
1、在source insight下新建一个工程,将代码存放的位置定位到STM32的MDK工程目录的源代码下。见下图
2、在MDK下,找到project->option for target "xx"->output,勾选 Create Batch File选项,即编译的时候生成一个批处理文件,该批处理文件可以独立运行来自动编译整个工程源码。如下图所示:
3、编译整个MDK工程(记得是rebuild all target files),在MDK工程根目录下会生成格式为xx.BAT(xx为你的工程名)的批处理文件,用记事本打开批处理文件,并添加目录跳转的指令,cd 到MDK工程目录,如下图示。
4、然后再回到source insight,找到Options->custom commands 在command:下拉框下选择build projects ,Run输入栏里填上
xx.BAT批处理文件的绝对路径。注意:Output复选项的Paste Output不能勾选,这个选项会将编译的信息写入到你的源码C文件里,导致代码混乱,极易出错。然后点击Keys,可以设置build projects的快捷键,这里我讲它设置为F7按键。如图所示
5、OK设置完毕,试一下效果,按F7快捷编译,或者直接view->Toolbars->Toogle build Toolbar在工具栏显示Build Projects按钮,也可以编译工程。编译效果如图:
最后,有一点比较坑的是,source insight 3.5这个版本不支持长路径的外部命令,当我把MDK工程目录设置的比较深时,调用F7编译会弹出以下错误对话框,见图:
解决方法是:你可以将你的批处理文件拷贝到某个盘的根目录往下三级子目录以内便可以顺利通过编译。
虽然,source insight的语法着色、加亮、代码追踪、提示功能比MDK强大,但是当你出现语法错误编译通不过时,错误定位功能貌似用不了,这点比较遗憾;另外编译完了,要通过jlink等仿真器去仿真、下载程序仍然需要回到MDK环境下,不过也有方法可以在source insight下实现下载,但猜测需要自己写一个脚本程序或小软件,在脚本里去调用STM32的烧写工具比如jflash、官方的串口下载工具实现hex的烧写。还有一点需要注意的是该方法调用的批处理每次都要完整的编译整个工程的源代码(调用rebulid all target files),不管你改变还是未改变源码,这样比较浪费时间,因为有时我们仅仅改变了一个C文件,当你的工程C文件很多、代码量很大、而且你的电脑CPU配置不够高的时候,编译整个工程需要好几分钟O(∩_∩)O~ 如果不习惯这种编译、烧写方式,你大可以把source insight当做查看、编辑源代码的工具,编译、下载程序仍然回到MDK里。
最后,生成BAT批处理文件后,如果后续不要再更新它,需要将MDK工程的
Create Batch File选项去掉,否则会出现每次按F7(build,对修改的文件编译、连接)时,它会编译所有的源代码/(ㄒoㄒ)/~~
阅读(2989) | 评论(0) | 转发(0) |