这是网上最容易看到的讲解,但理解上面的知识对于新手十分不友善,特别是在画最小系统的时候,画错了就是苦等一周的PCB。通常在商品化的单片机上会直接留出排针让用户选择,但对于萌新,那是相当痛苦,不知道怎么办。 知识点补充
自举空间: 可以理解为单片机电源打开后,首先执行代码的地方。 主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在单片机中的作用。 三种模式讲解①BOOT1=任意电平,BOOT0=0 ②BOOT1=0,BOOT0=1 ③BOOT1=1,BOOT0=1。 首先要明白,不同的启动方式会影响到程序的下载方式。 第一种模式,就只能选择常见的STLINK,JTAK进行程序的烧录。按下复位键就可以运行自己写的程序,不需要改变启动方式。 第二种模式,只能选择数据线下载,下载完成后,需要手动调到第一种模式,复位后才会运行自己写的程序。其实这种操作就相当于给刚买的电脑装系统,电脑自带一个最原始的系统帮助用户安装新系统。总之十分麻烦而且下载速度非常慢。 第三种模式,方便调试,怎么个方便法,在收集了大量资料后发现并没什么用。
|