传统的IDE功能强大,特别是调试功能,但是如今,其它软件的发展,大家感觉到传统的IDE用户交互、编辑界面、编码效率不够友好;或者为了降低成本,需要使用开源工具
于是,有人选择使用IDE用来调试,用其它编辑器编码(比如source insight 、sublime text3、notepad++、atom、Eclipse等),来提高效率;或者使用其它的工具链来配合编辑器达到自制一个IDE的效果
当然还有一些改进得比较好的免费IDE和收费的IDE,比如coocox
这里是在Eclipse上编写ARM程序
在Eclipse上编写程序方法:
使用GCC、G++、makefile的方式进行手动编码,一切靠自己
使用Eclipse+插件(工具链等)的方式来实现
当然如果不需要编译就直接用啦
这里是使用GNU ARM Eclipse plug来简化一系列的操作
GNU ARM Eclipse 是一个插件,会帮助自动生成makefile,管理芯片包(现在使用的Keil的包),提供例示程序,以及提供编译、调试的一个框架,只要再安装一些必要的软件(工具链、build工具(比如make)、调试组件)(安装插件时不会一同安装,需要手动安装)就可以进行编译、调试
所以主要教程来自于GNU ARM Eclipse wiki
建议直接看这个
下面是安装的时候的笔记
(一)下载和安装
安装java、配置环境变量
下载Eclipse IDE for C/C++ Developers 环境
解压Eclipse, 下载GNU ARM Eclipse Plug-in最新版本
github组织地址
插件wiki(建议直接看这个,导航在右边)(如何安装插件)
工具链 ,GNU ARM Eclipse Plug-in 插件支持的工具链有很多,如下
比如GCC ARM Embedded(安装教程)不要设置环境变量!!!!!!不带make,所以用这个还需要下载一个make功能的软件(识别makefile)
或者 sourcery g++ lite 的EABI版本 ,不用再下载make,自带,不过名字不是make,是cs-make安装build工具(make等)
安装芯片包
调试器软件安装(J-Link)
(二)建立工程
在trace output选择semihosting,就可以在Eclipse的控制台中打印调试信息了
下两步设置工程文件夹等可以默认
如果遇到找不到make命令或者cs-make命令 就是没有make程序的原因,或者填错了名称,如果使用sourcery g++ lite EABI,在工程设置(project-->properties-->C++build-->settings)中改成cs-make就行了,如下图
但是如果是使用不带make程序的工具链,要手动安装,方法见(一)中的build tool的安装(或者使用MinGW或Cygwin(初次接触可自行搜索并了解)进行安装 比如cygwin安装这个
) 安装完后可以设置环境变量,最终在控制台输入 make -v 能看到make的版本信息为止(插件官方不推荐) 或者在Eclipse中设置build path,如下图 然后进行编译,如果步骤没错,就可以了
工程设置:
只链接用到的代码,降低二进制文件大小
其它设置,参照模板内的,如果自己建新的空工程
(三)下载、调试ST-Link
下载
安装STM32 ST-LINK Utility
Windows:官网直接下载安装即可
Linux: 需下载源代码自行编译安装配置下载程序(使用ST-link utility ,只能下载程序,不能调试的方法,使用GDB进行调试的在后面)
Run-->External tools-->External tools Configurations 然后左上角新建一个配置,按照下图设置点击这个就可以下载了
可能会出现这个问
题在project-->clean处清理一下工程就行了
这是正在下载
下载完毕
调试
下载openocd(其它地址)或者找插件内的(我没找到ㄒoㄒ
然后解压到一个文件夹
选择DebugConfigurations
config options 中的内容来自于openocd文件夹下,根据不同的芯片和st-link版本选择不同的文件,都在同一个文件夹下 Executable中的内容是openocd.exe可执行文件的地址,可以使用变量,如图,或者直接用绝对地址比如D:Program Files (x86)openocdopenocd-0.9.0bin-x64openocd.exe Executable中的内容是GDB的位置,使用变量,如图;或者绝对地址如:C:Program FilesGNU_ARM_toolchainbinarm-none-eabi-gdb.exe
如果变量忘记了没关系,有提示,指到前面的文字
这样st-link调试和下载就基本可以了,效果图
关于寄存器查看,可以安装keil的包(GNU ARM Eclipse插件中含有这个插件,只需要手动更新、下载包就行了),也可以使用插件
①使用GNU ARM Eclipse中的包管理:
使用方法(可能不好下载,多试几次,我第一天下了好多次不行,第二天就可以了。。。。。)
效果:
②使用插件:插件官网:
安装:
Help-->Eclipse marketplace出现下图 搜索embsysregview,然后点击Install。。然后下一步下一步下一步。。。。
J-Link
方法:
似st-link 只是配置文件不同
使用JLinkGDBServer
参考资料:
GNU ARM Eclipse wiki
J-Link debugging Eclipse plug-in wiki
暂时用st-link,后面用的时候再加上来,欢迎大家来一起写
其它问题
有时候可能会碰到enum 找不到。
ecplipse中enum成员有时会提示找不到,这是eclipse的bug , 使用project->C/C++Index -> rebuild 就行了
IF, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol"
上一篇:STM32接口FSMC/FMC难点的理解
下一篇:semihost/ITM机制浅析以及使用JLINK通过ITM调试stm32单片机
推荐阅读
史海拾趣
AntennaHome公司深知技术创新是企业持续发展的根本动力。因此,公司始终坚持将研发作为企业的核心战略。公司不断加大对研发的投入力度,引进先进的研发设备和人才,同时积极与高校和研究机构开展合作。这些举措使得公司在天线技术领域始终保持领先地位,为公司的长远发展提供了有力保障。
这五个故事展示了AntennaHome公司在电子行业中的发展历程,从创业初期的技术创新到与国际大厂的合作,再到应对行业变革的挑战、参与国际展会以及持续投入研发,每一步都体现了公司的努力和坚持。
为了进一步提升品牌影响力和市场知名度,AntennaHome公司积极参与国际电子行业的各大展会。在展会上,公司展示了最新的天线技术和产品,吸引了众多国内外客户的关注。通过与客户的深入交流,公司不仅收获了宝贵的市场信息和合作机会,还进一步提升了品牌在行业内的地位。
在竞争激烈的电子行业中,DBM Optix深知只有不断创新才能保持领先地位。因此,公司始终将研发作为核心竞争力之一,持续投入大量资金用于新技术、新产品的开发。通过与高校、研究机构等合作,DBM Optix不断引入新技术、新材料,并将其应用于产品中,从而不断提升产品的性能和品质。这些创新举措使得DBM Optix在光学通信领域始终保持领先地位。
在发展过程中,DBM Optix也面临过不少挑战和危机。例如,某次全球供应链紧张导致公司原材料供应受到影响,生产进度一度受阻。面对这一挑战,DBM Optix迅速调整采购策略,积极寻找新的供应商,并加强与现有供应商的合作。同时,公司还加强了内部管理,优化生产流程,提高生产效率。这些努力使得DBM Optix成功度过了危机,并继续保持良好的发展势头。
在不断发展壮大的过程中,Chip Quik公司始终注重品牌建设和持续创新。公司加大了对研发部门的投入,不断推出新技术和新产品,以满足市场的不断变化。同时,公司还通过加强品牌宣传和推广,提高了品牌知名度和美誉度,为公司的长远发展奠定了坚实的基础。
这些故事虽然基于假设和一般性的行业趋势,但它们可以反映出一家电子行业中类似公司可能经历的发展路径和挑战。希望这些故事能够为您了解Chip Quik公司或其他电子行业公司的发展提供一定的参考。
随着产品质量的不断提升和市场份额的逐步扩大,德旭电子开始注重品牌建设和市场拓展。公司积极参加各类行业展会和交流活动,展示自身实力和产品优势。同时,德旭电子还加大了广告宣传力度,通过线上线下相结合的方式提升品牌知名度和美誉度。
在市场拓展方面,德旭电子不仅深耕国内市场,还积极开拓国际市场。公司凭借优质的产品和专业的服务赢得了越来越多客户的信赖和支持。国际市场的拓展为德旭电子的持续发展注入了新的动力。
用Keil编写C编译的时候出错,也没有各种错误对应的中文解释 每一个错误类型都是有一个代码,后面就是一段洋鬼子的英文,也没有人将这些东西翻译成了我们伟大的汉语, 有之,告诉在下一个下载地址。… 查看全部问答∨ |
求救!!用EVC创建的MFC对话框程序选择PB5编译导出的SDK出现cannot open include file 'afxres.h'. 用EVC创建的MFC对话框程序选择PB5编译导出的SDK出现cannot open include file \'afxres.h\'. 而使用EVC自带SDK却不会出错,请高手帮助… 查看全部问答∨ |
AD6.9错误:GND contains Power Pin and Input Port Objects(Pin U18-5,Port GND) 才从99SE转到AD6.9,出现这个错误,不知道是什么问题,怎么修改,望高手指点下!!!… 查看全部问答∨ |
|
本帖最后由 paulhyde 于 2014-9-15 03:38 编辑 2013年全国大学生电子设计竞赛基本仪器和主要元器件清单1. 基本仪器清单60MHz双通道数字示波器100MHz双通道数字示波器低频信号发生器(1Hz~1MHz)标准高频信号发生器(1MHz~100MHz,可输出1mV小信号 ...… 查看全部问答∨ |
|
【视频】ENEA Software Offering for SoC $(\'flv_bfb\').innerHTML=(mobileplayer() ? \"\" : AC_FL_RunContent(\'width\', \'500\', \'height\', \'375\', \'allowNetworking\', \'internal\', \'allowScriptAccess\', \'never\', \'src\', \'http://player.youku.com/player.php/sid/XNj ...… 查看全部问答∨ |