打印
[STM32F1]

用jtag进行程序的烧写

[复制链接]
423|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
pengf|  楼主 | 2020-3-21 13:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如果我让代码从system memory启动的话 ,system memory即固有的bootloader代码的起始地址是0x1fff f000,那么程序应该是从这里启动的吧,那他是是不是应该从bootloader的地址这里跳到flash的起始地址0x800 0000开始正常程序的运行啊,那跳的方式是怎么样的啊,如果我用jtag进行程序的烧写,就不需要bootloader了吧。

使用特权

评论回复
沙发
renyaq| | 2020-3-21 13:29 | 只看该作者
不是,一般是bootloader起始地址为0x800 0000,因为复位后,先运行的是bootloader,bootloader运行完,跳转到应用程序的.

使用特权

评论回复
板凳
pengf|  楼主 | 2020-3-21 13:31 | 只看该作者
如果我自己写了一个bootloader的程序,用作IAP下载,我看资料上说对用户flash区的开始进行4页写保护,假如我的bootloader的起始地址是0x800 0000,那是不是对这里开始的四页进行写保护了

使用特权

评论回复
地板
supernan| | 2020-3-21 13:33 | 只看该作者
什么意思?不是很明白你说的什么,能再解释一下这个现象吗

使用特权

评论回复
5
pengf|  楼主 | 2020-3-21 13:34 | 只看该作者
那也就是说我自己写的bootloader不会被改掉 但是如果我自己想改该怎么改动那

使用特权

评论回复
6
juventus9554| | 2020-3-21 13:36 | 只看该作者

ST原本就有内部Bootloader,如果你使用厂家自带的Bootloader,当然不用再自己造轮子了;
如果你用JLINK等工具烧录,自然也就无需用到什么Bootloader

使用特权

评论回复
7
llljh| | 2020-3-21 13:37 | 只看该作者
对前4k有保护的,保护是指不能够通过编程指令修改

使用特权

评论回复
8
houcs| | 2020-3-21 13:38 | 只看该作者
嗯,但可以通过仿真器下载bin或者hex等方式修改的,

使用特权

评论回复
9
pengf|  楼主 | 2020-3-21 13:40 | 只看该作者
固有的bootloader是不是不可以更改的,但是我怎么看网上有说官方发布了一个什么东西,可以用对固有bootloader升级,是这样的吗

使用特权

评论回复
10
houcs| | 2020-3-21 13:41 | 只看该作者
不清楚,指知道使用固有的bootloader需要硬件支持的,必然扫描IO口电平进入编程模式,反之bootloader跳入应用程序.

使用特权

评论回复
11
pengf|  楼主 | 2020-3-21 13:45 | 只看该作者
固有的bootloader的地址不是0x800 0000吧,如果我用ISP下载方式的话起始地址应该是0x1fff f000吧,手册上是这个意思吗,不是很理解,另外如果我用jtag下载方式需要经过固有的bootloader吗

使用特权

评论回复
12
houcs| | 2020-3-21 13:46 | 只看该作者

请教高手,STM32 FLASH 可以这样用吗?BOOTLOAD区,应用程序区,升级文件缓存区和操作记录区。多谢!

使用特权

评论回复
13
pangb| | 2020-3-21 13:48 | 只看该作者
注意flash扇区的大小,有些东西放到内部的flash是不合适的,扇区太大

使用特权

评论回复
14
zhuww| | 2020-3-21 13:49 | 只看该作者
我买了片STM32F103C8T6最小系统板    boot0  高    b00t1 低电平    用j-lkink    刷入bootloader 文件     起始地址 为0x8000000    刷完后 boot0  ;   b00t1  都接 低电平   这样对么?

使用特权

评论回复
15
pengf|  楼主 | 2020-3-21 13:50 | 只看该作者
多谢大家讨论这么多哈,呵呵

使用特权

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

本版积分规则

718

主题

10129

帖子

3

粉丝