IAR EWARM7.2下,STLink V2调试stm32f103开发板,能下载程序,但是不能断点

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IAR EWARM7.2下,STLink V2调试stm32f103开发板,能下载程序,但是不能断点相关的知识,希望对你有一定的参考价值。

IAR EWARM7.2下,STLink V2调试stm32f103开发板,SWD模式,能下载程序,但是不能断点或者单步执行,点复位或者停止也总卡在时钟初始化的while循环那

最近论坛上发了一个连载帖子——吴鉴鹰单片机实战项目精讲,因此受到不少网友的关注,在这里吴鉴谢谢各位网友的支持、关心和信任。
在帖子中留了几个群号,有两千多读者加了群,通过QQ向我询问了很多问题,如果在工作不是太忙的时候我看到了就会回答,但是有时候做项目太忙就没时间解答。
为此,在这里应群内成员以及一些网友的要求,专门写一篇文章来针对这些问题做一个总结。希望能为大家的疑惑有一点点帮助就足以。不足之处,也希望大家客观指出,君子和而不同。

1、学习单片机有用吗?
有很多初学者有这样的困惑,单片机初学者感觉入门很难,学着学着,就会产生这样的疑问——自己辛辛苦苦学习单片机,将来有用吗?
单片机只是一个工具,重要的还是思想,有了自己的想法,电子行业地域辽阔,随便你闯。单片机这个切入点入手还是不错的,可以让你尽快进入电子殿堂的大门,如果你还在上学,不要眼睛里面只盯着暂时的薪水,哪怕是毕业两三年的也一样。重要的是掌握程度和对技术的理解程度,有句话叫“水到渠成”,到时候再去研究工资的事情也不晚。

2、学习嵌入式编程有必要从51单片机开始吗?
我原本来在读大学的时候,有很多同学听说学习ARM很牛逼,于是就跑到图书馆借了一两本关于ARM的书,学一两天后发现跟自己想的不太像,于是学着学着就慢慢放弃了。所以我总结一下,与其迈很大的步子,不如放慢脚步一步步走。从最基本的做起,一步步走,等单片机学会之后再进行像ARM,DSP之类高端处理器的运用,也就能得心应手了,如果想一口吃成一个胖子,只怕最后没胖起来,倒把自己给噎死了!

3、会用高端处理器就牛了吗?
不少网友问我:是不是学会了ARM、嵌入式操作系统就会很牛?是不是单片机就是运用在低档产品上,ARM做出来的产品就高端了。
首先,从本质上说,是同一类东西,都是嵌入式应用方面的主力。十八般兵器,没有优劣之分,只是在乎持兵器的人修为高低,当年解放军凭借小米加步枪不也取得了抗战胜利。
微处理器,单片机、DSP、FPGA、ARM,每一种都有自己的侧重点,都具备自己的优势和劣势。
单片机:技术比较成熟,运用在工控领域比较多,但进行嵌入式应用显得太庞大,因而派生出ARM单片机进行高端应用,可以进行操作系统的移植,但是现在一些高端单片机也可以移植操作系统,单片机跟ARM并没有什么本质的区别。
DSP:是数据处理的缩写。也可以做控制运用,它的优势是运算,主要用在运算量大的领域,如数字信号处理,图像处理,视屏处理,导弹雷达上也等等。如果要用的好,需要学会很多高深的算法,需要有较强的数学功底。
FPGA:可编程逻辑阵列的缩写。实际上就是做一个芯片,用软件实现它的内部连接,达到用软件的方法实现硬件的目标。是用硬件实现的一种方法。是早期单片机(功能简单的逻辑应用)的现代实现方法。

总结:一个嵌入式软件工程师,其实核心竞争力不是你会运用什么芯片,当你会了一两种以后,再学其他的,就会觉得很容易了。一个真正的有竞争力的工程师,应该是具备良好的编程习惯,编程思路,还应该具备扎实的数学功底。只有把握核心的东西,才能走的更远。

4、单片机行业技术研发有前途吗?
这也是初学者最为关心的一个话题,单片机行业的技术研发将来前途如何?
著名的高尔夫球手,老虎伍兹说过一句话:我只需成为高尔夫数一数二的高手,钱自然会追着我来。
单片机技术研发,也就是一个类型的职业岗位,同样叫做“单片机工程师”,能力、经验、学历,参差不齐,因此待遇肯定也不尽相同。
高待遇者,年薪数百万也有,低收入者,养家糊口都难。
只有倒闭的企业,没有倒闭的行业!
不是行业没有前景,只能反思自己为何没有足够的优秀。

5、单片机技术研发太苦太累,值得去坚持吗?
在论坛里看到很多人在抱怨:现在电子行业的研发做起来太累,待遇又不是很好,感觉没什么出路。
既然我们选择了单片机行业,就坚持做下去,不要轻信别人讲的:单片机研发工程师没有前途,太苦太累。
学好单片机你至少可以找一份技术性的工作,就算目前累一点,至少你可以看到希望,随着自己经验的积累,未来的路会越走越宽!至少可以坐在办公室里面,有自由的时间可以支配。
你知道那种专业课没学好,只能去车间做一线工人的感觉吗?坐在车间里像一个机器人一样每天重复同样的工作吗?你喜欢过那种一点自由都没有,在流水线上忙碌着,连上厕所时间都没有的工作吗?我相信没有人喜欢!
所有不要被一些工作了几年的工程师的话语所迷惑,说做技术很苦,拿的钱又少,当你真正有一天想去做技术,发现原来因为自己缺少知识的积累,没有公司愿意要你。

简单地分享了自己对单片机领域一些问题的看法,欢迎同行积极分享自己的心得,能让更多初学者少走弯路,摆正心态进行单片机的学习。
参考技术A 为什么不用keil 参考技术B Jlink可以

STM32F407VET6之IAR之ewarm7.80.4工程建立(基于官方固件库1.6版本)

今天把stm32F407的工程之IAR建立完成了,特此记录下。

下载官方固件库,STM32F4xx_DSP_StdPeriph_Lib_V1.6.1,V1.8.0版本的同理。
新建以下几个文件

src放官方的各个c文件

inc放官方的各个h文件,以及用户的h文件,这样可以方便在options里只需要一个目录即可,方便点。
cmsis 放官方的.s汇编文件,.icf文件,icf文件是iar特有的,keil创建工程没有这个文件的。
user,放用户自己的C文件
project,放置iar工程,就是工程文件*.ewp所在目录
无obj目录,iar会自动建立该文件的。
最后的目录如下所示:
文件的来源,可以在STM32F4xx_DSP_StdPeriph_Lib_V1.6.1文件中查找,
固件库的目录展开如下:有点长啊~~博客上面放不下。


针对STM32F407需要的,我摘录了部分,主要是拷贝
1、STM32F4xx_StdPeriph_Driver下的inc,src两个文件夹,
2、LibrariesCMSIS下的Include文件夹,
3、STM32F4xx_StdPeriph_Templates模板当中的文件,
4、STM32F4xx_StdPeriph_TemplatesEWARM下的icf文件,
5、LibrariesCMSISDeviceSTSTM32F4xxSourceTemplatesiar下的汇编文件

 

其实工程需要的文件可以参考下官方自带的模板,相互结合,就可以了。

工程设置:
0、选择stm32f407VE芯片
1、库配置Library Configration(在general options下),如果需要使用某些标准的库函数接口(如我们使用的printf and scanf),就需要选择Full。
2、预处理Preprocessor - 添加h头文件的路径,这里我比较简单,所有h文件都放在一起的,因此添加
$PROJ_DIR$..inc
即可,新版的IAR可以自动把绝对路径转换成上述的路径,可以自行试试看,挺方便的。这样的好处是工程可以拷贝到另外一个文件夹,而不需要在设置头文件路径了
3、添加宏定义,
USE_STDPERIPH_DRIVER
STM32F40_41xxx
一行一个即可
4、use cmsis不打钩也可以编译成功。。
5、输出hex文件,output convert选项中,打钩generate...选择Intel extended,再输入输出名称override default。
6、linker选择,添加$PROJ_DIR$..cmsisstm32f4xx_flash.icf。另外iar自带了$TOOLKIT_DIR$configlinkerSTstm32f407xE.icf文件,也可以编译成功的。
最后,stm32F407,没有fmc.c的功能,因此可以remove该文件,不然一大堆编译错误
7、如果需要jlink,等,可以参考其他的文章,在线仿真有jtag,swd两种方式。

以上是关于IAR EWARM7.2下,STLink V2调试stm32f103开发板,能下载程序,但是不能断点的主要内容,如果未能解决你的问题,请参考以下文章

stm8s003f3在上电时出错,必须重新烧写程序,而且,无法直接用IAR+STLink烧写,得先用STVP重设OptionByte

IAR中编写STM8的程序,但是用STlink一直无法下载,一直出现以下两个问题,请问怎么解决

在keil uvision(RVMDK)下使用stlink断点调试教程

请教一个菜鸟问题.ST-LINK/V2 能在IAR下使用吗

STM32 STLINK V2-1连接问题

请教一个菜鸟问题.ST-LINK/V2 能在IAR下使用吗