粉丝5087获赞6.4万

大家好,这节课我们继续介绍 stm 三二拥有入门基础篇,这节课我们来介绍一下基于法拉 mcu 的一个串口程序的一个下载, 很多同学呢可能手头上呢没有 stlank, 或者没有给开个这种下载器,那我们呢可以借助于串口来进行程序的下载,就像我们原来介绍 stc 的五幺单面机一样,可以借助一个串口进行一个程序的一个下载。那我们来看一下, 如果说想用串口进行程序的下载的话呢,我们需要先下载一个软件,那我们这边的话呢,给大家介绍一款弗拉 mco 这款有串口下载的一个软件,这个软件的话呢大家可以到这个 网站当中呢去自行下载,这个呢是一个免费的一个软件,下载完成之后的话呢,他不需要安装,是免安装的,直接打开,那就是我们这么一个界面。我们待会的话呢,会给大家演示一下如何介入这么一个程序, 进行一个我们的一个三二的一个程序的一个下载。那我们在下载之前的话呢,先了解一下,我们在波特银角介绍的时候呢,提到过我们的启动模式有这么三种, 我们前面呢借助于 sc 另一个下载的时候呢,是从这个用户的存储器区进行一个启动,也就是说是把波特零设成了零。这个时候呢我们的程序下载之后呢,是从用户的存储器被选为启动区域,那也就是我们前面借助于 sc 零可进行下载的时候,是选择这种一种启动模式。 我们这节课呢要借助于串口进行下载,那你需要把启动模式呢设置成制动模式,也就是说把波特一呢设置成低电瓶,把波特零这个银角呢设置成高电瓶。这个时候呢我们会从系统存储器区进行一个启动,还会把系统存储器选为这个启动区,系统存储区这个地方呢,实际上在出厂的时候 呢,我们这个芯片内部这个地方他有一块波德勒的,那这块波德勒这个引导程序呢,会帮我们把串口接收的数据引导 存放到我们的弗莱斯区域,这样的话呢就能够完成我们的一个程序的一个下载。大家注意如果说你选择穿孔下载,要注意这个波特银角的一个设置,要把波特零设置成高电瓶,把波特一呢设置成低电瓶,我们待会的话呢要给大家做一个演示。 至于电路的话,我们这边开源的这块板子当中呢,已经集成了一个 c h 三四零 usb 转 uirt 的这么一个模块,那我们借助于这个呢就可以完成串口的下载。需要注意的就是说,如果说想用串口进行程序的下载,我们必须用到的这个接口是我们这个芯片的 ps 和 pa 九,也就是必须用串口一才能够完成串口的下载,串口二串口三是不能进行串口下载的, 他只能用串口机边路连接,实际上非常简单,就是把我们 uib 这边的信号发过来之后呢,通过这个芯片转成的串口信号进到我们的单面机去就可以了。那这边呢 tid 和 rd 实际上就是连接到我们这边的 ps 和 pa 九这两个银角,当然我们这边呢也留了一个飘线帽,方便呢我们 这个呢也可以用串口呢去外外挂一些模块,所以呢我们板子当中呢实际上是留了一个挑线,你可以挑到我们这边的下载接口, 或者是我们这个调试用于调试和计算机上位机做接口的这么一个 usb 这个接口上你也可以呢,我们也留了几个这个银角,这样的话呢方便你已和 其他的一些外围的模块呢做接口。这个时候大家用的时候呢,我们要把这个跳线帽要跳到我们的这边的 r d 和 t l d 这个银角, 就是这边的阿哥地和这个天地这个银角。如果说你想使用我们这个板当中用的那么几个银角来外接模块,那你要把这边的这个窗口这个呢给他跳到另外一端去就行了,这个大家注意一下, 那这个呢就是我们这边的一个窗口下载电路。如果说你的板仔当中呢,比如说你买的只是一个 sm 三二的一个最小系统版,然后呢没有板仔这么一个四 s 三零芯片,那你可以买这么一个模块也可以完成这个下载,这个就是硬件上的一个功能。那接下来的话呢,我们来看一下如何来下载。 那这个板当中的话呢,我们先看一下我们这块板当中需要注意的几个地方,一个地方呢就是说我们这边有个跳线报在这个位置, 这个跳线帽的话呢,我们要把它跳到这一端和这个我们这个 usb 的这么一个 b 型接口这一端,这样的话呢才能够使用这个端口来 进行程序的下载和呢,比如说我们在打印一些调试信息的时候呢,就可以借助于这么一根串口线就可以完成和电脑的一个串口助手的一个连接。如果说你想连接一些模块,我们这边留了几个排针, 这几个排针的话呢,你可以把这个跳线帽呢跳到另外一端,跳线帽跳到这个跳线帽呢,你把它跳到这一段的时候呢,我们就可以用这几个排针和外围的串孔模块,比如说你用到一些蓝牙啊,或者说一些这个这个币啊,包括你用到了这种啊,一些四季的模块啊等等, 包括挖发模块,那都可以呢做这个跳转,把这个跳烟帽的跳到另外一端,那这个时候呢这个端口就没有用了,我们现在呢就接着这个端口给大家做演示,用于重新下载以及那一些调试信息,可以借助这个端口去方便和电脑之间进行连接,那这个就是这个串口, 那这个波特 logo 这一块呢,我们要注意一下,我们要用这个汉口下载,我们要把这边这个波特银角,我们要把它挑到高电瓶, 那这一段呢是高电频,我要把这个波的眼角调到高电频,这个时候呢我就可以借助于串口下载,如果说我把它跳到这一端呢,我们是借助于弗莱斯作为启动区,那个时候呢我们原来这个程序的时候呢,我们可以直接用这个就可以完成下载,对吧?这个时候呢我们是用的 s t 内可这么一个下载器进行下载的。这个大家注意一下,我们前期课程当中呢,就是由 s t 内可进行下载,下载完成之后呢程序就会自动的运行,因为呢他就是从弗莱士开始运行的嘛,所以呢他会自动运行。 如果说我把这个银角呢跳到了这个高电瓶这边来,那我就要借助于我们的这个软件,我拿 mcu 进行诚意的下载,那我们来看一下这个软件如何来用呢?那 这个软件在用的时候呢需要注意硬件上呢,我们这边呢要把这根线接上,这样的话呢会有一个 usb 口,会一个 usb 口,那我们这边的话呢去搜索 usb 口,这个时候呢我这边的话是科目六,那这边是一个 cs 三四零转串口的一个口,然后选这个串口,然后的话呢波特率的话呢,我们选用默认的。 接下来的话呢我们需要打开程序文件,打开程序文件他需要下载的话呢是支持的是一个嗨客的文件,那我们需要呢在我们这个软件当中呢做一个设置,要在这个奥特铺的这个地方把这个呢给他勾上,他默认的是没有打勾的,我们把他勾上,点击 ok, 然后呢点击编译,要生成这么一个嗨客的文件, 把这个嗨的文件生成之后,我们就可以借助这个软件来下载了,那你首先呢要把这个嗨的文件加载过来,那我们就选中你的工程文件下面生成这个嗨的文件,把它加载进来,下载进来之 后的话呢,那这边的话呢我们就选择默认的选项,先不用动,然后的话呢我们点击编程,在编程之前要注意你这边的这个银角,这个跳线帽要跳到这个波特零的话跳到高电瓶,然后的话呢我们去点击编程, 然后的话他如果说没有自动的完成的话,你点一下复位键,这个时候呢他就可以进行程序下载,那这个时候呢可以告诉我们这个程序的一些正常,并且下载完成了,下载完成之后 我们可以看一下,这个时候呢程序并没有运行,我们这边是做了一个灯的闪烁,为什么没有运行呢?因为你现在的话是选择的这个我们的系统存储区作为启动区,但是我们的程序的话呢,实际上是借助于系统存储区里面的波斯顿的,把我们引导下载到了我们的 flag 的区。程序呢是在 flag 的区里面要 运行的话呢,必须把我们这个跳线帽呢再跳回到我们这个银角上去,比如说把这个银角跳回到波特铃接到低电瓶,接到低电瓶之后的话呢,我们去按下复位键,这个时候的话我们程序就可以正常运行了, 但这样的话呢就比较麻烦,对吧?不便于我们调试代码。比如说我程序要去修改了,我修改完成之后呢要看一看程序的一个运行效果,那你要用串口下载,我们就需要把它跳过来啊,下载完成之后呢,还要再把它跳过去 来看现象,这样的话就比较麻烦,那有没有一个好的办法,我下载完成之后就能够看到现象呢?是可以的,怎么办呢?我们可以把这个银角呢直接跳到这个高电瓶,然后的话在这个位置我们做一个设置,我们把这个先勾掉,把这个地方打开编程后直行,我们把编程后直行这个勾给它勾上,这个时候呢 我下载编程之后就我点击开始编程,下载完了之后他会执行一次,他就会执行一次,但是呢他只能执行一次,我们来演示一下,我们点击编程, 然后我按下复位键,那这个时候呢能够下载,下载完成之后,我们可以看到这个程序呢就会运行, 因为呢在软件里面他会帮我们做一个引导,这个地方你可以看到他成功从这个地址开始运行,加上了就是他帮我们做了一个程序引导,这个时候呢就能够运行。但是你的跳线报呢,因为你接到了这个波特林,接到了高电瓶,这个时候呢他只能是下载完成执行这一次, 那这样的话就方便观察你的程序能不能正常运行。如果这个时候你按下复位键,那程序呢就不会再运行了,因为我按下复位键之后,我们知道这个调线报我们是在高电瓶,但是呢程序必须是从弗莱士区开始启动,那你这个时候呢按下 微键,你发现他在高电瓶,他在引导你的程序下载,但是你这边呢没有去下载程序,那他就没办法去执行代码,那你必须呢把它切换到低电瓶,然后按下复位键,他才能够有正常运行。所以呢如果说你想让他 正常的能够下载完成之后执行一次,那我们呢就可以把它呢把这个位置呢给他勾上,这个时候呢他就可以完成一次下载,并且的执行一次代码。最起码这个时候呢我们可以看到我们程序下载完成之后立马的一个执行效果, 这样的话方便我们调试程序,比如说我需要修改一些功能,或者我感觉这个程序运行的现象没有满足预期,那我可以去修改代码,修改代码之后的话呢啊,我再次点击编程,对吧?我盘下四维件去编程,编程完成之后,这个时候呢程序就可以运行,我就能够直观的 看到我程序运行的对还是不对。如果说程序正常了,然后的话我把那条线帽跳过去去正常的执行你的代码就行了。如果说程序不正常,那我就不需要去反复的去跳这个跳线帽,那我就可以直接呢再去修改程序,然后呢再去编程, 再去编程,那这个时候呢就方便我去调试程序,对吧?这个呢需要注意的一个地方,当然呢如果说你不想这样反复的去切换这个跳线帽,那还有一种办法就是呢你可以做一个一键下载电路,那我们这边呢也在网上给大家找了一个一键下载电路, 这个大家可以去参考,对吧?在网上可以搜到,包括你可以参考这点原子的都会有这么一个电路,叫做一键下载电路。有了这个一键下载电路之后呢,我们就不需要去反复的去切换那个跳线帽了,那这个一键下载电路呢?大家可以看好这个来实现,实际上就是在我们原来这个三四零芯片的基础上, 把二个 d 和 dst 用来控制我们的这个波特灵和复位这个银角,从而呢完成一键下载,至于他的具体的实现的原理,感兴趣的同学的话呢,可以去搜索一下,了解一下,你不了解的话也没有关系,那你直接引用这个电路,对吧?你反正就是用它来完成下载吗? 他的原理的话,你感兴趣的就去分析分析,不感兴趣的话就算了,那你就可以接住他来完成我们的一键下载,这个呢大家注意一下,那这个就是一键下载电路,这个我们就不再去过多的去解释了。那我们接下来的话还看其他的几个地方, 那这个软件当中呢,还有几些其他的功能,比如说他可以读取期间的信息,我们可以点一下这个,我们按一下复位键,他可以读到你的期间的一些相关的信息,比如说他这边呢,可以读到你这边的这个芯片的 prd, 读到你的这个选项字节, 然后呢还有呢可以读出来你的这个序列号,那他还可以识别你的容量,当然这个地方呢,他识别的并不是特别准,对吧?比如说这个 sgm, 他说是这么多,但实际上我们这个是一个中等容量的一个芯片,他的容量的话应该是二十块,对吧?所以呢他没有那么多,所以呢这个地方他读的是不太准,但是前面这些东西呢,是可以读出来的, 同时呢你还可以去读出你的代码,比如说我刚才把这个代码稍写进去了,还可以把这个代码读出来,比如说我把它保存到 这个位置,我直接把它读出来,但是他读出来呢是一个 b 文件,是一个二级人的文件,不是我们的 hang 的文件,你可以点击保存, 这个时候呢他会把你的这个文件读出来,他读出来这个时候呢就相当于是你可以把别人的芯片里面的程序给他呢破解出来,破解出来之后的话呢,你可以再把它烧回去,但是呢法拉 mcu 呢,他不知 支持烧解 b 文件,只支持烧写 hag 的文件,你可以借助于我们的 st 内客,他提供的一个工具 st 内客优立体,然后借助那个工具呢就可以烧 b 文件,这个时候呢就可以把你这个程序的复现, 但是呢这个时候就说明是你可以去抄别人代码了,但是呢也有个问题,如果说你想防止别人抄你的代码,那这个时候怎么办呢?我们就要用到这个地方有一个叫做选项字节,我们可以打开这个选项字节看一下, 这个选项字节的话呢,我们可以看到在这个地方的话呢,它可以去设置允许你读,还可以呢设置成阻止你读,比如说如果说我设置成这个,我把它设置成阻止读,我采用这个设置,然后的话呢,我把这个勾给它勾上, 然后这个编程我先把它勾掉,就是说他这个选项字节的话呢是干什么呢?是同时 在我编程的时候呢,可以把这个选项字节烧到我们这个芯片里面,因为我们这个芯片内部有一块区域,就是选项字节,这一块区域它是掉链不丢失的,那这块区域里面的话呢,我们可以借助这个软件,在稍写代码的时候,可以把这个选项字节呢写到我们对应的区间里面去。 这个选项字节在什么位置呢?大家感兴趣的话呢,可以去看一下我们的那个存储器的一个空间分布。 我们前面给大家看过手册的吧,在手册里面有一个存储器的那么一个章节,你可以看一下他有一块区域是这个选项字节区域, 那我们这个工具呢,可以在编程的同时把它烧进去,它并不能单独去烧选项字节,但是呢它可以在编程的时候呢把这个选项字节烧进去。那如果说你防止别人想抄你的单码,防止他从你的芯片里面读出来,那你要设置成这个,把它点成这个,这边有个解释,对吧?当他是 其他指,就是不是挨五的时候,他就是不允许你读出了,就防止你对他进行一个擦写。那你采用这个设置,我们呢把它勾上,这个时候呢,我去编程的时候就会把这个选项字节捎进去,我们点击编程, 这个时候他就把它烧进去了,烧进去之后你再来读的时候,他就不允许你去读了,你就读不到了,那我这边把它断个电,重新给大家读一下,看一下,他应该会禁止你去读, 然后的话呢我们来点击读,那这个时候他告诉你芯片已经被设置成了读保护,所以呢你就没办法去读了,这个时候你读弗莱斯也是读不出来的,已经被读保护了。在这个时候如果说你用弗拉 mco 做了这么一个设置的选项,会出现另外一个问题,什么问题呢?这个时候如果说你 你用 st link 做下载,如果说这个时候你在用 st link 去下载,你这个时候不想用窗口下载,你想去 st link 去下载,这个时候呢,你可以看到我们的 st link, 虽然这个地方可以去发现 ft link, 我把 ft link 重新擦一下, 我们看一下 sd link, 这个时候 s link 已经在线了,然后的话呢,我这边的话呢,把板子当中的这个, 我把这个跳线帽呢还跳回到这个波特林接成低电瓶,这个时候我在借助于 sc 立刻进行下载的时候, 你就没办法去下载了,大家看一下,对吧?这个艾特林克是已经再见了,但是这个时候因为你的在弗莱斯布拉 mcu 这个地方,你刚才已经 把它设置成了这个独保户了,这个时候你再用它下载,他是下载不了了。有同学碰到这个问题就不知道怎么办了,他这边是 fl flaisfamout, 你就没办法去下载, 没办法就下载了,这个时候你要想重新能够下载怎么办呢?你必须在这个地方重新给他修改回来,把这个选项字节呢,给他重新设置成允许采用这个设置。然后的话呢,我们呢把这个跳线报 再次给他跳回来,跳到这边的高电瓶。然后呢我在这边把选项自己也给他去做一个修改,我点击编程,我按下复位键 啊,给他同个上电, 我重新上个电,因为我这边 st link 也接着呢,他老是没有掉电,所以呢他这边复位的话没有发挥作用,因为他这边要满足这个条件才能够引导。这个时候呢选项字节就重新被写入了,选项字节重新被写入之后,就说明是我们这个地方呢已经改成了 这个地方已经是允许你这个读出弗莱斯了,你看他如果说你设置成这个,他就阻止你对他进行擦鞋了,他既然阻止你对他进行擦鞋,那你在这个地方去下载的时候,他不允许你擦鞋了,所以你就下载不了。现在的话呢,我已经把它改过来了,改过来之后的话呢,我们再把这个飘线帽, 我再把它跳回去,我们看一下,我把这个镜头调一下,这个地方不太清楚, 然后的话呢我把它 再跳回来,我就可以用 sun 可继续进行下载了,我们看一下 s 丁的有没有在线,在线然后的话呢我就可以进行下载, 所以呢你要注意,对吧?有的同学可能会用福拉 mcu 做了又下载更改这个选项字节,他更改成了这个 ff 阻止读出,这个时候呢他 他并且会阻止你对前四个字节的进行擦写,这个时候你在用 s 立刻进行下载的时候,就会出现刚才那个下线就下载不了,这个时候怎么办呢?你必须借助于法拉 mcu 把这个呢选项字节给他改回来,改成这个,然后的话你才能够进行 再去下载,这个大家要注意一下,至于其他的选项字节,感兴趣的可以自己去研究一下。那这边呢有一个硬件的选项字节,还有呢用户数据,自己这个用户数据字节呢可以自由使用,就是说可以借助这个软件,你可以呢在这里面保存你自己的用户的一些配置的一些参数数据,而且呢他掉链也不 丢失。然后下面这边呢还有个写保护字节,这边呢是把我们这个福来史分了这么多页,你比如说你哪些页的话,你不想被别人在访问了,也就说把它作为一个写保户,你可以把这个勾勾上,那这些地方的这些福来史这个区域呢,就不允许你进行读写了, 那就说你下次再去稍写程序的时候,这块区域呢,他就不会进行读写。但是呢,比如说你如果说勾到前面的, 你去烧血代码的时候,他又不允许读写,那这个时候你就会出现错误,对吧?你烧写程序就会错误,因为你不允许读了,那你程序要烧在这个地方,那也不允许你擦除 富人你写入,那这个时候就会出错。所以呢,大家在用的时候呢,要注意一下这个里面呢就可以参考这个来进行一个设置,这个就是关于选项字节的一个用法,对吧?这个大家感兴趣的可以去了解一下。相关的一个操作,对吧?相关的一个操作, 那这个呢就是关于弗拉 mcu 的一个用法。如果说有同学这个地方选的时候,如果说你选的这个不使用这个大家要注意,也可以均匀下载。 这个时候你在下载的时候呢,需要注意的一个地方,就是说这个时候你不使用这个哈尔的 t 和 didt 啊,你点击编程,他这边可能没有正常,你要去还是要按下复位键他才会去下载。就是说如果说你正常的时候, 你去点击这个下载,他这边在等待,你看这个时候他就可以正常了,所以这个软件有时候的话呢,他需要你用复位键,有时候的话呢啊,他不需要这个大家用的时候,如果说你正常的时候点的时候他不能下载,比如说我这个地方改一下,我改成这个, 如果你点了之后他能够正常下载,也就正常下载了。如果说他点了之后他不能正常,你要去按下复位键,他才能够正常下载, 这个时候大家要注意一下,就是说你用的时候呢要灵活一下,如果说他这边一直在等待,那你可以呢去通过复位键的一个复位,让他去下载程序。如果说你想下载之后呢立马执行,那你就把这个勾勾上,这个时候呢你要把这个呢就勾掉,如果说你这个勾上,这个勾上,大家注意一下,我们可以看一下,对吧? 我们他能够正常执行,我们来看这个时候呢下载完了之后你的程序的话呢他就没有正常运行,这个时候大家注意一下,我们再来下载一下,看看他能不能正常运行,对吧?再点击变成 这个时候呢他就没有运行,对吧?这个时候没有运行。如果说我把这个选项字节给它勾掉,我在这编程我就复位,这个时候呢他才能够去运行。 所以呢你如果说想让你这个程序下载完成之后立马运行你这个选项字节,这个呢就不要打勾,这个大家要注意一下,这个很多同学会出现这种问题的吧,就是如果说你编程之后立马运行,你这个勾上,这个呢就不要勾上,如果说你这个勾上,我们可以看一下 把,这个时候呢又不能自动下载的,你按下复位键下载完成之后,你可以看到他并没有去运行代码,他并没有去运行,所以呢你要想立马运行这个勾就不要勾这个大家要慢慢的摸索的吧。那你再去编程,我按下复位键, 他下载完成之后呢,他就可以运行一次,对吧?那还有一个问题,有同学也会碰到,他会把这个钩钩上,之后呢这个钩他也钩上了,然后呢这个地方他把这个地方设置成阻止读出了,设置成阻止读出,然后采用这个设, 然后呢他点击编程,然后下载, 下载完成之后的话呢,你看他没有去运行,没有去运行的话呢,那如果说你把它跳到这个边的话呢,这个时候呢他也不能去运行了,这个大家注意这个呢,我前面也没有遇到这种情况,就是说如果说你这两个都勾上 你这个程序的话呢,他这个时候这就不能正常运行了,大家要注意,那这个时候你想改过来,重新的去 下载,有同学会重新去下载,这个时候他可能就下载不了了,可以看到下载不了了,这个时候怎么办呢?你必须给他断电,那我这边的话先把 st 那个拔掉,保证这边不要上电,然后的话我把这个按键按下, 把它断电,先把板子断电,然后重新上电,这个时候才能够重新下载,你的板子一直带着电,你按下复位键,他也下载不了, 那这个时候呢你就改不了选项字节了。这个也会有同学会碰到这个问题的吧?那我要这个地方把它改过来,然后呢点击编程,然后这个时候你再去复位,就没有问题了,所以呢你要注意这个断电,有时候呢可能需要断电,这个时候我们这个程序你下载完成之后,那我们呢才能够去 把这个给他跳过去,他才能够去正常执行。这个地方你这两个不要同时勾,不要同时勾,你同时勾了之后,刚才大家看到了,如果说你同时勾了我这个地方,跳过来之后,我按下复位键他才去正常执行。如果说你是两个同时勾了, 那这个时候刚才那个情况下他就不会运行程序,这个大家一定要自己去试一下,对吧?自己去摸索一下就行了。这个呢呃,我们这边也是有时候呢也是前面碰到过这种情况才会给他, 大家呢也就相当于总结了一下,就是没有必要的情况下呢,大家就不要去更改这个选项字节,这个时候呢我们下载他就会执行一次,这个呢就是借助于弗拉 mcu 进行一个程序的一个下载的一个演示, 希望呢能够通过。我们前期呢我们给学生讲的时候呢,包括我们自己在用窗口下载的时候呢,碰到这些问题给大家呢这节课呢做了一个总结,希望大家呢以后碰到这些坑的时候呢能够避免掉。


hello, 大家好,最近很多朋友在使用这个 cube max, 会发现有很多报错哎,不管是在我们工程配置之前,还是说是在我们生成项目的时候啊,那么我们本期视频就带着大家去搭建我们 cube max 的 环境, 那有关这个 qbox 安装包呢,我们就放在评论区了啊,有需要的朋友就在评论区自取哦, ok, 那 么打开我们的这个资料包哎,进入到我们的三二环境里面,找到我们 qbox 的 一个安装文件,双击运行它, 我们本次选择的版本啊,是这个六点一五的,所以说啊,我们就按着顺序去安装即可啊, next next 啊, 到这里的时候大家要注意,首先啊,这里是选择我们的安装路径,这个安装路径上不能出现中文, 尤其是很多朋友们要去选,呃,做买完电脑之后要给自己的设备命名吗?对吧,那这个设备命名的时候,有些朋友们啊,可能会,呃给他命名成中文名 啊,这个中文名其实是不可取的,尤其是像这种国外的软件啊,会出现很多的 bug 啊,我们这里呢就将它移至到我们的第一盘啊, 第一盘 cube max 这文件夹内部, ok, 呃,由于我现在是安装过 cube max 了,所以说,所以说它会提示啊,要不要去覆盖安装啊,我们同意就好了 啊,我这里是因为 cube max 还在运行啊,给它关掉, 然后,呃,就依次去安装它即可啊,同时检查所有的安装路径,它是不是有出现中文或者说是空格啊,有的时候空格呢,也会去影响到呃,我们整个程序的安装,毕竟它是一个空字符,对吧? ok, 那 么在这里啊,就稍微说一下我们 qmax, 它是我们 st 公司开发,专门为 hell 库开发的一个,呃, 工程配置类的文件啊。呃,可以去大大去缩减我们去搭建工程的时候的一个时间啊。 ok, 那 么我们来看一下安装的结果啊,我们这个安装程序,其实他现在看上去他是安装完成了,但实际上我们的后台还是在跑相关的,不过没关系啊,稍微等一会就好了。 ok, 看到这个界面呢则就是我们 cube max 安装完成啊。 ok, 打开我们的 cube max 这里呢就要带着大家来分析一下我们很多的问题,它到底是出现在了哪里 啊?呃,同样啊,我们安装完成之后的第一次启动相应的也会慢一点啊,不过这都是很正常的啊。 ok, 那 进来之后啊,来说一下,我们先来检查我们的这个 connection and updates, 检查我们这里的这个 result folder, 它这里是我们放我们芯片包的文件啊,去把它改一下啊,不要去放在我们这个 c 盘啊,因为也是相同的问题,我们在给设备命名,或者说是给我们的用户命名。 呃,使用中文名的时候啊,会导致有中文字母的,有的时候也会因为空格啊去有这个影响, 我们就把它放到我们第一盘啊,我是放到了第一盘的 pack 这里。 ok, 呃,然后呢,有些同学他可能说啊,我是跳了弹窗之后啊,他会进入到这个界面 啊,跳入弹窗,然后他问你要不要解决这个问题,你在解决问题之后他会你跳到这个界面,并且呢在这个界面里面,呃,这个位置它是一个红色的叉啊,我们只需要把这里啊去点一下就好了, 我们只需要把这个红色叉给它点一下啊,我现在是没问题的啊,红色叉给它点一下,然后呢等它这里运行完成之后,回到 update 这里去把我们的第一个文件夹啊给它改一下就可以了 啊。 ok, 那 么接下来就要来说一下我们相应的芯片包安装啊,也是在我们的 help 里面啊,比如说我现在想要去,呃开发一个 f 幺吧 f 幺系列的芯片,那么我们会选到这个 f 幺系列啊, 去选择相应的芯片包啊,直接去 install 一下啊,在这里这个 install 呢是需要你登录我们 cube max 的 一个账号, 如果说你没有账号,呃是需要先去申请账号,然后呢你才能去下载相应的一个安装包, 当然啊,这个安装包下载它是个在线模式,下载过程之中千万不要断网,如果说断网了,下载了一半断网了,那问题可能就不简单了啊,可能需要去到你的啊派克文件里面去检查这个问题,然后把原本的派克包删掉,然后再去下新的派克包, 这样话才能去呃彻底的解决这个问题。 ok, 那 么我们本期视频啊就到这里啊。

接下来给大家讲解一下如何来安装 st 领口渠道。现在我们 stm 三二开发过程当中肯定要用到一个仿真器,那现在比较流行的仿真器的话,我们有 stling 也有,至另一个 利用仿真器的话,我们可以给开发版下载程序,也可以对程序进行仿真。如果说你使用的是指令可仿真器,那么你就应该安装指定可驱动,因为我们这个开发版使用的是 st 立可仿真器,所以说我们要安装一个 st 定可驱动。好的,接下来我们把 st 定可驱动安装一下, 还是先找到我们的 sdk 文件夹,在 sdk 文件夹当中有一个叫做开发工具,打开开发工具之后,那么大家在这里边可以看到我们这个地方有一个叫做赛踏普智利口,那么这是我们的智力口驱动,而我们要安装的是 st 领口驱动。接下来我们再找一下 st 领口驱动, 大家可以看到这个地方有一个叫做 st 定卡 v 二驱动,我们把它解压一下, 解压之后出现一个文件夹叫 stei 卡 v 二驱动,我们进入这个文件夹,进来之后,我们这边有一个叫做 sten 卡 v 二 usb 抓一玩,对吧?我们点击进入这个文件夹,好的,进来之后我们要把这个驱动安装一下, 因为我的这个 windows 操作系统是六十四类的,所以说我要安装六十四类驱动,建议大家都用六十四类操作系统。好的,接下来我们安装一下这个六十四类的驱动,鼠标双击,然后选择是, 然后点击下一步,然后安装完成,点击完成就 ok 了。

上节课呢,我们讲了创口 isp 的软件的操作步骤,那么具体的原理呢?啊,我们把它补充完。 呃,这个窗口下载了电路图呢,我们先看一下,先看一下我们这个电路图, 在 carbon 原地图这里, 我们把这个霸道的人也打开 这个 usb 转串口呢,还有这个串口,这个一键 s p 呢?这个电路呢, 我们这两个板子都是一样的,所以在原图上都没有什么区别啊,这个呢是 usb 转串口,是不是通过这个 usb mini 接口啊?这是通啊,电脑来了这个 usb 信号,通过这个 set 三四零距把 usb 电瓶呢转换成 t t l 电瓶,然后呢再通过这个跳帽连接我们这个单片机的 串口音就是 p a 九跟 p a 十。霸道这里呢,我看下在哪里 啊,也在这里啊,电路呢是一样的,剩下就是穿这个关键的部分了,一键 s p 下载电路了。等一下我们重点分析一下啊,这个电路 isp 一键下载的电路呢,重点是啊,运了我们这个 bottle 的启动方式, 我们这个 boot 呢,本身呢,连根一页啊,它通过 telemo 接地的,是不是?所以它的程序呢,是下载到直接下载到内部 flash 的, 那么如如果我们想用系统存储器就是 s p 的话,那么我们要改变电瓶,是不是只修改 bottle 零就可以了,是不是因为 bottle 一呢? 如果从内部 flash 的话,它是 s 呢,表示零或一都可以,所以呢我们默认把它接零,那么我们在窗口下载的时候,只需要改改变 port 就可以了,你不是默认就接 这个接地吗?我们接地的时候啊,是这样的接地的,比如说布特零,它是通过一个十 k 的电阻啊,接地的,比如说这一个呢,电阻呢是十 k, 这个呢叫 bootle 零,这呢接地, 如果我把它拉高啊,拉高变成一,那么就是可以通过串口 s p 的,是不是?那么拉高的时候我们怎么把拉高的?我们这样子通过上面接了一个一 k 的电阻,一开 上面的直接三 v 三,这样子就可以把它拉高了,是不是?所以这两个如果你这里十 k 这个电阻没有直接接地的话,那么你是拉不高的,这个不同人呢,直接被接地的,所以这两个十 k 电阻呢,很重要啊,你一定要加上, 因为我们 s p 电路 s p 的,呃,这个电路这里啊,等一下,我们是通过这个八五五零来把它拉高的,拉高的时候呢,我们这里是接了一个 e k 的电阻,就是刚刚我们说的这里说的这个 e k。 好,我们来看一下这个电路,具体呢啊,这个我们刚刚分析了,是不是 原理,我们看几个,先看这个原理图, d t r 跟 r t s 呢?是 c h 三四零的芯片的,这两个银角的电瓶呢,可以通过这个三维机啊,这里面的选项啊来控制,可以控制之后是零还是一 r t s 呢?通过 e k, 然后接一个三极管八五零,然后来控制这个 bota 零的赢家,我们刚刚说了 bota 零呢,它是零的时候是内部的 fas, 要想系统存储器启动的话,要变成一, 是不是要变成一的话,那么这个三极管是不是要导通,导通呢?然后把它拉高是吧?这个 s 八五五零要导通的话, 那么 rts 是不是要输出低电频啊?低电频的话,那么这里打通波特零呢?就被拉高了,拉高了,那么波特的这个引脚呢?就配置成 零跟一,是不是?那么就对系统存储器启动,那么要启动的话已经配置好了,那么是不是要产生复位让系统开启动了?要产生复位的话,这个复位原价我们默认了,在原理图上是 通过一个十克的电子呢把它拉高的,他呢是默认的是高电瓶 扒到这里呢,也是啊,都是通过一个 skin 组 model 是被拉高的,如果要想拉低的话,怎么样拉低的 话,这里这里开关一跟二个引脚是通的,是不是要这里要打通啊?打通到这里,因为我们一开始 rts 呢是 python 低电瓶的,那么想要上面这个八零五零打通, 是不是 dt 啊?要变成高电瓶,高电瓶就是一,是不是高电瓶的话,系统这个一复位一复位的话,他会检测两个不同的眼角啊,他检测 有一段时间,所以会锁定住这个不特零和不特一的这个引起的电瓶。确定好使用方式之后啊,那么就进入真正的程序指定阶段了,那么这时候就开始, 如果我们点击这里的话,程序就通过串口下进去了,是不是 好具体的步骤呢?我们看一下,我这里总结好了,关键是什么呢?配置,第一步要配置 boot 为 isp 模式,那么呢 isp 模式 boot 零呢? 不特一的是为 g n d 的,那么只要不特零被拉高,它就可以配置成 i s p 模式,不特零被压,要被拉高的话 r t s 输低, 只要这个八五五零导通了,那么就可以了,不可能就会被拉高到啊,三点三伏,实际上也不是到三点三伏了,它具体什么呢? 这里有一 k 布特林,下面又接个十 k 的,是不是接了个十 k 的颠阻到地,反正他就能达到高电瓶好这些地步。配置好 boot 的模式, 然后要复位,让系统重新启动,复位呢,要让这个我们这个复引角为低,它本身是高的嘛,是不是让系统重新启动,进入 s p 模式,就是锁定这个 boot 零和 boot 一的这个引起的电瓶,然 要达到这一步,我们 d t r 这里啊,输入高电瓶就可以了,那么这个八零五零就导通了,电瓶呢?这个的啊,这个复位呢,从这里过来就被拉低到跟 r t s 电瓶一样了, 就变成低电瓶了。好,这个时候就可以串口啊,就就可以这个 s p 了。那么第三步,当系统进入 s p 模式之后啊,就是 bota 零跟 bota 一的银角电瓶呢,被锁存之后,锁存之 之后呢,不同零跟不同音呢?这个电瓶呢,你可以更改到其他位置,也可以呢,用作普通的 alco。 这个时候改变不同零和不同音呢,这个影响呢,就不影响了,因为他已经锁存住这个电瓶了,他就知道了 这个程序在已经在下来了,是吧?然后呢,让 bottling 和这个复位引起呢,还原成原来的状态即可。那么原来状态 bottling 是不是接地的,通过 tim 接地是吧? nst 呢,也通过一个 高电瓶拉高到三点三伏是吧?这一步呢,是通过三位机控制 r t s 和 d t r 引脚来实现的啊,这个呢是三位机控制的, 那么系统 s p 下载完毕之后,程序呢,它就下载到 内部 flash 了,像内部 flash 系统还是不知道,嗯,要从哪里执行,这个时候呢,他要重新检测 bottle 零和 bottle 一引起的电瓶, 它呢也是通过三维机控制 r t s 和 d t r 音节来实现。那么我们刚刚说了,还原成这个两个音节啊,还原成原来状态,原来状态啊, 啊,还原成原来状态,复位呢,我们不用管 bot 零呢,还原成零了,是不是 因为这个 booter 一呢,又是默认接直线电的,那么两个都是零,那么就是从内部 flash 启动了,但是要启动之前呢,我们还是要重新检测 booter 零和 booter 一引起的电瓶,那么这个也是由三维机控制 r t s 和 d t r 实践,这个呢给它下载完毕之后,给它一个复位信号,这个复位信号是通过这里编程后是否执行啊来确认的。好,经过我们这个四步的理论分析之后啊, s p 一键下载的原理是不是分析完了?刚我分析的时候只分析的这一部分是不是? 但是这里有个芯片是模拟开关,它具体有什么作用呢?像网上出现的 s p 电流呢,都是只有左边这个部分,它有个问题,就是 它会不稳定,有时呢会不断的进入复位,有时呢或不断的重启进入 icp 模式,或者呢程序下载完毕之后, 他会复位几次?哎,一般呢会有三次到四次这样子呢啊,用呢是能用, 但是从电路严谨上来说呢,这个是我们应该说这个是一个 bug, 那么我这里呢是在这个基础上啊,加了一个模拟开关,把这个 bug 呢啊干掉了,那么这个模拟开关具体它有什么作用呢? 加上我们一开始啊,使用开始编程的时候, c h 三四零啊,它输出 d t r 跟 r t s 输出这个电瓶的时候啊,它是不稳定的, 他这个时间呢,一般不稳定的时间呢,他可能只有几百毫秒,但是我们我这里为了把这个几百毫秒 不稳定的电瓶把它隔离开了呢,加了一个这个模拟开关,这个模拟开关具体怎么起作用呢? 第四呢?是这个第四引脚啊,是死能引脚,我们刚刚说了 r t s 呢,要治低,是零,是不是低 t r 呢?要治高,是不是 young 这个负引脚呢? 通过这里被拉低,但是他不稳定的情况下呢?他有时候高,有时候低,这样子呢,跟我们显老效果呢,是不是不一样的? 那我这样子的话,我们是不是可以通过控制一根银一个啊,这个一角和二角呢?这个通断的时间,我们先让这个开始下的时候啊,这个不稳定的时间, 我们一跟二级引脚呢,他不通,经过一段时间之后再通,那么这个开始的时间呢?我们是不是可以通过这个死能引脚来控制啊?如果他死能 这个引脚啊,需要一秒的时间来使能,那么你前面 d t r 跟 r t s 你不稳定的时间,比如说假如有五百毫秒,是不是就影响不到我这个复位引脚了是不是? 那么这个使能端啊,它怎么来达到一秒的启动呢?如果这里依然是高电瓶的时候,在 t t l 看来,如果啊 t t l 电瓶的时候啊, 如果你的输入,我们这个 e s 从外部引角给它输入高列名的,是不是?如果你的输入达到两幅 呢,我们就摸成高电瓶了,那么一呢就是有效,那么这个两伏通过怎么来控制呢?通过一个这个阿斯电路 r r s 八跟这个电容呢来充电,一开始三点三伏给我们这个电阻,通过这个电阻呢给我们这个电容来充电,因为我们这个电阻啊,一百 k 它比较大,要想这个电容呢,电压充到两伏 这个高列表的时候啊,他需要比较长的时间,我这里测试过呢,时间要一秒,那么一秒才启动 你,你开始下载的时候,你才五百毫米的不稳定,这个 d t r 跟 r t s 的引角啊,那我完全可以把你隔开是不是?那我当我死人完毕之后,一角的跟二角它也通的啊,这个时候呢就可以被真正的被 拉成低电平了。如果你想把这个时间改短一点,那么你可以把我们这个 l r s 八呢这个电阻呢改一下,通过改小这个电阻呢,可以达到减小 这个三 v 三给这个电容充电的时间,就是这个七四 x 这个芯片呢啊,它使能呢时间呢就缩短了,一缩短一使能,一角跟二角呢就通了。 有关这个啊原理的,我这里有分析分析呢,我就从 我们配套的教程里面截图的 啊,这个这章节呢,霸道 跟指南者里面内容是一样的,在 如何用串口下载程序,这里 s p 与键下载原理分析, 这里我要讲有普通的 s p 跟一件 s p 啊,现在有什么区别啊?这个呢是原理分析啊,大家可以看这里啊,可以看这里,我这里呢,六根漆呢,我都是通过实验,通过撕破器来测这个 d t r 跟 r t s。 引角啊,来得出这个结论。 好,那么这个原理分析呢,我们就讲完了,好,这节课就啊讲了 啊,刚刚有个部分呢,我忘了讲,我这里来补充一下,至于什么呢?呃,我们刚刚说的是不是 r t s 低电瓶是零,把这个 bota 拉高进入 bota load d t r 呢?拉高 把这个复位进入复位,是不是?那么总结起来就是这样子,上辈子呢,需要这样的配置, r t s 低电平进入普通 rood, d t r 呢?高电平进入复位, 但是我们具体这个软件上啊,它不是这样设置的,是相反过来的。我们是什么呢? r t s 高地 电瓶进入普通的,跟我们这个低电瓶是相反。 d t r 呢?低电瓶复位,我们是高电瓶进入复位啊,我们这个原理图分析呢,是肯定没有错的,但是我们分析出了结果,跟我们这个软件设置为什么是不一样呢? 这里面设置了一个电瓶的标准,因为 n c u s 这个软件啊,是按照二三二电瓶啊设置的,所以说他当初使软件的时候啊,他不是说通过这个 用我们这个 c c h 三四零这个芯片,它是什么呢?用我们这样的芯片 mask 三二三 pro, 然后通过这种 d b 九的串口呢来下载程序的。那么这二三二标准跟我们 t t l 电瓶的标准 啊,这不一样,他是相反的,完全相反过来的。时尚二十二的高呢,时尚在 ttl 看来是低,他的低呢?在 tl 看来是高,比如说他的逻辑零是这样子的, 那么它是不是高啊?你看它说是低,实际上它是不是高,在 t t l 看来呢,这个就最高了,所以呢,它这里呢就完全反过来了。好,这个是我要补充的。刚刚我把忘了讲了 啊,这个也没有什么太大啊,一半若当初,如果以后啊 呃,你学会了这个三维级编写,那么呢,你可以完全按照这个 t t l 电瓶来编写。那么把这里的选项呢?把改正过来就可以了啊。好,这是我们上节课要补充的。