OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 10600|回复: 9

KEIL5 不能从指定的地址进入调试模式。J-LINKE 和ST-LINK 都试过了

[复制链接]

3

主题

10

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2016-2-17
在线时间
3 小时
发表于 2016-2-17 10:04:25 | 显示全部楼层 |阅读模式
1金钱
8K 2000H bootloader
启动地址设置如下(看图)
FLASH 下载设置如下(看图)
Link页面设置(看图)
向量表修改(看图)
这些都设置完后,程序确定已经下载了。但是无法进行调试。也无法跳动SystemInit函数执行
但是反汇编。可以看到下载的代码(看图)
通过观察是PC没有跳转到制定地址。
问题:
0.我其实想实现从指定的启动地址,非0X80000 调试程序
1.有人说可以修改Debug 中的Init 文件来实现,,怎么改。在哪里改? 给出一段Init文件或者给出帖子地址。BOOTLOADER 已经调好。但是APP 要是产品,必须稳定。
因此才想到从非0x80000启动的。
2.我这样做的目的是一个人编写bootloader ,一个人编写APP,分工协作,出了问题也不用互相推诿。
3.如果不能这些实现,有什么替代办法。

地址修改.png
下载设置.png
连接设置.png
向量表修改.png
下载但无法调试.png

最佳答案

查看完整内容[请看2#楼]

需要配置ini文件,因为默认复位就是从起始地址开始,必须手动修改到你要求的地址
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

197

帖子

0

精华

高级会员

Rank: 4

积分
538
金钱
538
注册时间
2012-7-19
在线时间
63 小时
发表于 2016-2-17 10:04:26 | 显示全部楼层
需要配置ini文件,因为默认复位就是从起始地址开始,必须手动修改到你要求的地址
回复

使用道具 举报

3

主题

10

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2016-2-17
在线时间
3 小时
 楼主| 发表于 2016-2-17 10:05:34 | 显示全部楼层
IAR 的工程跳过,不过是F42X 系列,已经成功了。F103 VC6 应该也不差呀。怎么回事呀。急,在线等
回复

使用道具 举报

3

主题

10

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2016-2-17
在线时间
3 小时
 楼主| 发表于 2016-2-17 10:44:49 | 显示全部楼层
一只小白兔 发表于 2016-2-17 10:05
IAR 的工程跳过,不过是F42X 系列,已经成功了。F103 VC6 应该也不差呀。怎么回事呀。急,在线等

我下载后,可以正常执行,但就不能调试。怎么从非0x800000 开始调试呀。在线等
回复

使用道具 举报

3

主题

10

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2016-2-17
在线时间
3 小时
 楼主| 发表于 2016-2-17 11:18:33 | 显示全部楼层
myxiaoniao 发表于 2016-2-17 11:06
需要配置ini文件,因为默认复位就是从起始地址开始,必须手动修改到你要求的地址

怎么改。给了例子?
回复

使用道具 举报

3

主题

197

帖子

0

精华

高级会员

Rank: 4

积分
538
金钱
538
注册时间
2012-7-19
在线时间
63 小时
发表于 2016-2-19 10:37:46 | 显示全部楼层

这不和在ram调试程序的方法一样嘛  坛子里好多帖子  原子兄也讲过这个
回复

使用道具 举报

3

主题

10

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2016-2-17
在线时间
3 小时
 楼主| 发表于 2016-2-19 11:17:19 | 显示全部楼层
myxiaoniao 发表于 2016-2-19 10:37
这不和在ram调试程序的方法一样嘛  坛子里好多帖子  原子兄也讲过这个

请看清问题。用RAM调试我会。就是改一下IROM1的地址。但是哪个是200000的,而不是非0000的。我这个有偏移量。怎么调试,要不给个帖子地址。要不给个方法
回复

使用道具 举报

3

主题

10

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2016-2-17
在线时间
3 小时
 楼主| 发表于 2016-2-19 11:33:51 | 显示全部楼层
这里面有操作办法。再说myxiaoniao就不能给了地址。我们NNN个人就抢一台上网电脑,也没办法
帖子地址:
http://www.openedv.com/forum.php ... ht=SRAM%B5%F7%CA%D4
解决办法:
6 建立ini脚本
新建RAM.ini脚本文件,放在工程目录下,具体位置自定,脚本内容如下:
FUNC void Setup (void)
{
SP = _RDWORD(0x20000000);          // 堆栈指针
PC = _RDWORD(0x20000004);          // PC
_WDWORD(0xE000ED08, 0x20000000);   // 中断向量偏移地址
}
LOAD .\basic.axf INCREMENTAL      
// Download,.axf 根据自己的文件名和目录修改
有控制PC的语句,分析肯定可以搞定。结贴
myxiaoniao,节分。但帮人不彻底,遗憾
回复

使用道具 举报

3

主题

197

帖子

0

精华

高级会员

Rank: 4

积分
538
金钱
538
注册时间
2012-7-19
在线时间
63 小时
发表于 2016-3-7 12:17:22 | 显示全部楼层
一只小白兔 发表于 2016-2-19 11:33
这里面有操作办法。再说myxiaoniao就不能给了地址。我们NNN个人就抢一台上网电脑,也没办法
帖子地址:
h ...

手机上网并不方便找帖子。。。再说已经给你指出明路了自己走走也不是坏事,你说对吧?
回复

使用道具 举报

2

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
116
金钱
116
注册时间
2019-3-29
在线时间
29 小时
发表于 2020-12-14 10:01:27 | 显示全部楼层
楼主能够说下RAM.ini脚本具体怎么操作的吗?
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-23 20:13

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表