[图文教程]SlickEdit+IAR打造舒适的M16C(ARM可参考)开发环境
今天弄了一下使用SlickEdit调用IAR工程编译的使用方法,成功分享给大家。刚刚适应了一段时间使用IAR环境开发M16C单片机程序,已经相对比较习惯了,因为之前用ARM的时候接触过IAR,配置使用也比较容易,使用的版本是IAR for M16C/R8C V3.5版本,安装文件为CD-EWM16C-3501.ZIP,本想找个V3.6的,实在找不到,希望好心人提供个啊。
之前开发M16C使用的是TM Tools,也接触过一段时间的HEW,其中TM Tools太古老,好像还是东芝的东西,HEW新倒是新,但是过期后有64K程序的限制,而且感觉也不大好,然后知道IAR支持M16C芯片,就转而向IAR了,而且IAR支持的芯片较多,掌握了一种单片机的编译使用,其他的就容易多了。
IAR作为一个编译器确实不错,支持各类单片机的程序编译,同时对地址配置等也通过XCL文件,比较灵活,但是其编辑器确实不敢恭维,实在不怎么样啊,虽然也一直在改进,但毕竟不如人家专业的程序编辑器好用,对于编辑器,身边很多人喜欢用Source Insign,但是我怎么都不习惯那忽大忽小的字体,以前一直是使用VC+VCA插件下进行的,感觉还不错,不过后来发现了一个更强大专业的跨平台编辑器SlickEdit,毅然投入使用,功能确实强大,代码格式化,自动补全,程序跳转,书签等等功能都有,还跨Windows/MAC/Linux平台(虽然目前只在Windows上用),更强大是有各种如VIM/VC环境的模拟,到现在还是在摸索当中。当然这个软件也有个不好的地方,单这编辑器安装包就100多MB,实在是有些大,启动也稍慢,不过功能实在强大,忍了。
有了好用的编译器IAR,又有强大的编辑器SlickEdit,但是还是头疼:每次修改程序的时候,都是在这个窗口修改,然后切换到那个窗口去编译,发现错误之后,再跑回编辑器窗口修改,还得找在哪个文件的哪一行错了,实在辛苦。
因此想,以前听说UltraEdit就能通过调用命令行把自己变身成一个编译器,SlickEdit这么强大,怎么可能不行?于是网上搜索,果然有人去做过相关的尝试啊,前人栽树,后人就来乘凉了,对我帮助较大的文章来源这里:
http://blog.csdn.net/xuzhenglim/article/details/6938132
好,废话说太多了已经,直接开将怎么弄:
1. 自然是得先安装好IAR和SlickEdit。
2. 设置一个IAR的bin文件夹路径的环境变量,如IAR_PATH_M16C(后面要用到,如果不想设可以跳过这步,后面直接用程序路径即可)。
额,环境变量怎么设置? 好吧,默认肯定都会,不会的参考以下操作(Window7系统):
说明一下,这里的值为IAR的common内的bin文件夹路径,因为我们要用到该路径下的一个程序文件IarBuild.exe通过命令行来执行IAR项目的编译操作。
如我的设置如下:
变量名:IAR_PATH_M16C
变量值:d:\Program Files (x86)\IAR Systems\Embedded Workbench 6.0\common\bin
3. 打开SlickEdit,建立项目模板,这样配置完模板一次后,以后直接使用模板建项目即可自动实现编译IAR的功能,具体操作如下:
此处说明一下,我将工作目录选在..\是因为习惯将SlickEdit的工程相关的文件(一共4个:.vpj,.vpw,.vpwhist,.vtg)单独放在一个名为SlickEdit的目录下,而该SlickEdit目录则放在IAR的工程文件夹下面,因此这里设为..\是为了设置工作目录为IAR的工程文件夹目录,这里的工作目录设置,在之后将被%rw(项目工作目录)调用。
之后的includes路径,我设置的如下:
d:\Program Files (x86)\IAR Systems\Embedded Workbench 6.0\m16c\inc
d:\Program Files (x86)\IAR Systems\Embedded Workbench 6.0\m16c\inc\clib
d:\Program Files (x86)\IAR Systems\Embedded Workbench 6.0\m16c\src\lib\clib
IarBuild.exe命令行参数参见IAR的帮助文档,在安装文件夹的doc内,直接截图过来如下:
用以上9~13步骤建立几个工具,我的Tool有以下:
Debug配置下:
Build:
"%(IAR_PATH_M16C)\IarBuild" %rn.ewp -build Debug -log warnings
Make:
"%(IAR_PATH_M16C)\IarBuild" %rn.ewp -make Debug -log warnings
Clean:
"%(IAR_PATH_M16C)\IarBuild" %rn.ewp -clean Debug -log warnings
Release配置下:
Build:
"%(IAR_PATH_M16C)\IarBuild" %rn.ewp -build Release -log warnings
Make:
"%(IAR_PATH_M16C)\IarBuild" %rn.ewp -make Release -log warnings
Clean:
"%(IAR_PATH_M16C)\IarBuild" %rn.ewp -clean Release -log warnings
PS:截图里还有一个Down,本来想做自动下载的,不过使用的FDT串口下载工具好像没有命令行操作方式,其他芯片如ARM使用Jlink的话应该可以再增加一个下载工具,参考以上及Jlink工具的命令行帮助实现。
这个步骤属于个人喜好,可有可无了,它默认会自己有一个分类,不需要的跳过这段,我的设置如下:
Source Files - 用来编译的源码,如C等
*.c;*.C;*.cc;*.cpp;*.cp;*.cxx;*.c++;*.s;*.asm;*.a30;
Header Files - 包含的头文件,配置等
*.h;*.H;*.hh;*.hpp;*.hxx;*.inc;
XCL Files - IAR的Link配置文件,单独放
*.xcl;
Prj files - IAR项目相关的一些文件类型
*.dep;*.ewd;*.ewp;*.ewt;*.eww;*.dep;*.dbgdt;*.dni;*.bat;*.wsdt;*.wspos;*.mtm;*.mak;
Obj Files - 编译源码后生成的中间目标文件
*.pbi;*.r34;*.lst;*.cout;*.pbd;*.browse;*.r30;
Slick Files - SlickEdit自己的项目文件
*.vpj;*.vpw;*.vpwhist;*.vtg;
Out Files - 最终输出的可执行文件
*.map;*.mot;*.x30;*.bin;*.hex;*.s19;*.a34;
Oth Files - 其他文件
*.*
4. 建立一个完全的IAR项目,并进行相应的配置,就跟只用IAR开发一样的了,就是最后要生成一个xxx.ewp的IAR项目文件。
一句话说,这个IAR项目要在没有SlickEdit干预下,自己是完整的,能够编译链接的,要是这个都没调明白,还是先弄好IAR再说。
5. 使用之前建立的项目模板“IAR for M16C Projects”建立一个SlickEdit的项目,建立项目跟之前建立项目模板类似,通过Project->New..
打开SlickEdit的工程目录,查看其工程按之前设置的后缀进行分类管理:
点击Build,将自动调用IarBuild进行编译,并在下发的Build窗口中输出编译信息:
故意弄个错误出来,去掉一个分号:
双击错误提示行,直接跳转到错误产生文件的错误行281内:
修改后直接Ctrl+M再次编译,无错误。
再试Make及Clean的功能,同样有效,直接在SlickEdit的窗口里修改程序,然后编译,跳到错误行改错,方便许多。
注:细心的同学会发现,为什么Build会有个Ctrl+M的快捷方式呢?这个也不是太清楚,可能因为他叫Build比较特殊,因为查看快捷键绑定,发现Ctrl+M绑定的操作是Project-build:
依此类推,再查看其它project-...的操作项,还有好多,可能叫不同的名字再绑定快捷方式就可以了,有兴趣同学可以试试,我只要这个Ctrl+M的Build就够了:
(快捷方式查看及修改:Tools -> Options -> Keyboard and Mouse -> Key Bindings -> 查看/设置)
PS:这些project-...的操作除了可以通过绑定快捷键方式实现快速调用外,还能做成一个个的工具按钮放在界面上的工具栏的哦,SlickEdit这个软件的定制性确实是太强太强了,再次感慨下...
6. 总结:
这里其实跟M16C啥芯片的每太大关系,主要是IAR编译器,因此理论上所有IAR支持的芯片都可以参考使用这个方法用SlickEdit作为编辑器+编译操作工具来开发,其他相现在如火如荼的ARM,老8051,AVR等都可以试试。这里主要值得称道的是SlickEdit的命令行调用和错误信息捕抓功能,IAR周到的IarBuild.exe命令行项目编译功能,从这里就看到程序支持命令行操作的重要性啊,好多程序都忽略了这个功能,殊不知有许多场合需要这种原始的命令行调用来实现方便的功能,像我用的下载软件就没这功能,还的点啊点,郁闷~
这个方法有个不算缺点的缺点吧,就是提前是必须要先用IAR建立一个正确配置的工程,然后再以这个工程为基础进行编程编译(建立完工程后,IAR就可以关掉了,只使用SlickEdit即可,除非要修改编译选项之类的还是得进IAR),一句话概况就是只是简化了软件调试过程中来回切换,最大化的使用了有效编辑器SlickEdit的功能,提高效率。
最后,SlickEdit还是很强大的,还在摸索中,但是现在来看比较推崇有以下功能:
a.超强的自动代码补全,支持各种复杂的数据结构,什么包含结构体的共同体的都没有问题;
b. 代码格式化Format功能,一键操作保证所有代码的格式一致,既美观又方便;
c. 文件模板Template功能,支持自定义程序文件模板,新建程序只需从模板建立,方便,而且能保证一致;
d. 自定义代码插入功能Alias,能定义一些自己的操作,可以实现快速建立函数等;
e. 各类编辑器的环境模拟,目前正在习惯其VIM的操作环境;
f. 有一个ReName的功能,可以一次性搞定变量/函数/宏/...的修改,而不用担心会影响到其他区域,即能自动识别该标号的作用域,并只修改有效作用域内的名称,非常棒;
g. 支持注释文档,如JavaDoc式的/** */,并且会自动在鼠标放在函数上时进行文档格式化提示;
h. 支持预编译的查看摸索,对于由一堆#define宏来裁剪的程序,可以隐藏掉被该宏裁剪掉的代码,只看编译器能看到的有效代码(有点不够完美的就是好像每次只能处理一个宏?)
i. 还有就是今天试的功能,能够通过命令行调用编译器进行程序编译,更完美的是能自动扑抓编译输出信息,并定位错误代码位置。
j. 其他还有许多好用的小功能了,如强大的快捷键、漂亮的配色、支持n多的语言、还跨平台啊等等,听说还有自己的一个Slick-C语言的解析处理,还没研究。
完全手打啊,累够呛,部分是参考网上资料而来,分享给大家,希望对大家有帮助,应该完全可以用到其他IAR支持的芯片上,SlickEdit这个编辑器着实不错(除了大了点),也希望大家能多交流交流。
最后,做成PDF,有需要的可以下载下来看。
这个值得参考。 多谢了。mark 这个太方便了,虽然之前也用过Slick 请问楼主,图片是用什么软件编辑的? 不错,就是觉得有时候 slickEdit反应有点慢,比起notepad++ 前人栽树,后人乘凉,支持 楼主的研究精神可嘉。我自己一直弄IAR+SI不成功,屡败屡战,屡战屡败。咱们组队怎样? 不错,我一直是使用SlickEdit调用MDK来编译STM32,很方便,比MDK方便多了 这样类似的还能设置其他的开发环境,谢谢 GunGun 发表于 2015-1-31 08:05
这个值得参考。
嘿嘿,也是参考别人的,源于网络,分享网络~~ yzh 发表于 2015-1-31 08:33
这个太方便了,虽然之前也用过Slick
是挺方便的,SlickEdit还是很强大的,不知道正版卖多钱,感觉做这个软件的相当专业,很人性化(配置性太强同样意味着不够傻瓜化,需要一个熟悉的过程),之前用怎么现在放弃了呀~~ dswkl11 发表于 2015-1-31 08:36
不错,就是觉得有时候 slickEdit反应有点慢,比起notepad++
是的,功能强,然后就是大,不过还好只是启动比较慢,用起来倒是还好,notepad++好像还是开源的,加上插件功能也挺强的,一般用来看单个文档用~ yyt1372 发表于 2015-1-31 08:40
前人栽树,后人乘凉,支持
哈~后人边乘凉边栽树,让更多人“乘凉”哈 本帖最后由 lantian0099 于 2015-2-1 09:54 编辑
guolun 发表于 2015-1-31 09:11
楼主的研究精神可嘉。我自己一直弄IAR+SI不成功,屡败屡战,屡战屡败。咱们组队怎样? ...
SI是Source Insight么? 好像一般编辑器都支持这种命令行调用的,参考下调用IarBuild.exe应该可以实现的哈 cjr82123 发表于 2015-1-31 08:33
请问楼主,图片是用什么软件编辑的?
哈?? 关注的重点竟然是截图软件啊...
这个截图软件也是在论坛里 看到有人发帖推荐的,叫 FSCapture,我用的7.9汉化绿色版,功能还是比较强的,完全够用。
直接附件传上来,可以试试:
lantian0099 发表于 2015-1-31 16:13
哈?? 关注的重点竟然是截图软件啊...
这个截图软件也是在论坛里 看到有人发帖推荐的,叫 FSCapture,我 ...
非常感谢。 这个强大,可不可以直接用source insight john_8 发表于 2015-1-31 19:26
这个强大,可不可以直接用source insight
理论上应该是可以的,只要能调用命令行执行IarBuild就行,可以尝试一下,就是不知道是否支持错误捕抓自动定位,然后还是这几行命令:
Debug配置下:
Build:
"%(IAR_PATH_M16C)\IarBuild" %rn.ewp -build Debug -log warnings
Make:
"%(IAR_PATH_M16C)\IarBuild" %rn.ewp -make Debug -log warnings
Clean:
"%(IAR_PATH_M16C)\IarBuild" %rn.ewp -clean Debug -log warnings
Release配置下:
Build:
"%(IAR_PATH_M16C)\IarBuild" %rn.ewp -build Release -log warnings
Make:
"%(IAR_PATH_M16C)\IarBuild" %rn.ewp -make Release -log warnings
Clean:
"%(IAR_PATH_M16C)\IarBuild" %rn.ewp -clean Release -log warnings
然后就是看Source Insight里面的工程名用什么定义了,替代%rn(SlickEdit里的工程名引用)。
--------------------------------------------------------------------------------------
另:今天看帮助文档还发现SlickEdit里的配置Debug/Release也有一个引用%b,所以可以统一用%b来自动区分,如下:
Build:
"%(IAR_PATH_M16C)\IarBuild" %rn.ewp -build %b -log warnings
Make:
"%(IAR_PATH_M16C)\IarBuild" %rn.ewp -make %b -log warnings
Clean:
"%(IAR_PATH_M16C)\IarBuild" %rn.ewp -clean %b -log warnings 谢谢楼主,挺详细的!!! yinglively 发表于 2015-1-31 09:57
不错,我一直是使用SlickEdit调用MDK来编译STM32,很方便,比MDK方便多了
大神,请问你是怎么做到的啊,求指点 一直用sk,格式化很实用。但是看代码关联没有si好 有木有MDK的? 我是用的SlickEdit经常卡死推出,也不知咋的啦。转用UE了 lantian0099 发表于 2015-2-1 10:04
理论上应该是可以的,只要能调用命令行执行IarBuild就行,可以尝试一下,就是不知道是否支持错误捕抓自动 ...
谢谢,回头试下 markSlickEdit+IAR 我就想问下,遇到调试的时候怎么办啊?要是有调试功能的话,就更完美了 楼主,我按照你那个来,结果还是有问题
问题出在第二步,我点击那个按钮后,设置好了,再保存的时候,弹出对话框无法保存....... hushaoxin 发表于 2015-2-9 18:09
楼主,我按照你那个来,结果还是有问题
问题出在第二步,我点击那个按钮后,设置好了,再保存的时候,弹出 ...
这个,第二步是哪步呀?环境变量? 那个按钮是哪个按钮呀...
我的理解是你在SlickEdit新建工程模板的时候,建立完成后,点“OK”无法保存,是这样么?
是不是Win7系统,然后“我的文档”又放在默认的C盘目录下呀?试试以管理员身份打开SlickEdit看看?
之前设置按键绑定的时候好像也遇到过这种问题,说不让保存(也可能是软件BUG,现在换了2014(V19.0)版好像没出现过)。 lantian0099 发表于 2015-2-9 21:19
这个,第二步是哪步呀?环境变量? 那个按钮是哪个按钮呀...
我的理解是你在SlickEdit新建工程模板的时候 ...
楼主,我用的是WIN7,slickedit 19,每次新建完工程模版之后就报 “path not find”... 无法保存。 znsword 发表于 2015-2-10 00:32
楼主,我用的是WIN7,slickedit 19,每次新建完工程模版之后就报 “path not find”... 无法保存。 ...
Win7下SlickEdit的配置默认放在“我的文档”下的“My SlickEdit Config”文件夹下,像我的:
是“d:\Users\xxx\Documents\My SlickEdit Config\” 其中xxx是用户名。
如果你电脑的“我的文档”是默认放在C盘的话,试试以管理员身份打开SlickEdit,好像Win7不允许非管理员读写C盘的东东。
不过,为看你提示的“path not find”,可能是你这个“My SlickEdit Config”文件夹路径里面有中文,是否用户名是中文的呢?
lantian0099 发表于 2015-2-10 08:38
Win7下SlickEdit的配置默认放在“我的文档”下的“My SlickEdit Config”文件夹下,像我的:
是“d:\User ...
我是以系统管理员方式启动的,并且更改了配置文件的存储目录:“E:\Projects\AVR\My SlickEdit Config”
可是新建工程模版之后,点击"OK",就出现了下面的对话框。
不明白为什么会是"D:\Program Files\SlickEditV19.0.1",尝试过更改该目录,没有用,换个目录还是写不进去。
另外,我在帮助文件中看到这种工程模版是保存在配置文件夹下的"usrprjtemplates.vpt"中,可是在配置文件夹下面根本找不到该文件。不知楼主的配置文件夹内是否有该文件? 本帖最后由 hushaoxin 于 2015-2-10 11:11 编辑
lantian0099 发表于 2015-2-9 21:19
这个,第二步是哪步呀?环境变量? 那个按钮是哪个按钮呀...
我的理解是你在SlickEdit新建工程模板的时候 ...
感谢你的回答,我的情况和32楼是一模一样的,我没有中文用户名,管理员身份运行的程序,不管是哪个盘都不能保存 步骤够详细的,学习了 znsword 发表于 2015-2-10 09:52
我是以系统管理员方式启动的,并且更改了配置文件的存储目录:“E:\Projects\AVR\My SlickEdit Config”
...
刚也去看了一下帮助文档,可能这里有你要的信息:帮助文档->Appendix->Configuration Directories and Files
这里说,当打开了一个SlickEdit实例程序时,若在另一个实例程序里保存配置,可能会保存失败,弹出错误,不过好像不是这个问题。
然后默认的配置文件保存路径:
Windows: .../My Documents/My SlickEdit Config/Editor_Version/
Mac: $HOME/Library/Application Support/SlickEdit/Editor_Version/
Linux, UNIX: $HOME/.slickedit/editor_version/
比如我的就是“d:\Users\xxx\Documents\My SlickEdit Config\19.0.1\”,你说的这个文件我这就在“d:\Users\xxx\Documents\My SlickEdit Config\19.0.1\usrprjtemplates.vpt”,确实有。
可以通过Help → About SlickEdit来查看你的配置文件路径,看是不是系统默认的“我的文档”下的路径,看你的截图好像不是... lantian0099 发表于 2015-2-10 21:25
刚也去看了一下帮助文档,可能这里有你要的信息:帮助文档->Appendix->Configuration Directories and Fi ...
起初我也认为WIN7下不能向C盘写入文件,就更改了配置文件的位置,但是发现没有用。楼主所说的方法在18.0.2上是可行的。个人觉得可能跟破解方式有关。楼主用的是什么破解? lantian0099 发表于 2015-2-10 21:25
刚也去看了一下帮助文档,可能这里有你要的信息:帮助文档->Appendix->Configuration Directories and Fi ...
能把你的usrprjtemplates.vpt这个文件上传一下吗?我的也没有这个文件的 znsword 发表于 2015-2-11 10:04
起初我也认为WIN7下不能向C盘写入文件,就更改了配置文件的位置,但是发现没有用。楼主所说的方法在18.0. ...
哦,原来是已经改过了啊,那这个还真没碰到过哦,我用的是下面这个,也是网上找来的,传上来吧,可以试试。
lantian0099 发表于 2015-2-11 17:20
哦,原来是已经改过了啊,那这个还真没碰到过哦,我用的是下面这个,也是网上找来的,传上来吧,可以试试 ...
我也这个破解但是怎么做都不成功 hushaoxin 发表于 2015-2-11 10:38
能把你的usrprjtemplates.vpt这个文件上传一下吗?我的也没有这个文件的
这个文件传上来有用么?
不过好像这个文件就是自定义的项目模板存储的地方,说不定可以直接替换这个文件就能移到别人电脑里用了,不用一步一步设置那么麻烦了。
下面这个是我的,可以直接拷贝进去看看能不能直接用,可以的话还真的省得一步步来了。
cece_co 发表于 2015-2-11 17:23
我也这个破解但是怎么做都不成功
是不是没弄好呀? 我就成功了呀,不过这个好像没有使用说明。
是需要把压缩包里的.exe文件放到SlickEdit的安装目录下的win文件夹下,得跟vs.exe在同一个目录,然后在Generate跟Path就行了。
像我的就是放在“d:\Program Files\SlickEditV19.0.1 x64\win”目录下,再破就OK了。
不知道你是不是这么弄的,如果不是的话,再按上面说的试试哦~
lantian0099 发表于 2015-2-11 17:30
是不是没弄好呀? 我就成功了呀,不过这个好像没有使用说明。
是需要把压缩包里的.exe文件放到SlickEdit ...
谢谢搞定了,原来网上查的都说还要用hexedit改二进制文件,用你的方法成功了 按照楼主所说的破解方法和破解文件试了下,没用!最后直接把楼主上传的usrprjtemplates.vpt拷贝到配置文件夹下,搞定。楼主配置的工程模板全能看到。看来以后直接上传该文件即可。 lantian0099 发表于 2015-2-11 17:30
是不是没弄好呀? 我就成功了呀,不过这个好像没有使用说明。
是需要把压缩包里的.exe文件放到SlickEdit ...
把你的配置文件放入 默认的我的文档中就可以,放入到修改后的位置就不行。 多谢,正在学习! xiaodong.zhu 发表于 2016-1-23 21:24
多谢,正在学习!
现在用在ARM和IAR上,也是非常好用的~可以体验一下 谢谢分享!
页:
[1]