6995|8

56

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

IAR是否能够锁定FLASH中的程序禁止JTAG? [复制链接]

现在遇到了个棘手的问题,发现我3块板子+1块开发板都不能烧写FLASH了,具体表现是:
当JTAG时 DOWNLOADING  FILES和PROGRAMING FLASH都通过,然后有3种可能的表现

1 仿真时走了第一句程序就显示堆栈指针配置超出范围。。堆栈溢出
2 在C程序中根本不出那个指示当前运行语句的绿色箭头,只有反汇编界面有
3 JTAG烧录完刚进去时我什么都没按就在全速运行,手动停止后随即停在那里

三种表现拔掉板子电源后再上电全是一个结果:我刚才烧写的程序没有运行,运行的还是我出故障前烧写的代码。我昨天问的新添语句在JTAG时不能运行就是这个原因,原帖:
https://bbs.eeworld.com.cn/club/bbs/list.asp?boardid=49&page=1&t=3019664&tp=%u9999%u6C34%u8BF7%u8FDB%uFF0C%u53C8%u51FA%u6BDB%u75C5%u4E86

现在拿到别人案例烧他的程序出现的问题一样,最郁闷的是我用万利用开发板下载他的例程都不行了。。。很怀疑是我在IAR中配置错了什么东西,然后烧写进去的程序锁定了FLASH再也不能下载程序了
此帖出自stm32/stm8论坛

最新回复

                                     详情 回复 发表于 2008-7-3 17:22
点赞 关注
 

回复
举报

72

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

是否可以在RAM中调试?如果可以表示JTAG通道没问题

                                 如果怀疑程序没有烧进Flash,可以用调试器的Memory窗口看看Flash中的内容。
此帖出自stm32/stm8论坛
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

刚换了个CPU 用STlink能烧例程了 可是烧完我的程序又出故障

这是校验时发现的 无论FALSH还是RAM都出错
下面是FLASH的错误

Thu Jul 03 09:34:14 2008: DLL version: V3.72a, compiled Jun 18 2007 18:58:11
Thu Jul 03 09:34:14 2008: Firmware: J-Link ARM V6 compiled Jun 14 2007 14:33:17
Thu Jul 03 09:34:14 2008: JTAG speed is initially set to: 32 kHz
Thu Jul 03 09:34:15 2008: Found Cortex-M3, Little endian.
Thu Jul 03 09:34:15 2008: TPIU fitted.
Thu Jul 03 09:34:15 2008:   FPUnit: 6 code (BP) slots and 2 literal slots
Thu Jul 03 09:34:15 2008: Software reset was performed
Thu Jul 03 09:34:15 2008: Initial reset was performed
Thu Jul 03 09:34:15 2008: J-Link found 2 JTAG devices. ARM core Id: 3BA00477(Cortex M3), ARM core Id: 00000000(ARM9)
Thu Jul 03 09:34:15 2008: Device at TAP0 selected
Thu Jul 03 09:34:16 2008: 3518 bytes downloaded and verified (3.05 Kbytes/sec)
Thu Jul 03 09:34:16 2008: Warning: 
Verify error at address 0x20000058, target byte: 0x02, byte in file: 0x11
Thu Jul 03 09:34:16 2008: Warning: 
Verify error at address 0x20000059, target byte: 0x08, byte in file: 0x00
Thu Jul 03 09:34:16 2008: Warning: 
Verify error at address 0x2000005A, target byte: 0x06, byte in file: 0x00
Thu Jul 03 09:34:16 2008: Warning: 
Verify error at address 0x2000005B, target byte: 0x08, byte in file: 0x20
Thu Jul 03 09:34:16 2008: There were warnings during download of FLASH loader, see Log Window
Thu Jul 03 09:34:17 2008: Failed to load flash loader: C:Program FilesIAR SystemsEmbedded Workbench 4.0 KickstartarmconfigflashloaderST
FlashSTM32F10x.d79

此帖出自stm32/stm8论坛
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

4
 

。。

换完CPU能下例程用的是STlink
现在下完例程用Jlink就不行了,出现上面的错误,用STlink或者Jlinlk都不行了  不可能我的程序有毒吧  把CPU都搞坏了
此帖出自stm32/stm8论坛
 
 
 

回复

55

帖子

0

TA的资源

一粒金砂(初级)

5
 

你烧进去的代码用到了哪些外设?

                                 你可以把板子的BOOT跳线选到从RAM启动,然后重新上电,试试看烧录有没有问题。
此帖出自stm32/stm8论坛
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

6
 

查了一下旧帖,发现上次已经帮你解决了这个问题

首先我在2楼建议你在RAM中试试,请做一下,这是一个很好的方法。

其次,我查了一下旧帖,发现上次已经帮你解决了这个问题,请看:香水救命啊,Jlink和ST Link都遇到的下载问题,尤其是13楼以后的讨论。希望你再次确认“在你的项目中是否开启了DMA、看门狗、定时器中断等功能?
此帖出自stm32/stm8论坛
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

7
 

RAM我试了

RAM我试了,跟FLASH一样下载了没反应,不过我现在的感觉是IAR会篡改lnkarm_flash.xcl这个文件,我现在找来2个全新的lnkarm_flash.xcl和ram.xcl调成只读放在桌面就没问题了。。。。
真晕死

请问调成boot全是1在ram是什么原理?
此帖出自stm32/stm8论坛
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

8
 

BOOT引脚在Reset时会把某个存储区映像到地址0x0000 0000

                                 内置SRAM的真实地址是0x2000 0000,内置Flash的真实地址是0x0800 0000,BOOT引脚在Reset时会把上述地址映像0x0000 0000。Cortex-M3的内核是从地址0x0000 0000启动的。
此帖出自stm32/stm8论坛
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(中级)

9
 

LZ 真有意思!

                                  
此帖出自stm32/stm8论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条
电源解决方案和技术 | DigiKey 应用探索站
当月好物、电源技术资源、特色活动、DigiKey在线实用工具,干货多多~

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表