你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 7397|回复: 4

STM32 IAR没法调试,求教

[复制链接]

1

主题

5

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2011-12-23 13:59:23 | 显示全部楼层 |阅读模式
第一次接触STM32,按照stm库例子编了个空白main(),芯片是STM32F107RCT6,Revision Z(看了Errata Sheet这个版本有点问题,不过我不用Boot Loader)系统是Win7,编译环境是EWARM 6.30的30天试用版(和谐了,就算没和谐也在试用期内),仿真器是STLINK/V2,使用SWD调试接口。问题如下:
1、通过编译后,想下载到Flash中调试,修改了stm32f10x_flash.icf里面的ROM和RAM设置到芯片对应范围,打勾use flash loader,提示断点只能6个之类,并且下载一直结束不了,cancel后有出错信息,提示目标设备上电之类的。打开verify download选项,发现校验通不过,但奇怪的是在校验0x20000000 RAM区域里面的东西。几次后摸不着头脑,换新方法
2、网上找了些资料,想转到RAM中调试,免得flash折寿。compiler选项preprocessor中加入VECT_TAB_SRAM,linker中换成stm32f10x_ram.icf,并且把ROM设置成0x2000000-0x20007FFF,RAM设置成0x20008000-0x2000FFFF,vector table为0x20000000,去掉download中的各种选项,下载,执行,程序不知所终。去掉run to main选项,再下载,程序停止在__iar_program_start位置,机器码为0x5a20,单步死了,PC变为0xFFFFFFFE。上电断电反复试验均是如此,该处机器码始终是0x5a20。检查vector table,里面的地址正确,检查map文件,定位信息正确。
3、不作任何改动,换成simulator,加载,一切正常!但发现__iar_program_start处的机器码为0x46C0,不是0x5A20。说明没有向RAM中写入代码,但是即使断电,RAM调试时始终为0x5A20,说明仿真器还是IAR向该处写过东西,否则不会一直不变。试过修改ROM和RAM其他分配方式,还是如此。
4、仍然使用RAM调试方法,停在__iar_program_start位置后,根据simulator里面的信息手工修改后面的几条机器码,单步正常,说明芯片是好的。
折腾了2天,网上到处找,没有相关信息,没辙了,上来向STM32的高手求教不过我刚注册,没分数送
 
回复

使用道具 举报

3

主题

185

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2011-12-23 21:34:16 | 显示全部楼层

回复:STM32 IAR没法调试,求教

用官方的例程来调试,你的软件版本太高了,我们跟不上时代。
回复 支持 反对

使用道具 举报

134

主题

4489

回帖

239

蝴蝶豆

版主

最后登录
2020-12-9
发表于 2011-12-23 22:32:26 | 显示全部楼层

RE:STM32 IAR没法调试,求教

1、icf可以不用修改,这个默认就可以。如果你用到IAP或者是特殊的空间定义的时候用。
2、你默认,不修改试试看看能不能运行,实在不行你把你的工程发出来,大家帮你改一下。
回复 支持 反对

使用道具 举报

1

主题

27

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2012-1-1 21:46:03 | 显示全部楼层

RE:STM32 IAR没法调试,求教

IAR在RAM调试我第一次搞了两三天,其实很简单,发工程设置图片和代码看看。最主要有几点:
1)并不一定要定义"ECT_TAB_SRAM",直接在工程源代码里找到NVIC的初始化程序,将其向量定位到RAM。
void NVIC_Configuration(void)
{
  NVIC_InitTypeDef NVIC_InitStructure;
  NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0);
//  NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x2000);
// NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);
//......(其余省去)
  }
回复 支持 反对

使用道具 举报

0

主题

10

回帖

0

蝴蝶豆

新手上路

最后登录
2019-3-12
发表于 2013-5-8 15:47:42 | 显示全部楼层

RE:STM32 IAR没法调试,求教

我也是用IAR 6.3遇到lz一样的问题,不知道lz是怎么解决的?
回复 支持 反对

使用道具 举报

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版