BOOT0和BOOT1作用的说明
https://img-blog.csdnimg.cn/645c1dc65a8c4ccc8c768a5fdc3eb485.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LqM5rCn5YyW56Kz55qE5pel5bi455Sf5rS7,size_14,color_FFFFFF,t_70,g_se,x_16这是网上最容易看到的讲解,但理解上面的知识对于新手十分不友善,特别是在画最小系统的时候,画错了就是苦等一周的PCB。通常在商品化的单片机上会直接留出排针让用户选择,但对于萌新,那是相当痛苦,不知道怎么办。知识点补充https://img-blog.csdnimg.cn/03b61b48802f48b4bd9cd7eaf723c1ef.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LqM5rCn5YyW56Kz55qE5pel5bi455Sf5rS7,size_15,color_FFFFFF,t_70,g_se,x_16自举空间: 可以理解为单片机电源打开后,首先执行代码的地方。主flash: 可以理解为程序运行中不进行运算的代码存储的地方。系统存储器:此存储器中有厂家出厂就写好的代码,用户无法修改,该代码运行后可以用数据线进行下载程序。嵌入式SRAM:可以理解为程序运行中要运算的代码存储的地方。举个例子进行说明:int a=1;while(1){ a=a+1;}要知道单片机是靠一个个指令执行的,像while语句相比较与a=a+1是不需要运算的代码,所以保存在主flash中,而变化的a=a+1;以及定义语句int a=1;存储在RAM中,也就是变量以及运算的地方都在RAM进行,而之所以int a=1;也存储在RAM中,是因为int型的a会在RAM中占两个字节且初始值为1(0x 0000 0001),执行一次a=a+1后,a变成2(0x 0000 0010),道理显而易见。详细见FLASH与RAM在单片机中的作用。 三种模式讲解https://img-blog.csdnimg.cn/645c1dc65a8c4ccc8c768a5fdc3eb485.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LqM5rCn5YyW56Kz55qE5pel5bi455Sf5rS7,size_14,color_FFFFFF,t_70,g_se,x_16①BOOT1=任意电平,BOOT0=0②BOOT1=0,BOOT0=1③BOOT1=1,BOOT0=1。首先要明白,不同的启动方式会影响到程序的下载方式。第一种模式,就只能选择常见的STLINK,JTAK进行程序的烧录。按下复位键就可以运行自己写的程序,不需要改变启动方式。第二种模式,只能选择数据线下载,下载完成后,需要手动调到第一种模式,复位后才会运行自己写的程序。其实这种操作就相当于给刚买的电脑装系统,电脑自带一个最原始的系统帮助用户安装新系统。总之十分麻烦而且下载速度非常慢。第三种模式,方便调试,怎么个方便法,在收集了大量资料后发现并没什么用。
boot引脚组合不一样,他就配置起来不一样。 这个是开发arm芯片的基本。 这个硬件都做好了,不需要自己来理解。
我一般都是把他们拉低到低电平上。 这个作用的还是非常大的。 都是设置为0电平就行。 现在都是高低电平选择,配置错误了也没有关系。 boot引脚的设置是影响启动方式的。 一般情况下如果我们想用用串口下载代码,则必须配置BOOT0为 1, BOOT1为 0,而如果一按复位键就开始跑代码,则需要配置 BOOT0 为 0,BOOT1 随便设 BOOT0,BOOT1说的是系统上电启动后,程序从哪里加载,运行,是单片机问题 一般BOOT0 和BOOT1 跳线都跳到0(地)。 boot0接地,boot1能当普通io脚吗 BOOT0和BOOT1置为接地? BOOT0和BOOT1用于设置启动方式 芯片上都有两个管脚BOOT0和BOOT1
页:
[1]