打印
[STM32F1]

可以通过ram bootloader勾出程序吗

[复制链接]
1115|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
FAQ|  楼主 | 2017-11-7 20:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
可否通过下面两个步骤将flash中的数据勾出来?

1,通过debug接口,将一段bootloader传到ram中
2,运行ram中的bootloader程序,把flash内的数据通过debug口传出来。


设置了选项字节里的保护不知道能不能这样子勾出来。

沙发
heisexingqisi| | 2017-11-7 21:44 | 只看该作者
可以了,你这个BootLoader就不是BootLoader了。

使用特权

评论回复
板凳
一路向北lm| | 2017-11-7 21:46 | 只看该作者
可以的,不是很麻烦,可以尝试下。

使用特权

评论回复
地板
FAQ|  楼主 | 2017-11-7 21:56 | 只看该作者
heisexingqisi 发表于 2017-11-7 21:44
可以了,你这个BootLoader就不是BootLoader了。

我的意思是只是临时用一下的钩子程序,可以实现这功能吗

使用特权

评论回复
5
airwill| | 2017-11-7 22:37 | 只看该作者
不可能, 因为在 RAM 启动方式, FLASH 接口是被关闭的

使用特权

评论回复
6
FAQ|  楼主 | 2017-11-7 23:06 | 只看该作者
本帖最后由 FAQ 于 2017-11-7 23:09 编辑
airwill 发表于 2017-11-7 22:37
不可能, 因为在 RAM 启动方式, FLASH 接口是被关闭的

实验测试结果:
1,没有选项字节都保护的时候是可以读到flash内容的。
2,打开选项自己都保护以后,依然可以正常加载程序到RAM中并且运行程序(做除了和flash相关的,以外任务,比如纯粹的数学计算),只是不能对flash区域进行读和写操作,一旦对flash进行读写操作就会进入void HardFault_Handler(void);中断函数中。

使用特权

评论回复
7
airwill| | 2017-11-8 06:37 | 只看该作者
其实这一点, 手册上就有明确说明

使用特权

评论回复
8
FAQ|  楼主 | 2017-11-8 09:24 | 只看该作者
airwill 发表于 2017-11-8 06:37
其实这一点, 手册上就有明确说明

是参考手册里面说的吗,我没注意到。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

FAQ

227

主题

2029

帖子

9

粉丝