IAR自带的IDE只有简单的语法高亮,用做开发STM32时经常需要查阅函数库头文件看函数原型,跳来跳去的不是很方便。而eclipse,slickedit之流又太占资源,我手上的两台笔记本两台台式机都只有512M DDR333的内存,机器性能可想而知。又想马儿跑,又想马儿不吃草,那只有自己动手丰衣足食了。
使用SciTE来打造适合自己的低消耗高效率的开发环境。用的是SciTE的静态函数提示功能
编写特定的API文件,就可以开启相应的语法函数提示
SciTE自带的C.API只有标准C的部分函数,要得到STM32固件库的函数提示,就得使用ctags来生成STM32固件库的API。
SciTE下载地址:
http://www.scintilla.org/SciTE.html
ctags下载地址:
http://ctags.sourceforge.net/
使用如下参数生成STM32固件库的API文件,固件库的路径根据你自己的来修改,生成的api文件默认在ctags目录下。
ctags参数:
ctags -f stmlib312.api --c-kinds=+p-cdefglmnstuvx -N D:\stm32f10x_stdperiph_lib\Libraries\STM32F10x_StdPeriph_Driver\inc\*.h
ctags很快就会跑完,生成的文件会是这个样子
(原文件名:1.JPG)
这样子SciTE还不能正确识别,那么再用SciTE的正则表达式去掉无用的信息
提出所有函数:
搜索\(.*/^[ ]*[_a-z0-9]*[ ]*\)\(.*\)\($/.*\)
替换为\2
(原文件名:2.JPG)
使用正则替换完了以后会是这样
(原文件名:3.JPG)
再删除头6行CTAGS的信息
好了!STM32固件库的API文件完成了!把它放到SciTE的主目录下,再编辑SciTEGlobal.properties,加上下面几行
api.*.cxx=$(SciteDefaultHome)/stmlib312.api
api.*.c=$(SciteDefaultHome)/stmlib312.api
autocompleteword.automatic=1
autocomplete.choose.single=1
autocomplete.ignorecase=1
重新启动SciTE,随便写一个C文件,看看语法提示的效果,输入首字母以后按Ctrl+i
(原文件名:4.JPG)
继续编写看参数提示
(原文件名:5.JPG)
好了,带STM32固件库函数提示的编辑器SciTE已经打造好了,现在把它整合进IAR。
两种方法,一个是直接把SciTE定义为IAR的外接编辑器,IAR--Tools--Option--Editor--Use External Editor
(原文件名:6.JPG)
另一种是作为外部工具来调用,Tools--Configure Tools......
路径写你自己的SciTE的路径,参数写$FILE_PATH$,这样就可以了
(原文件名:7.JPG)
我个人比较倾向于后者,用IAR组织好项目的文件,然后调用外部工具的SciTE来编辑,完了回到IAR里编译调试。
(原文件名:8.JPG)
到这里就配置完成了,以后即使STM32固件库再更新,也只用CTAGS再跑一遍做出新的API文件就行。毕竟是预处理好的静态API,比起eclipse,slickedit的资源消耗少了很多很多。
用SciTE打造带函数提示的STM32开发环境
最新推荐文章于 2020-06-18 21:41:42 发布