打印

GD32的BOOT0和BOOT1

[复制链接]
6580|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
陌小生|  楼主 | 2015-6-29 10:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
GD32三种启动模式对应的存储介质均是芯片内置的,它们是:

1)用户闪存 = 芯片内置的Flash。
2)SRAM = 芯片内置的RAM区,就是内存啦。
3)系统存储器 = 芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Bootloader,就是通常说的ISP程序。这个区
域的内容在芯片出厂后没有人能够修改或擦除,即它是一个ROM区。

沙发
陌小生|  楼主 | 2015-6-29 10:12 | 只看该作者
在每个GD32的芯片上都有两个管脚BOOT0和BOOT1,这两个管脚在芯片复位时的电平状态决定了芯片复位后从哪个区域开始执
行程序,见下表:

BOOT1=x   BOOT0=0   从用户闪存启动,这是正常的工作模式。
BOOT1=0   BOOT0=1   从系统存储器启动,这种模式启动的程序功能由厂家设置。
BOOT1=1   BOOT0=1   从内置SRAM启动,这种模式可以用于调试。

使用特权

评论回复
板凳
陌小生|  楼主 | 2015-6-29 10:13 | 只看该作者
        要注意的是,一般不使用内置SRAM启动(BOOT1=1 BOOT0=1),因为SRAM掉电后数据就丢失。多数情况下SRAM只是在调试时使用,也可以做其他一些用途。如做故障的局部诊断,写一段小程序加载到SRAM中诊断板上的其他电路,或用此方法读写板上的Flash或EEPROM等。还可以通过这种方法解除内部Flash的读写保护,当然解除读写保护的同时Flash的内容也被自动清除,以防止恶意的软件拷贝。

一般BOOT0和BOOT1跳线都跳到0(地)

使用特权

评论回复
地板
稳稳の幸福| | 2015-7-3 17:07 | 只看该作者
这个0和1,有什么分别没。

使用特权

评论回复
5
陌小生|  楼主 | 2015-7-17 07:26 | 只看该作者
稳稳の幸福 发表于 2015-7-3 17:07
这个0和1,有什么分别没。

0就是低电平,一般接GND。1就是高电平,一般接VCC。x就是随意,一般悬空或者接地。

使用特权

评论回复
6
没沉到底的沙| | 2016-4-6 13:53 | 只看该作者
好文,正是我想要的,谢谢楼主!!

使用特权

评论回复
7
没沉到底的沙| | 2016-4-6 13:54 | 只看该作者
好文,正是想要的,谢谢楼主!!

使用特权

评论回复
8
fashion65| | 2022-3-9 18:04 | 只看该作者
GD32E230 没有BOOT1脚   要在软件设
具体如何设, 好像有什么补码写保护? 能不能给一个具体的例子


  如果用ISP , 下载之后会自动转到正常main()函数吗?  

使用特权

评论回复
9
fashion65| | 2022-3-9 20:43 | 只看该作者
本帖最后由 fashion65 于 2022-3-9 23:53 编辑

E230 好像没有BOOT1,  用软件写寄存器, 还要 什补码, 写保护... 太麻烦了...   高手能不能讲的具体一点啊

使用特权

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

本版积分规则

9

主题

191

帖子

0

粉丝