粉丝399获赞1992

调试的前提是安装好 m d k arm i d e 激活 kill, 确保 kill 能够编译软件。点击 option for target 按钮后,在 debug 标签页中选择好仿真器。 仿真前也要将二开发版连接仿真器,再把仿真器连接至电脑。下面开始讲解三个调试按钮的作用。首先点击 debug 按钮开始调试。 q, 软件的窗口会发生变化,将显示更多窗口。我们不要被这个变化所吓到,他只是为了呈现更多相关调试信息而已。单步调试, 这个按钮的名称是单步调试,顾名思义,他可执行单条语句。执行时如果遇到函数,则会进入函数的内部。执行单条语句。 单步跳过调试,这个按钮的名称是单步跳过调试。 与刚才的单步调试不同的是,这个调试功能在遇到函数时不会进入到函数的内部,而是直接全速运行函数并跳到下一条语句,而不会进入函数中去逐行执行语句。 单步返回调试,直接全速运行当前函数后的所有内容,直到函数返回上一集。

大家好,欢迎来到电子星,今天我们来演示一下 q 和不是 tus 仿真的联合调试,这是我们编写的一个简单的发光二极管闪烁的代码,我们通过 q 编译,编译之后生成害死文件,打开我们的 pro 仿真,建立好电路图, 通过双击单片机,在这里添加我们的程序文件,也就是说害死文件,找到对应的编译害死文件,打开, 打开以后点击 ok, 这样的话就形成了一个编译之后代码,然后通过文普儿跳死仿真验证的一个结果, 点击玩跳子左上左下角的一个类似播放的一个按钮,也就是说启动仿真,仿真启动后会按照我们真实编写的程序去运行,可以看到我们的发光二极管闪烁 后期呢,我们就通过这样一种方式为大家进行代码以及仿真实力的递进式的一个讲解,如果大家有问题可以在留言区留言进行交流,谢谢大家的观看。

跳,怎么快速导出数据文件?哈喽大家好,这里是正在学习单片机的小智,我们在使用跳调试单片机程序,经常会有各种数据保存在对筹 ram 和散筹 fis 中, 有没有一种方法可以方便的导出这些数据到文件,以便后续的加以分析和处理,继续往下看吧。 大家好,我是廖老师好,首先呢我们打开一个项目,然后我们点击 q 调上按钮,进入调试模式。进入调试模式之后呢,比如说啊,我们程序当中有一个表格,那么在这个表格当中呢,存了一些我们的 一些图片的数据啊,比如说这三十二个字节是一张图片,那么呢,我们有没有一种方法可以把这个图片数据给它保存到 到文件当中去了,目前这些数据呢,是以 c 语言的形式啊,嗯,保存在我们这个点去文件当中,那么我们想把这个呃原始的这些实录定制数据以文件的形式保存呢?要怎么办呢?这里给大家介绍一个 qq 当中的一个技巧啊,呃,一条秘密, 首先呢,我们在这个命令窗口啊,有个 command 窗口里面输入一个命令,什么命令啊?叫做 s a f 一啊,保存 四五啊,大写的啊,注意大小写,大写的四五啊,这是这个命令的名字。接下来是我们要导出的这个文件的名字啊,比如说我们如果要导导出在当前的目录下面,我们可以用一个点,用一个斜杠啊,表示在当前的目录,然后我们给他这个文件呢 哦,呃,生产的文件给它取个名字,比如叫 m e m 点 h e x 啊,嗯,这个它这个文件的导出的格式是固定 呢,都是点 h e x 格式啊,然后我们敲一个空格,接下来的参数呢是我们的一个及时地址,然后一个逗号加一个结束地址啊,所以呢接下来我们就要选一个地址啊,我们想导出这个呃表格里面的数据,那首先我们得知道这个表格的他的手地址是多少,这里呢,我们可以把这个呃 表格的地址啊,拖到我们的变量窗口啊,拖到我们的变量窗口,然后呢我们可以把它展开,就像我们可以通过这个看到这里面的数据啊, 然后呢我们来看一下,在这个表格当中,我们其实可以通过看他的这个 y 六值啊,可以知道他的啊地址啊,前面这个年 x 零八零零二三 f 零就是这个表格的他的手机值。当然我们也可以在这个 变量窗口当中啊,输入一个命令啊,叫做取占地啊,取这个数数的名字的两个元素啊,那么就是它的值 啊,就是我们的手例子啊,也是零八零零二三 f 零啊,那么接下来呢,我们就把这个地址啊输在这个长数里面,零 x 啊,零八零零二三 f 零啊,这是它的一个手例子, 然后我们拍个逗号,然后再输一个他的结束的地址啊,如果我们想把整个表格都导出来的话,我们就把整个表格呢啊他的结束地址到结束地址啊, 嗯,都给他导出来,那么这里我们啊先以导出三十二个字节啊为例啊,导出这一张图片为例啊,给大家来展示一下,那么这个里面呢,嗯,总共有三十二个字节啊,我们首先要把这三十二个字节给导出来,那么呢这样的话我们可以呢在这里面,在他的,在他的呃起始地址的基础上再加 这个三十二号啊,那我们有一个简单的方式啊,可以通过这个载用局域服务看一下地址啊,然后我们 再取三十一啊,零到三十一就是三十二个元素了,我们取三十一的地址,那么这个地址的这个元素的这个呃地址啊,就是他的结束地址了啊, 是零 x 零八零零二四零 f 啊啊,输入完成之后我们就可以按回车键啊,好,知道这条命命运已经运行了,运行之后呢,它就会生成一个点 m e m 点 h 呃, h x 的文件, 这个文件在哪里呢?我们可以打开我们的这个工程目录下面,在 q 的目录下面啊,有一个生成了点 m e a e m d x 这个文件啊, 这个文件呢,我们还可以看一下它的大小啊,呃,有一百二十个字节。然后呢我们其实上可以通过这个 jblax 的工具啊,来查看一下它里面的内容,我们可以把这个文件拖到这里面来啊,拖进来之后呢,我们可以对比一下它原始的数据啊,你看在这个表格当中, 在这个表格当中啊,我们来对比一下,你看前面的第一个元素是八零啊,这里也是八零, 然后它的最后一个元素是零幺,那么我们这里也可以看到也是零幺,所以呢它把整个三十二个字节全部保存到这个 m e m 这个围巾里面来了啊, 好,那如果大家来想,嗯,保存其他的这个呃内容啊,其他地址的内容呢?只需要改一下它的及时地址和结束地址就可以了啊,也就是这个这两个地址啊,目前我们保存的是这个 flash 空间当中的这个数据啊,它是以八零开头的 啊,当然你也可以保存这个其他的内存当中的啊,它是以二零开头的啊,比如说你要导出某一个啊,数组啊,某一个变量,或者某一个数组当中的这个呃内容的话,它是保存在 ram 当中的,那么你就把这个地址地址地址和结束地址改一下,我们同样的也可以把 ram 当中的数据能够保存起来啊。

哈喽,大家好,我是 dk 四五,专注于单片机嵌入式物联网技术的分享,那今天来给大家分享的一个知识点呢,就是 q 或者是叫做 mdk, 在调试的时候,我们如何查看 变量的值,因为前两天呢,有粉丝在后台给我留言,希望我讲一个这样的一个主题啊,那今天我就来给大家分享一下该如何操作,这个流程是怎么样的。 那既然是我们调试呢,就需要有板子对吧?你要有一块单面接的开发板或者是其他的可以 运行的一个板子啊,就是你上面有 mcu 或者是一个产品的板子啊,当然呢,除了这个板子以外呢,你还有一个烧路器,就是调试器啊,可以看到我这边的摄像头照出来的两个板子呢,就是右下角的这两个,这个绿色的呢,就是我的木 标版,这是我现在我做的一个 lowa 的开发版,上面是有一款 stm 三二的一个单片机啊,然后这个黑色呢就是我的一个调试器,当然这也是我自己做的一个啊,是一个 dapling 的调试器,当然如果你有 stling 可或者是 jling 都是可以的,因为他们的功能都是差不多的啊, 但是 dip 令可能因为它是一个开源的调制器啊,它的原代码我们是可以自己拿来去进行一个修改的, 所以在这里给大家普及一下,有这样一种就是开源的一个调试器啊,我们可以拿来去进行一个 diy 去修,根据自己想要的功能去修改啊,当然他也没有是版权费的, 我们可以随便去改。好,那接下来我们进入正题,我们来看一下在 mdk 的这个界面下该如何操作啊?好,这是我刚才已经打 开了一个调试界面,现在先把它关掉啊,这个程序呢是一个捞啊,已经已已经移植好的一个捞啊驱动的程序啊,就是这个程序实现的功能呢,是一个点对点的通信。那今天呢,我不重点呢,不是讲这个代码的运行流程,主要我们来看这个操作的步骤啊。 那先给大家说一下今天我们主要实现的一个实现的一个目的啊,就是说我们可以在调试的过程中查看这两个值啊,比如说这个康特这个技术的值,还有 radio, 我们如何来查看?好,那接下来我们先 编一下,看这个代码有没有问题,可以是编意通过。那接下来我们就点这个右上角这个 dbug 这个大写的 d, 不是大写的 d, 是一个红色的 d 这样的一个图标,然后点击它,这时候呢我们的这个板子就会进入到一个调试的状态,当然 mdk 的界面呢,也是一个调试的界面啊,调试的界面呢,下面我们可以看到几个窗口啊, 一个是第一个呢,是堆占的一个窗口,然后第二个是一个卧尺的窗口,这个卧尺窗口呢,就是我们用来查看全局的一些变量的,或者是全局的一些结构体啊,他的一个在调试过程中的一个值啊,然后还有个 merry, 这个 merry 可以干嘛呢?他是可以查看我们 你不管是 flash 啊,或者是内存当中里面的一个值啊,只用你在这里输入一个数据,那这个地址啊,然后他就可以查看那堆站呢,这个堆站的窗口是看什么呢?就比如说我, 我们运行在魅函数里面,这魅函数里面定义的有阿尔巴夫,还有一个 rl en, 那这两个都是全局的一个变量,对吧?那 他都是存在这个函数的一个堆占当中的,所以呢他就会显示在这个窗口里面,就是我们当前运行的这个函数他的堆占里面的一个内容啊。 好,那接下来我来给大家演示一下,我们来如何去先查看这个变量啊,变量呢,首先我们需要把它添加到卧室窗口里面,但如果你 有可能你下面这个卧室窗口没有直接显示出来,那我们来点这样的图标啊,你只用鼠标指到他,你可以就可以看到他这个名称啊,这个卧室窗口,这个戴眼镜的这个窗,这个图标啊, 我们点一下这下面的卧池就消失了,然后我们再点一下这个卧池,他就出来了啊,好,那接下来我们把我们的电电量的名称呢就添加到这里,我们只用直接把这个你想查看的这个变量名啊,把它复制一下, 然后双击这里,就可以把它添加进来,然后回车,回车呢可以看到他初始的直音啊,是一个零 x 零零零零。好,那我们再接下来把成语运行起来啊,运行起来我们可以看到他这个直是不是在不停的变化。 呃,我们来和程序里面对一下啊,我程序里面实现的功能呢,就是在这个媚,在媚的 viv 循环里面啊,他会不停的一个累计加加,当加到五百的时候,他就会重新归零,当然这里显示的是十六精致的值啊,所以你看不出来他是加到, 并且他变化的比较快,所以我们也不可能看到每一个变化的值啊,那我们如何来看到他呃每一步的变化呢?那我们就在这里设一个断点吧,就点击一下,点击下这里有 这个数字左边的这个区域啊,然后他就会程序呢,就会暂停,在这里,可以看到他现在是零一二七,对吧? 零二七呢,那我们继续把程序来运行一下啊,再继续转一下,转一下呢,他会跑到下一个断点,那因为我们是在这个 v 要循环里面呢, 那他肯定下一个循下一个运行的地方呢?还是这里还是会中断?在这里只是他进行了一个循环,可以看到他这个康泰的这台是不是加了一个一,然后我们再点一下运行啊,再点一下运行,他又加了一个一,所以呢在这个调试变量呢,在我们就是在有一些 程序 bug 很不容易发现的时候,就我们就想看一下一步一步他的运行状态,对吧?想看一下他这个变量的值到底该如何变化的,那我们就这样去把它添加到这个窗口里面,就这样一步一步的设一些断点,就来查看你这个变量的值,是非常方便的。 好,那同时呢,我们不光在这里可以添加变量的值啊,你一些就是你定义的 ui n t 八啊,或者十六,或者是三十二这些长量,这些长量,那个数值的一些尺啊,我们也可以看一些,就一些结构题啊, 就比如说我这个 radio 啊,这 radio 呢是定义的一个结构体类型的指针,我们同样是可以把它添加到这里的这种复制粘贴,然后回车,然后可以看到这个创口里面已经添加好了啊,添加好了可以看到我们结构体下面的一些。呃, 一些指针呢?他指向的一个地址啊,都可以看得到,对吧?因为这个结构题他下面是没有变量的,如果他下面还有一些数组呢,你都可以看得到数组里面的值的, 所以这个都是在我们调试中非常方便的。那有的小伙伴可能会想,如果我添加一个没有存在的一个名称呢,是不是也可以啊?那我们来试一下,就泰斯特一吧。这,我在韩叔在这个程序里面是没有定义我这个边量的,他也可以添加成功,但是呢,他会显示一个, 呃, cont, 后面这个我不知道怎么念啊,英语不太好意思,可能就是找不到的意思啊。 呃,但是它能添加成功,但是你又看不到它值,实际上是没有意义的,然后我们直接把它润目补就可以了啊。好,那添加变量的这个流程时间就很简单。好,接下来我们来看一下这个 memory 啊, memory 实际上也是一个比较有用的一个工,一个工具,就我们在调试的过程中,我们如果想看一下 ram 某个区域的一个地址啊,一个地址的数据啊,我们在这里输入地址就可以查看啊,当然你也可以也可以看 flash 里面的数据啊, 就比如说我们输零 x 八零零一二三四,这个是 s t m 三啊,大部分的单片机那个 flash 的一个起始地址啊,我们回车可以看到从零 x 八零零然后往下的数据呢,你都可以看得到啊, 这个就是 flash 里面地址的一个字啊。好,那接下来我们再可以再看一下 ram 里面呢, ram 我记得应该是二零零,然后一二三四。 ok, 现在呢,你也可以看到 ram 里面的数据啊, 就是每一个 ram 的地址啊,数据你都可以看得到的。这在我们程序调试的时候,有时候也是挺方便的啊,也是很有用的一个东西。这两个呢是我最常用的啊,还有这个,呃,堆占的这个我有时候也会用啊, 因为他可以看我们函数内部一个局部的变量的一个值吗?好,那今天呢,这个流程我就得给大家分享到这里,希望大家掌握这个调试的一个技巧啊。呃,当然, 前面问我的这个粉丝呢,可以重点来看一下这个视频啊。好,那今天就给大家分享到这里。好,谢谢大家。

大家好,今天介绍 rmp 软件中调试功能,对于调试工程最经常用的就是运行程序,点击运行程序的按钮之后,程序就会运行起来,点击这个红色停止运行按钮,程序就会停止, 程序会暂停到当前程序运行到的一个位置,然后这个选项是程序复位,是复位到我们程序最开始执行的地方,就是我们的启动文件,这三个按钮是最简单的按钮。然后来说一下这四个不同的调试步骤。 首先第一个单步调试,单步调试是每条语句都会去执行,比如说我们现在的断点运行的话,它在这个位置点击单步调试会跳到下一步,然后再点击一下单步调试,就 会跳转到这个函数题里面去执行。第二个逐步调试,点击他之后跳到下一个语句上,但是和刚才的单不调试不同,就是这里函数上的位置,现在执行下一步之后,单不调试会跳转到函数里面, 但是逐步调试不会,他不会进入函数体,而是跳到下一个语句中,这是单步调式不会做的执行步骤。第三个是跳出调试,这个跳出调试并不是跳出工程的调试,而是跳出这个函数体,跳转到最外层函数中, 比如说我们现在运行到这个函数里面,点击这一步是跳回到 may 函数里面。第四个就是一个运行的光标处,比如说光标上一道这里,点击这个按钮,他就会运行到,这一 不他就会停到光标所在的地方。然后最后一个箭头,这个箭头是一个跳转到暂停处,比如说我现在查看文件,查询到其他文件去了,我想找到我刚才运行停在了哪里, 点击这里就会看到光点暂停的地方,这就是几个调试的按钮的功能介绍。好了,本次分享到此结束,感谢观看。

学单面积找夏老师。大家好,我是夏老师。然后再点一下,这个是仿真的啊, 这个是在线仿真,这个仿真他是纯软件的啊,跟硬件没关系,他就是 q 软件,根据你真正的一个给了一个参数,然后来跑你的程序啊?和板子没关系啊,他不是硬件在线仿真, 一般硬件在线仿真的话我不怎么喜欢用啊,我觉得这个东西配置太麻烦了,只要你思维逻辑对了的话,结果都有了啊,没必要用仿真,仿真镜面你配置一下可能要配置你半个小时,配置好了过后即使调试成功了,你又要得把那 仿生部分的代码又要给他删掉,又要重新调,我就觉得那个没什么必要啊,有那个时间我还不如说我直接想要看某一个数据正不正常,我就直接加个易经平, 把那个变量让它显示在我的液晶屏上面,那么那么我们就知道这个变量到底正不正确啊,有没有问题?我都是通过排除法来找这些问题的啊。单面机的变成当中我是不喜欢用仿真的,这个就是我们一个软件模拟仿真的一个界面, 然后这个就是他自动生成的会边啊,这个我们可以不用看,我们可以通过拖动这个框就可以把它放到我们想要的位置啊。当我们按着鼠标左键不要松,然后就可以拖动他移动啊,然后你看我可以放在这里,然后这里就变得浅蓝色,如果我们松开 开他就会变成这样子,我们鼠标放在这里这个蓝的上面,按住左键拖动,然后我们想放在哪个位置,就是这,这有有四个箭头,这里这里这里这里,是吧?他都在变还,这里也可以放,这里也可以放,是不是? 然后我一般会放在这里啊,然后把这里拖过来,因为这个基本上都不看的啊,然后有的时候大家会发现把这些框点的不见了啊,一样的啊,都在 vivo 里面设置啊,大家记住 保持这样的,这个就是选中了的啊,这个带了黄色变了色的,就是他是选择出来的啊,然后就是这样啊, 然后保证和这一样的话,选择一样的话,那么你的窗口就是和我当前的窗口是一样的啊,大家记住窗口就在六里面去调出来的啊, 然后这个就是六里面的一些快捷键啊,你看这个图形跟着是不是一样的,就是这些快捷键啊。好,我们来看一下我们 q 软件仿真的一个使用方法,首先 这里有个 rst 的图标,这个图标就是复位按钮,当我们点下复位按钮的时候,程序就会在起始位置等待执行。 好,我们点一下复位按钮,然后第二个按钮就是全速执行按钮,当我们点一下全速执行,程序就会无限循环的执行我们的程序。好,我们点一下我们的 全速执行,点一下全速执行过后,第三个按钮就会被激活,就是这个按钮,一个红色的叉叉,这个按钮就是停止按钮,既然有全速执行,肯定就要有个停止按钮,是不是?这个就很好理解,点一下停止按钮,程序就会结束,全速执行, 我们来看一下第四个按钮,第四个按钮就是单步直行按钮,我们先复位一下,我们来看一下单步直行的运行流程啊,我们点一下单步直行, 点一下单步直行的时候,我们就可以看到这里有一个箭头的图标,箭头的图标就是指是我们当前程序运行的位置,我们再点击一下单步直行, 我们程序就执行到了这里,这个底类函数现在还没有执行,他是等待执行,如果说我们再点击一次单步执行的话,他就开始执行这个底类函数,我们再点击一次单步执行, 我们看一下我们的程序,我们的程序已经运行到了底类函数的内部,然后再等待执行这个货语句,我们这个货语句它是一个无大挂号内容的货语句,单步执行, 对于没有大挂号内容的复语句,他就把它当成是一条语句,点一下他就会直接把这条语句执行完。如果说这个复语句他有大挂号内容,那么单步执行就要 循环三万五千四百三十四次,我们仿真的时候我们不可能点三万多次啊。那么这第六个图标就是解决这个问题的,就是这个图标,这个按钮的作用就是跳出当前执行,就点击这个跳出当前执行, 我们看一下这些图标啊,他这个图标很形象啊,基本上看到这个图标的图示,我们大概就能知道这个图标按钮的一个作用啊,然后这个就是 跨过当前执行。跨过当前执行和单步执行唯一的区别就是他不执行函数内部的语句,单步执行他是他要进入到函数内部,执行函数内部的每一条语句,而跨过当前执行,他是不进入函数内部的 啊,他把函数就当成是一条语句直接运行完,这个就是单步直行和跨过当前直行的一个区别啊。 跨过当年执行也会遇到这种货与句的 n 字循环,那么这个时候也是一样的,也要通过跳出执行这个按钮来跳出货与句,或者某种,或者是某种其他的循环语句,因为我们的货与句它可以写在函数里面,是不是 我们也可以不写在函数里面?跨过当间执行,他只是跨过函数,不执行函数内部的每条语句,但是我们的酒馆语句他是可以不写在函数里面的。假如说 我们循环或许在这里,那么你跨过当前直行,他只能跨过函数内部,他跨过不了这里啊。好,这一个按钮就是直行到光标位, 他是什么作用啊?假如说我们的鼠标我们放在这里,这里有一个在闪,是不是我们再点击这里执行到光标位置,点击这里我们的程序就会执行到这个鼠标的位置停止, 我们把它放在这里,那么程序就会执行到这里停止。这个就是我们 q 软件纺织的一个常见的使用方法。好,我们复位一下。

碰到 care 不能实时刷新怎么办?哈喽大家好,这里是正在学单片机的小智,碰到 care 不能实时刷新怎么办?我们在使用 care 调试单片机程序,发现变量不可实时刷新或者不可用怎么办?下面给大家分享 care 的调试技巧。 大家好,我是廖老师,那我们平时在使用 q 进行程序调试的时候,会发现这个变量窗口当中的这个变量不能实时刷新, 或者呢有时候我们拖进去的变量不可用,这是什么情况呢?怎么样解决它?那么今天我们给大家分享一下 q 的一个调试技巧。那首先呢,我们来看一下这个现象啊,当我们进行程序调试的时候, 我们把这个变量窗口给展开啊,然后呢我们点击全速运行,发现我们这个变量窗口里的变量啊,没有变 变化,但当时我们停下来的时候啊,比如说我们那个打个断点啊,当,当这个程序停下来的时候才会有变化啊,这个变量窗口的变量才会变。嗯,那么怎么解决这个问题呢 啊?这个问题呢,其实上是我们需要设置一下啊,在这个 vivo 窗口里面有一个,嗯,窗口的刷新按钮啊,我们需要把它勾选上啊,当你把这个勾选上之后,我们再把它点击全是运行啊,此时呢,我们可以看到这个变量呢,它是可以实时的变化啊,实时的有变化 啊,这是我们做的一个电子沙漏程序啊,我们可以看到啊,这个变量可以实时同步的显示我们这个计时的过程 啊,这个在我们程序调试的时候啊,比较方便啊,所以呢这个呢大家要注意一下,需要把我们这个实时刷新按钮给它勾选上, 那么还有一种情况呢,就是我们的变量无效啊,他这个变量窗口啊,并不是所有的变量都能够展示出来,比如说我们在我们函数里面定义的一个局部变量啊,比如说我们把这个是在这个函数里面定义的一个局部变量,我们把它拖到这个变量窗口,我们会发现这里呢,是啊,不能够 显示的啊。呃,我们这个变量窗口实时显示的只能是全局变量啊。呃,局部变量的话是不能显示的,是不能显示的,那么什么时候可以显示呢?我们需要进到这个函数里面来的时候才会显示,比如我们这个打个断点啊,呃,我们打个断点, 然后呢我们把它复位一下啊,我们从头来一下啊,当我们程序停在我断点处的时候,进到这个函数里面来的时候,我们会发现这个啊,变量 sp 呢,它就是可以显示的啊,所以呢这个问题呢,就是说我们要查看局部变量的时候,必须要等,要要在这个函数啊,进到这个函数里面来的时候啊,进行当不调 模式的时候才会显示出来啊,如果我们继续全速运行啊,那么这个同样是还会显示啊,就是显示啊,就是找不到这个变量啊啊,所以今天就给大家分享到这里啊。

五分钟上手使用 ko 五教您如何使用 mcu 单片机重要的开发软件 to 五简单介绍一下 ko 五, ko 五经常用于各种 mco 单片机的程序设计,尤其是 stm 三二系列, ko 五也支持程序下载以及在线调试。 q 五的基本使用方法与流程,第一步,新建工程,选择合适的 mcu 七键。第二步,添加原文件 第三步,配置工程,包括头文件路径、红定义、使用的调试器、下载器等。第四步,编译第五步,下载第六步,在线调试 首先我们打开 q 五,我们的 m c u 单片机型号是 st m 三二 f 一零三 c 八 t 六,当前的 q 五七建库里面 没有这种型号。手动添加,找到对应的 pack, 新建工程, 选择对应器件, 等待程序完成。工程建立 在这里管理并添加原文件,包括启动文件库、函数、用户程序等。 添加完毕,返回工程页面就可以看到添加的所有文件。 点击这个锤子进入工程配置,设置设置红定义,红定义由项目工程具体决定。设置头文件路径, 添加完毕,返回配置页面。设置工程编译,自动生成用于下载的 hax 文件。这里设计 mcu 的内存分配一般不用动, 将指定的调试器及下载器链接至电脑,在这里设置调试器,一般 stm 三十二用 slink, 具体由实际使用的设备决定。设置完毕,返回工程, 点击编译,如果报错则根据具体错误进行修改,例如原文件语法错误,缺少文件等。下载 ok, enjoy。 至于 debug 功能,点击 这里。进入 debug 模式后,程序停止,在开始位置 设置断点,运行程序,即暂停在断点处,再次点运行,程序会继续运行或暂停于下一个断点。可以看到指定变量的数值 以及寄存器的情况,程序运行情况等。 再次点击这里退出 debug 模式, enjoy。 感谢收看今天的视频。


大家好,欢迎来到电子芯,今天我们来看一下通过 q 和 prus 仿真进行发光二极管的点亮,这是我们一个发光二极管电路, 我们电路当中呢发光二极管,然后设计了一个限流电阻,通过接高电瓶,然后控制我们发光二极管的负极,也就是说阴极, 如果输出低电瓶,刚好我们符合发光二极管的一个电瓶要求,这样的话就会点亮,如果 输出高电瓶,发光二极管就会熄灭,这是我们通过 p 一点七口进行一个控制, 我们来到程序当中,首先要包含我们的单片机寄存器头文件,接下来就是定义我们这个发光二极管控制的银角接口 p 一点七,这个一定要和我们的电路当中对应起来, 我们这里是 p 一点七之后我们可以随意的命名,一般我们是命名的话是 采取一个啊含义的命名,也就是说看到这个名字我们就大概可以知道电路当中对应的是什么。 比如当前 led, 我们一看他肯定是一个发光二极管, 然后关键词 sb i t, 这个意思就是说我们要将这个计算器给他进行一个命名,也就是说 led 就代表 p 一点七 这里所有的 led。 接下来就是说我们的内函数,内函数呢,我们按照这规则去写就可以了,这没有什么可讲的,他没有参数, 这里呢其实他有一个返回值,返回的是零,这个我们这里写一个外偶的也没有错误, 不行呢,也是可以的。然后我们首先将它进行初始化,等于零,其实这里就可以让他进行一个点亮,零 就是低电瓶,他就已经亮了, 双斜杠屏蔽这个所有的绿色的代码都是没有实际含义的,就是说他是注视在编译的时候呢,就直接相当于没有,不会生成任何的啊。执行文件 我现在可以来编一下,可以看到我们下面零错误,零警告,然后 我们来打开我们的仿真双击单片机,找到我们对应的代码,找到害死文件,点击打开,然后这边点 点击我们的, ok, 这样我左下角运行, 运行以后他就点亮了,这就是一个点亮的代码,很简单很简单,那如果我们在这里给他设置为高电频,我们再来看一下 这个害死文件呢,设置好以后只要我们重新运行就可以了, 运行以后他是不会亮。运行以后我们可以看到这里有好多红色的点,红色的代表高电瓶,像这里有一个蓝色的点代表低电瓶,这就表示已经运行 在运行状态,这就是我们这个 led 点亮,如果大家有问题可以在留言区留言,我们进行交流。我们的这个原 文件放在我们的公众号当中,这里有写我们啊是在什么我们今我们的视频和文章会同步发布,大家可以在我们的文章当中获取我们的原文件进行学习,好,谢谢大家的观看。

大家晚上好,这里是梦环记,由于最近有很多同学应该在做课程设计或毕业设计吧,所以有很多同学都在咨询这个,有一些 呃设计案例他出不来一些效果之后,或者完整不成一些功能之后要怎么处理?那么今天我给大家推荐一下我有时候常用的 这一种联合调试的一种方法吧。首先我们这里就以这个啊,一个灯闪烁的这个案例来说吧。啊, 呃,首先这个电路图大家应该都很熟了吧,这个就是一个那个限流电阻,然后这边就是一个发光二极管, 呃,因为我最小电路这里省略了嘛,是吧?就是它的效果就是,嗯,这个灯会闪烁嘛,然后这边是它的一个代码,对吧?这边是它的一个代码,很简单的一个代码。 那么我首先给大家一般来说,如果我们正常就是把这个那个文件这里打开,找到那个文件,然后导入进去就好了吗?是吧?点 ok, 然后开始返针就好了, 但是如果他不出效果,很多同学不知道是这个电路的问题还是这个代码的问题,对不对?那么我们这这个时候 我们是建议大家联合,反正啊所谓的联合反正就是第一步,我们先在这个就是在 protax 里面第八个里面先把这个 embo 远程调试给给远程调试,他如果不点的话是没打勾的,我们先把他打勾,就变成我们刚才这样子有打勾的这个状态,对吧? 然后然后我们要把那个呃这个 h e x 文件导入这个里面,对吧?导入这个里面,这个大家应该都会吧,然后关于这个,呃, kill 这个新建工程,这个前面已经说过,我这里就不说了啊,如果大家导出的时候没有 h e x 文件,就是这里嘛, altput 这里, 大家把这个勾点起来就有 h e x 的那个文件了啊,这个我就不讲了啊,然后我们这里要点的就是我们点,要点 protec 的这里, oppo tising 就是 for 这个, 或者如果我们就是因为我们这里现在是一个单文件吧,没关系啊,单文件的话我们可以直接就点加这里,如果是多文件的话,大家记得还是点这个吧,这项目这里哦不推进破这个 退回一。然后我们要点一下,这里有个第八个,一般来说我们刚点的时候,这个地方是一个空白的啊,大家要点这里,点 us 右边这里, 然后如果然后点 potass vs 实名 link, 就是这个,就是他的那个调试器吧,反正嘛调试器,如果大家 第一次打开的时候,可能你的选项里面是没有这个的啊, plus 是没有这个的啊,你可能就有前面几个,那没有最后一个要怎么办?一般我是直接就推荐大家去下载一个,下载一个这个,这这个这个东西啊, 这是 v d n a g d i 点 e x e 的这个,这个文件啊,装完之后,装完之后 自然会有那个,至于这个装法,你们大家可以百度一下啊,或者网上还有一种方法是,呃,通过那个病改一些东西的,那个可能有点麻烦,大家 看你个人兴趣吧,你只要百度一搜 ko 跟那个 plus, 反正连力的那个软件应该都有很多,或者方法应该都有很多的, 我这里只是简单跟大家说一下啊,然后继续啊,刚才点到这里 d bug, 然后点到这里,然后就点 o 这里也这两个也可以,这这两个勾也可以都点起来啊,就点都点起来。这边有个 run two mile, 就是他运行的时候会自动跳到那个 主程序那里的,你也可以把它勾起来,然后其他就点 ok 就好了。然后我们注意看啊,然后我们接下去,然后我们接下去就开始调调 debug 了啊,就开始这里注意看啊, 注意看,你现在这里面已经已经已经都黑掉了,你不能点了,刚才我们都是练的直接就点了,是吧?然后我们现在直接开始 这里,大家可以直接用这一排里面的那个,那个也可以用 debug 里面,这里是一样的啊,这是菜单栏,一个是这个快快捷那个栏啊,这个是一样的。 然后我们现在的光标应该是已经调到这个光标是调到这里就已经开始了,我点一下,直接点一下那个 run 啊,就自动运行,你看我刚才没有点那个 protax 里面,它这个已经连力了啊,然后有些同学说 他想要看一下那个一些东西的话单步调试,这里就是单步调试啊,这个是跳出那个 step o 嘛,就跳出那个,然后有些东西他他他他很多东西, 我们只要点一下弹幕,他就程序就在运行了啊,然后有些有些同学说这里会出现错误, 这个就调试的过程是比较复杂的啊,这个问题为什么会显示错误,大家自己去调试一下啊,百度可以查一下原因啊。 然后我们就比如说这个是 run two, 就是你你哪,你觉得哪一行有问题?注,那我重新再演示一遍,大家注意看啊,我先点一下 是不是进入一个程序了,哎,他已经进入了这个程序,这个程序因为很大,有些程序他是这个联合调试,他也有极限的啊,有一些比如说,呃,那种,那种 高速短时还有一直循环的,可能数比较大的,他可能没法循环,就像这个有些他可能就比较啊,毕竟软件吧,也可能是我反正的用的比较少,因为我大部分时间毕竟只是个爱好者,做的 程序也不是特别巨大,所以说一般都是呃分分模块的去调试的,所以说不像他们有些东西要要很那个的去调试,但是这是一种方法,大家如果说课程设计遇到什么问题, 比如说你觉得哪一颗模块有问题,你可以单独把那个模块分出来,然后用这种方法去试一下啊,就是一直调试啊,然后关于这个里面具体的一些调试的方法,大家可以自己去百度一下啊, 然后晚上有很多那个有经验的 up 主会,会有发视频的,大家可以多去看看啊。好了,这里是木环记啊,今天就讲这么多,谢谢大家啊。

大家好,我是周公,今天给大家讲解 k 五 m dk 的安装,首先纪念一个 mdk 的安装入宾, mdk 右级以管理的身份运行, 选择是点下一步选择,我同意点下一步安装路径浏览,选择新建的文件路径,点选择文件夹 更改也选择到这里,点下一步随便输入名称和邮箱号, 下一步等待安装完成。 点信任安装驱动点,安装 点心按摩, 取消勾选点完成。这是更新开发包,暂时不需要点关掉 扭,右击以关联身份运行,点试。然后再右击以关联身份运行注册器,点试 找到文件,选择许可管理,复制 id 号,粘贴到注册机,选择按点生成序列号,复制序列号,粘贴到 新的序列号位置,添加序列号,注册时间二零三二年,注册成功。 下下面我们安装开发包点这个 导入,导入 stm 三二开发直播,选择打开 等待导入完成,导入完成。 这样的话我们新建程序的时候可以选择 s tm 三二 sf 系列单面机进行开发。这次安装完成,谢谢大家观看。

大家好,上一节我们讲述了嵌入式软硬件实战开发片的这个软软件部分的一个整体规划,哎,以及这个本系列课程区别于其他课程的一些特色特点, 哎,然后还有一些优势是什么?然后从本节课程的话,就是开始我们这个正式的一些学习内容,就是首先是这个开发工具片的学习, 我们公寓善其事必先利其器,那我们首先要哎这个了解和使用,会使用这些开发工具。好, 那我们哎本节课程主要讲的内容是哎两个方面。第一个第一,第一个是 q 这个软件的一个介绍,基本实用的一个介绍,主要是从 q 的一些呃菜单, 甘蓝,还有这个 q 的一些界面,以及 q 的一些常用的一些设置,以及他哎所常用的是出现的一些问题等等。从这方面哎就是使用软件的时候常见的一些几个问题这方面来入手。那么在下一节的时候我们会讲这个 q 哎 q 这个建立工程的一些文件,文件夹的命名,或者是文件的一些嗯结构,那我们知道就是我们一般建立一个空工程,然后供大家来使用,这个空工程里面有一些常用的一些功能, 还有就是我们这个标准库里面的一些这个外设,外设的一些呃驱动函数,以及他这个期间的相关的一些启动文件等等,这些东 东西都是具备的,然后用户拿到这个的话就直接能在上面进行开发。这哎就是我们所建立的这样一个工程提供给大家。 然后以后的话在做项目的过程中,如果可以用的话,可以参考或者直接拿来使用也行。接下来就是讲一些这个 q 的这个调试。 好,调试哎功能,调试的一些界面,调试的一些设置等等,这方面还有,呃 重要的一点就是说还有一些阿姆的这个哎,因为我们 q 的话主要针对于是阿姆和的来进行,阿姆公司推出的对于阿姆和的一些单片机来进行哎是开发的一个工具,那么我们就哎对这个阿姆所常用的这个 追踪功能哎就是进行一个介绍使用说明,那通过我们就是发现问题的话,一般通过这个调试的主要通过调试的手段,但是我们 q 的话就是阿姆这个还提供了一种追踪的手段,也就是说调试加追踪 这两个结合的方式来分析解决定位问题,这样有助于我们快速的解决哎问题,完好我们的这个项目任务。好,那哎开始我们这个哎 q 软件界面的一个哎学习。好, 那这个是一个 q 的一个软件界面,是一个工程卡,那我们来看一下,来看一下把 q 这个软件打开,这是我们打开的一个 q 软件。 好,那么我们先开始看一下这上面这些菜单栏,还有这些工具栏。工具栏好,这是上面有一排工具栏,下面有一排工具栏,这些工具栏其实在上面这些菜单栏里面也包含了常用的菜单栏里面的内容 已经在这个工具栏里面体现出来了。好,那么我们来首先来看一下这个哎这个工具栏 哎菜单栏首先它是一个新建的一个文件,新建文件那这个地方就有我们哎就是 写 c 点, c 点 h 的话,在这个里面可以直接建立,然后命名、保存,也可以在这个地方来进行一个,嗯,添加,添加也行,也可以。好,哎,大多数人 就是通过这种方式来进行添加的。好,那这个就是建立一个文件,当然我们这个这个地方也可以,哎,那个瑞德密,哎呀点 tax 也可以从这个地方来建啊。那接下来就是打开一个工程, 关闭工程,那这个都是很很简单的,那接下来就是 cocos 这些 coo, 这些大家都都会用,都会用,那这个也没啥说的,这是现在,你看这个地方也有,这是欧喷打开一个工程,打开工程,然后这个是哎,哎,保存, 这个保存所有这个是好,这个地方是一个,哎,另存为,那这些都有,这些都有,那这个地方就是破解用的,破解用的,破解软件用的,然后这个 cid 放到那个 k 镇那个软件里面,然后 成这样一个码,然后通过这个地方添加进来,这我们就给破解了,破解了,然后哎,接下来的话,我们,哎再看这个下面,这下面这些是最近打开的一个 点 c 点 h 的一些文件,在下面这个是打印,这是打印的一些设置,让我们一般都不用这个。然后艾对特里面就是我们常用的这个就是,呃撤销,哎,剪切、复制、粘粘切等等这些都有。然后这个是我们这个向导,这个 向后,哎,这是向前向后的这个一个东西,这个你看这个是这个是向后啊,这是往上往上走的,然后他也可以向向下,你看这是往往下往后上走的啊, 那这个其实都用的不多,不重要。然后这个其实就是一个插入, 然后我们这个也用的比较少,那这个这几个用的都比较少,那用的多的是哪个?就是这个这几个,哎,这个寻找就是这个我们怎么怎么来呢?就是 ctrl f, 然后这个是在所有的文件里面来进行寻找。这个这个是当然是在当前工程的整个工程里面,那这个是可以是当前文件的去, 所以当前文件,所以那当然这个也可以设置成整个工程的一个,所以这个都是可以的。那这个就是寻找,因为有些就比如说这个变量哈,那我们设置成整个工程啊,看这个工,整个工程都有。那如果你看 这个是在这个 cotes m 四点四 h, 呃,这个 cotes 四这个 h 里面,然后如果说是,哎,我们如果在当前工程,这是当前工程,然后在整个工程来, 这是在下一个寻找,那我们在这个整个工程里面去找的话,那他这个也是除了这个里面,其实其他的都没用到,那所以说他在这个里面只有在这个里面有,那么我们来另找一个,另找一个,比方说我们这个扛 这个,这个的话在整个工程里面哪用到了呢?哎,就是在这个这么多地方,这么多地方,哎,就是主要是在 stdl 点 h 里面用到了,然后慢点 c 里面 用到了啊,这,这就是整个工程去寻找这个关键字,这个还有一个里面他有一个替换,替换,哎,在这个下面,在这的话,你你寻找就是想下了,然后你在这个地方点一下,哎,他就整整起了, 那你这个就是比如说哎呀替换,整个工程里面要把上面这个变量替换成下面哪个变量,或者是给哪个变量重新命一下名,整个工程里面全部统一替换,那这个是比较重要的,那我们寻找和替换,这个是用的非常非常多的啊。 然后接下来就是我们这个,哎轮廓,这个轮廓是什么?轮廓也不重要,轮廓就是这个线,这个线有没有这个线的问题。好,那其实这样的话,哎,哎隐藏这就没了,然后显示的话他就 出来了,就这么一个,然后高级选项,高级选项来我们看一下,那高级选项就是哎这些,当然我们现在也用的不多,这个,这个用的哎,用的不是很多,然后用的多的还有一个卡飞杆。 好,那我们来看艾德特,那我们为什么要选这个呢?这里面主之前的话,哎,默认的话是他为什么要选选这个 gb 二三幺二, 主要是我们这个 q 里面有一些,你如果备注啊写一些汉字在里面,如果你选其他的的话,他会这个汉字会出现乱码 的现象,那如果选 jb 二三幺三这种编码方式的话,那就不会出现乱码,是正常显示。好,这个是颜色,颜色和字体这个像哎用,用的也是非常非常多的,那这个字 大小当然是哎,我们一般来说觉得这个太小的话,太小的话我们要放大,按照 ctrl, 然后鼠标的滚轮,然后也要滚就放大了。好, 那这个通过这个地方也可以设置这个,呃字体的一些大小以及颜色啊,那这个地方其实哎就是设置的就是一行背景行的一个哎颜色,那这个你们就选中的是 哎字字的一些颜色,比方说,哎,我们选这个是不是绿色,然后选它是蓝色,这个也没有什么呃可说的。然后, 哎,主要的以后啊,就是这有一个,这有一个,他这个这个是背景颜色,背景颜色的一个调节,这谁谁家家编辑 记文文件就是点 c、 点点 s, 或者是点点 c、 点 cpp 这种的话,哎,这是哎背景整个背景文本背景的一个呃,更改,我们是浅绿色的,这样,嗯,比较节省眼睛一点,这个数字是显得是这种颜色的,数字是这种颜色的 操作符啦、块啦这些,哎,这是整个块的一个,这个整个块的这个叫什么?叫哎? 解释,哎,解释,然后这个行的一个就是备注吗?备注,解释,然后他是都是这种绿色的,那怎么看嘞?好,那比如说方说我们他就这种绿色,他就这个这设置的这种颜色而已,设置的这种颜色当然很多哎, 别人就是在调代码的时候,对一些哎自己的颜色觉得哪些颜色看着舒服,因为个人因人而异进行一个调节和 替换。好,那我们这个背景颜色从我这儿去来调节字字体,字体的话太色字体是黑色的,我们从这个地方来进行一个设置。好,那这些后面都是字符串啦,字符啦、操作符啦,这些都是 都有他自己的颜色,都有他自己的颜色可以分得清,你看这个字符,这个是这种颜色的,这有都有显示,然后这个关键字,你看关键字是这种蓝色的,你看这硬头歪歪的都是蓝色的啊,他,他这个就是这样子。 好,哎,接下来的话我们再来看一下这个,呃, vivo, vivo 的话就是些工具栏吗?他这个非要工具栏, beyond 工具栏,你看这是这个是文件的一些工具栏,然后 beyond 工具栏就是他这几个,然后这是工具栏,你看,哎,接下来 后面这些是什么?这个特窗口,这是窗口栏,窗口栏就是这些,这些,哎,模板这些都是 红了这些关键字了啥的,这些是所用的的函数,函数,每个文件里面看用的哪些函数他都会有体现,那这个是他里面呃,所包含的一些书籍,然后这个是我们所说的一个工程。好,那这个就是 vivo 试试图里面的一些东西, 这个是工程,这是打开工程,新建工程,然后新建多个工程,关闭工程,然后管理这个管 的话,哎,这里面这个也是用的是比较多的,然后这几个,这几个,嗯的话,哎,也是在这个地方也是有的。好,那我们再来看一下,这是编译的,编译的,这和这个是那个魔法棒,魔术棒,这个用的比较多,这个是清除这个编译好, 那这个魔法棒叫就是其实就是工程选项卡,这个是用的特别特别多的,这个里面的内容大家一定要非常的清楚,因为我们用的最多的也就是那个地方,这是弗兰史下载程序用的,连上我们的这个仿真器,得八个,然后就能就能当录的里面的东西,你看 这个是我们没选这个仿真器,等会我们会选仿真器,选完之后就可以当录的,还可以擦出里面的内容。好,那这是 debug, debug 是在这个地方,在很多的里面东西 都是这些断点啦什么的,都是可以在第八个模式下去加的。然后这是外设,这个是工具栏,其他的都不不重要,这个 haopo 里面就是主要哎,说了这个微人的工具,哎,怎么用怎么用,然后这个版本啦,什么检查更新了这些, 这个很多软件都有,然后咱们就不说了,那这个是哎向后向前的,然后哎这个这个比如说这是屏蔽的,比如说哎,这个是,比如说这么一选,哎,这个就是屏蔽了,这个是解除屏蔽的,这个就是 你看向左对齐,然后这个是向右伸一格,他是这样子的,就是为了排版的方便来进行呃设置的。然后这个是咖啡的那个配置,我们这个点 因为常用到的,常用到的所有的东西都在这个里面都有这个,哎,我们要用这个,用这个,这个用好,一个管理一个魔法棒,一个这个像扳手一样的东西,就这几个比较常用,然后在这个就是得把个模式,这个是断点,好, 接下来我们来看的看的是什么?看的就是这个魔法棒里面的一些内容,都主要主要是哪些东西 好,哎呦,这个魔法棒我们先点开,第一个是 defines, defines 好, 是是一个什么呢?就是选择这个芯片的这个型号,那个选择的这个芯片的型号的话,他就是编译器的一些标志啊,选择编译哪个?呃,芯片 在里面代码,然后编这个编辑器的一个标志,以及这个存储器的一个映射,映射表,以及他这个弗兰史下载算法这些只要你把它选中之后,他就是默认的就配起来了,配好了。好, 那,哎,这个,呃,后面这些什么,哎?弗兰石加载算法啦,存储器映射表啦,这后面我们再说,大家有这个概念就行。然后这个地方的话你就选选,选中了这个型号,这个这个地方就是他这个七件,七件包的一个版本, 或者是说是一个名称。好,这个就是对,这边是对这个 f 三二 f 四零七的一个啊,概数,一个概数,他有哪些 io 资源啦什么的,这些有一个,哎,重主要的一个说明。 好,那我们接下来再看这个他给他,他给他就是直接就是定义这个旗舰,呃,旗舰表的, 他给他就是定义的这些映射映射这些表。好,那我们来看一下这个怎么定义他,他这个地方是我们的京镇,外部是八兆,八兆我们写个八,然后这个是后面的仿真也能用到。 接下来这个是 m 的编译器,我们是用的是最新的,最新的这个是 v 五点零五的,这个是,我们是 最新的,我们选择最新就行。带这个是选操作系统的,你用不用他这个?哎,啊母给出的一个微型的一个小型的一个操作系统,我们一般来说不选,不选他的用的话都是什么 啊? rg 入车了,这些 rgfri 的这些不用这个 rgx 这个,然后接下来是我们这个交叉块,这个我们一般不选,这个是微酷,这个是主要是用来这个 什么的,就是普润特福这个里面用到的一些东西的话,哎,牵扯的一些酷都是用的是微微酷,然后如果我们用到普润特福的话, 是福点运算,你要选他还是不选的话,这个地方,哎,只要 no 柚子就是不用,不,不用他的一个福点功能,如果选上的话,哎,就是用他的福点功能,这个大端的话,他不支持,这不写好。 然后接下来就是,哎,我们这个存储映射,存储映射,存储映射的话主要分为片类的一个 肉母以及片外的 ram 跟片类的一个 ram, 这怎么说呢?就是说我们 s m 三二 f 四,它有呃,片类的有一个多少一照的一个 flance 一一照的,也可以说是孬 flance, 这个也就是这所说的这个肉, 如果说是我们用户哎用到的他这个移照不能满足我们这个需求,比如说我们存的数据或者代码都超过了移照了,那么我们就要把代码要放在外部的一个蓝石里面,那这样的话就 就是有一个外部肉目,那我们没有,目前没有这个扩展,所以说这边都不用钱,也不用选。然后这边 ram 的话,这个也是一样的,也是一样的,这个是外扩的一个 ram, 这是片内的 ram。 骗类的 ram 是从零二零零开始的,它大小是二零零零。 然后我们这个 s t m 三 f 系列的这个单片机的话,他这个弗兰氏是从八零零零这个地址开始,到幺零零零这个结束,这正好是遗照。 好,那么我们这就是我们这个 on off of trip, 这是片外 on trip, 这是片上,片上这个当然也是一样的,那这就是我们这个 他给他来,那我们再看一下阿普特,普特兰,阿普特,就是,哎,我们这个输出,那我们要说输出的话,我们必须要看一下这个呃单单片机这一个,或者是他呃呃 嵌入式这个 c 的一个编译的一个过程,或者说是编译的一个步骤程,他是主要是你看下面有很多的, 这先关掉,他有许多的这个 c 文件。 c 文件, c 文件在哪?这里面不是有很多的 c 文件吗? c 文件,然后我们是怎么编译的呢?就是把这些 c 文件用这个,我们这有一个叫按摩的编辑器吗?按编译器, 然后他把这个哎点 c, 点点 c 文件编编译成这个点欧文件,点欧文件, 那我们哎编译的时候我们都会,都会有,都会有,这正在你看这翻译的时候,他就编译的时候正在编译吗?把这些都编译成相应的点欧文件,那点欧文件,然后哎这个点欧文件就是这个单片机所能识别的这种机器吧。 好,那然后还有一个阿姆的一个链接器,他就把这些阿姆,阿姆,把这些链接器,阿姆的 链接器,把这些哎点欧文件,哎跟他相应的这个函数库链接起来,形成一个哎单片机最终要执行的一个哎文件。那我们 st 的这个单片机最后要执行的文件是什么?点 axf 啊?点 axf, 那,那 都通过这个编译成点欧,最后链接,把这些电欧点欧文业链接成这个点 axf, 这样就是我们最后的过程,那通过这最后的这个点 asf 单片机能识别。但是我们最后做二级布特的时候,或者是在线升级的时候就会把,这 就需要的是点 b 文件,或者点 x 文件或者等等,那我们进而可以把这个点 xafaaxf 文件转成 点这个哎海克斯哎点币文件,然后也可以通过呃反汇编把它转成点 tax 的这种文件。好,那接下来我们 继续来看这个 oppo 特,那好,那这个的地方其实就相当于是把我们输出的这个点哎 axf, 还有这个点这个 hax 文件,然后选了一个路径放在这里面了,放在这里面,你看这就是我们 所生成的这些点欧文件,还有这点点 crf, 这些都是一个哎中间文件链接的一个中间文件。好,这些都是我们不用的,我们用的是什么呢?这有个名字执行的名字叫 temptate, 这跟你工程名字是一样的,那他这个名字最后 青春点 axf 就是 tempera templet, 然后点 axf 还有 templet 点 x。 好,那我们在你在这里面可以找一下,找一下。好,那这个 在这,这不是他这个我们单片机要下载的这个点 axxaxf 文件,看,这都有在 obg 下面的,太呃 timbulata 点 axf 文件,当然他也创建了一个呃点 ax 文件。啊, 这,这个有什么用呢?就是说你建这么一个工程之后,他把中间这些文件全部放在你这个点 obg 这个文件下,那这样的话,你你这个工程如果是全部都点 c 点 h, 如果不这么分文件分开的话, 那你这里面全是一团糟,你到时候呃寻找和维护的时候,工程呃项目量一大的话,那就变得很复杂,很,很很乱。所以说我们 一般来说就是哎建立这么一个文件,专门放这个中间文件以及最后生成的一个目标码的,然后这个得八个,用房没审。这个是很重要的,就是说你最后要进行得八个的时候,你要把这个选上,如果不选这个的话,你是进不了这个得八个模式的 啊。然后,呃,这个浏览信息的话是什什么呢?就是说我们这个一点是不是有一个,哎,哎,沟通得发,就是说他哪个定这个是没有的,然后这是定义的,他也可以转过去,但是如果说是,如果说是你哪天你发现 这个东西转不过去了,那你的原因是什么呢?原因就是,哎,你在这个阿特普特的时候你没勾选这个啊,那这个是什么呢?这个大家可以理解为就是生成一个编译的一个麦克菲奥脚本文件啊,这个我们一般不选,不需要 在只有在零六次情况下我们才自己会写这个麦克菲奥,因为没有他这么一个工具去帮你编译。那有一个开源的叫 gcc 的一个 工具,然后我们给 gcc 里面写相应的命令,写相应的一个呃呃,脚本文件,他 gcc 就根据这个脚本文件去编译你这个,呃,这个点 c 这个文件生成你最后要生成的这个目标吗?好,那这个,呃 后面这个是什么呢?就是说你生成的是一个静态库呢?还是生成的是你单片机可执行的这种 axf 文件?这个是二选一的,你生成单面机可执行的这种目标文件的话,你就不能生成静态库了。好,是这么一个过程。 好,接下来我们再看这个列表。列表好,这个列表是什么呢?他这个列表的里面的,哎,主要,主要这个内容就是 呃,主要就是呃定义的一些这个汇编的一个信息表,以及卖谱文件,哎,生成卖谱文件所呃 所生成的一些象象啊,那这个哎也是可以选这个路径的,那我们选在哪里的呢?我们选在这个 obg, 也是在这个里面了,在这个里面了, 选到这个里面去了,好,这个里面也有一个,应该还是有漫步文件,也是在里面的,你看这个漫步文件也是在里面的。好, 这个哎,这个地方就是为什么要有汇编呢?就是大家在仿真的时候,下面是 c, 上面是汇编,对吧?可以帮助大家去寻找问题。那所以说我们要把这个汇编选上,如果不选的话,上面就没有汇编,就 嗯没有生成这个这个文件的话,那你大家就是肯定不会,哎,很容易的,不像有汇编的话那么容易找到问题。然后这个是林可这个 哎链接器,链接器,这就是我们所说的把那些点物链接起来,这个链接器,链接器利斯特,哎,里面他会生成一个链接的时候生成一个麦普 文件。那这个卖普文件里面有哪些信息呢?你这个内存,哎,内存的一个映射,就是说哪些哎全局变量,然后这个呃函数, 哎,还有这个就一些数组啦,等等这些分配的一些地址是什么?然后这些函数或者占用的一个空间是多大? 然后最后就是呃总体的赛,这就是赛斯嘛,占用的空间是多大?然后这个偷偷赛,就是哎 整个工程的话占用了多少?那个哎福拉是多少个 ram 资源,这个是非常非常重要的,这个可以。哎,我们哎单片机很出现很多很多问题,可能是因为资源不够了,很多问题,因为我们哎在代码编译的时候是寻找不出来的, 就是单键机程序下载下去有各种问题了,他这个慢腐文件是解决问题的一个非常非常重要的手段,所以说我们一定要学会看慢腐文件。 这个优字是什么呢?优字也是哎,非常哎,其实这个也算不上重要,他就是 一输入一些命令的一些命令码的一些用用途,那他主要的一个用途用到的就是你不是。 哎。二就是在线升级的时候需要这个 app 文件,是避孕文件吗?避孕文件,那你这没有生成啊,只能生成 hikes 和点 axf 啊, 这种情况下的话,我们这输入相应的命令就可以把 axfaxf 转成咱们的这个并文件,这样是非常简单的,就是通过这个一个 哎这一选一个命令就可以转出并文件了,这种哎就是这种用途。好,接下来再看我们这个 cc c 佳佳的这一栏, cc 佳佳的这里面就是主要做一些玉,红的一些玉处理, 然后还有一些哎文件路径的一些缩影以及代码,这个生成这个代码块还有一些优化等等这些方面的一些呃,内容。好,首先我们看这个红,它这里面,这个 里面,他这里面就是有许多许多的一些红,我们可以通过这个地方可以把一些红开关打开。好,那我们再用一下 ctrl f。 好,那我们刚才不是看到一个红吗? 看这个地方哪里用到了?你看这么多里面用到了,好,那我们点一下, 嗯,弹不过去。好,那么我们随便点一个,随便 iicm 三二 f 四叉叉里面有。 好,那这里面你看这是什么? f 四,呃,这,这,你看 f 四二四叉叉,这些都是红,这些都是红,然后我们这个四零四一幺叉这些都是红,那我如果你看如果定义了这个, 然后就定义这个,然后他这些全是一些红开关。好, 那我们来看一下我们这个红四零四幺叉,那我 我们定义的是 s 千三二四零四幺叉叉,哎,这个红,那我们就相当于是把这个红开关给打开了,然后再把这个红开关用的是,哎,标准外射库驱动,这个红开关打开。好,主要就是这两个红开关要打开, 接下来这个是语言,哎,代码生成器。好,那这个的话就是我们所说的就是这个 生成。哎,只执行,可只只执行的一个代码。还有这个这个地方就是个优化,优化啊, 那优化的话就是有四个等级,有有默认的等级,有等级零一二三,根据这个优化可以把我们的一些哎开,开出的一些局部变,一些变量,全局变量等等这些。

还在依赖传统的 m d 做开发吗?不妨试试用 ps 打剪一站式开发环境。接下来的演示带您直观感受这套方案的实际效果。 要实现这样的效果,我们需要配置 v i 四中的 e i d e 和通用领马,而要想熟练运用它们,首先得了解这些工具各自的作用。 相较于传统的单片级开发工具,微思具有更强的兼容性和扩展性。在后续的学习开发中,无论是前端、后端开发,还是视觉处理、单片级编程等场景,都能通过微思完成, 无需频繁切换工具,能有效提升开发效率,并降低工具学习成本。 亚迪 e 是 一款多维维斯设计的单片机开发插件,支持多种主流芯片类型。它不仅兼容市面上大部分常用烧录器,还支持同步调试,让你在维斯中就能完成单面机项目的开发调试。全流程 统一领码是阿里云基于统一大模型开发的智能编码辅助工具,能为开发者提供高效的编码支持。核心功能包括函数及实时代码细写、自动补全上下文逻辑, 通过自然语言描述直接生成对应代码。自动生成单元测试,快速验证代码可能性, 优化现有代码并生成注式,提升代码可读性,提供研发相关的智能问答,解决技术疑问。借助统一领码,你无需手动上传文件,让 ai 调试能大幅缩短代码编写时间,提升开发效率。 攻科学习往往可以分为三个递进阶段,帮助我们从实践到原理逐步深入。一、先掌握怎么用从工具操作基础流程入手,先让技术或工具能实际跑起来,建立实践认知。 二、再理解为什么这样用,在会用的基础上思考操作逻辑和设计目的,明白背后的理性。三、最终探究这样用的原理,深入底层机制, 理解技术的本质和原理,实现从知己人到知己所欲人的跨越。今天讲解的 e i d e 和通易灵码, 核心目的是为了简化三二开发流程,让大家能更专注于单面积本身的学习。这一步属于上述第一阶段,先掌握怎么用即可。切向大一时触及思域语言, 我们不需要手动配置复杂的工具链,只需通过 ide 专注于代码逻辑本身。现在同样如此,先通过现成的工具和插件快速上手开发,后续再逐步深入了解工具背后的原理细节。 在壁印上搜索 vs code, 点入官方提供的链接,点击右上角的下载,选择对应操作系统下载,下载完成后,按照提示进行安装 搜索简体中文拓展,下载第一个插件,下载完成后,根据提示重启编辑器,当编辑器里面的内容为中文时,说明下载成功。 下载四异语言知识包,选择鼠标点击的拓展进行下载。搜索 eid 一 拓展,选择第一个进行下载 搜索考太科四拓展,下载第一个插件,这个拓展主要为 eid 一 提供调试功能。下载同意领码,同样也是选择第一个进行下载。若你跟着以上操作一遍后,打开拓展栏,会发现一共有十三个拓展, 倘若跟我一样只有十二个拓展,那就是肆意魅客没有下载完成,重新下载即可。 全部下载完成后检查拓展数量与名称。倘若以视频中无物,那么恭喜你已经可以开始配置 e i d e 了。 点击安装使用工具,下载图片中圈红的工具,这里我已经下载过了,就不重复下载了。点击左下角设置搜索埃尔夫,把选项勾选上, 点开插件,设置配置编辑器路径,在你的电脑中找到 q 的 位置,按照视频中的方式将路径复制进去。 tap kill 路径,找到 kill 的 快捷方式右键属性,将路径复制到视频中的对应位置。 至此, e r d e 插件已经全部配置完成。 点击阿里云中国账号登录,再弹出的网页登录即可。 首先我们快速新建一个浩酷工程, 以下步骤需要我们在每次使用新项目时都操作一遍。首先打开工程文件,找到 md k 文件夹, 接着打开 yes, 选择 e i d 一 插件,点击导入项目,选择 md k 选项, 选择阿姆,将刚刚文件夹下的 q 文件导入进去,此时会询问你是否存储 e i d e 的 配置文件与默认路径。我个人习惯选择 yes, 将其存储在 m d k 文件夹下。然后点击信任词作者。导入一个新的工程后,首先需要导入芯片支持包, 可以选择第一个在网上下载,也可将本地的芯片支持包导入这里我们选择网上下载,搜索对应的芯片,点击即可下载。 如果下载时间过程需要使用代理工具进行加速。接着我们打开勾注配置,我们可以选择使用哪个编辑器并调整编辑配置。这里推荐大家使用默认配置下一项上路配置,这里我们将默认选项改为为之前下载的 open cd, 在最后的接口配置处选择你使用的烧炉器,其余选项按照默认即可。接下来要介绍 c 与 c、 b、 p 三的核心配置选项,分别是包含目录、扩搜索目录和一处理红定义。 先来说说包含目录,在实际单片机开发中,我们经常需要自行新建文件夹,这些文件可通过项目资源面板导入。 ai 定义,这是两种新建文件夹的方式, 一种类似 q 的 操作逻辑,即把真实文件夹里的文件放进虚拟文件夹。另一种则是直接导入真实文件夹,这里需要重点注意, 导入真实文件夹时,必须将其路径添加到包含目录中,而创建工程时已存在的文件夹无需重复导入。至于酷搜索目录与域处理红定义,若没有特殊需求,保持默认即可。 接下来为大家介绍勾注器选项,这部分功能类似 q 中的设置界面,在这里可以完成各类配置操作,比如重定向、配函数、调整代码、优化级别等。和刚才讲到的内容一样,若没有特殊需求,保持默认设置,即可满足日常开发。 完成以上所有配置后,便可进行含库开发。首先打开微函数,点击左上角或 s 七编辑,这里会出现没有空间的报错。我们将构建配置改为 ac 六,再重新改回 ac 五进行变异。 如果你按照刚刚的过程一步步配置下来,那么现在应该显示的是变异成功,此时便可进行烧录, 这里显示 ok, 即为上路成功。接下来新建调试模板,新建完成后,选择调试页面,运行刚刚创建的调试模板,此时便可进行调试。若需查看变量的值,将鼠标悬停至变量名即可。 当你已经配置过项目文件后,可以从 mdk 文件夹中找到工作空间,点开即为之前的项目,此时点开配置会发现所有的配置与之前一模一样。 倘若使用 qmax 重新生成工程,需要重新导入 mdk 文件并重新配置包含路径,其余都默认为之前的配置。 标准库与豪酷的配置大体上是相同的,只有一条不一样。标准库需要一先声明一个红定义,其一地按照豪酷配置流程就可以 点以后显示构建成功,变为配置正确。 e、 i、 d e 和统一林码终究只是辅助我们编辑代码的工具,它们的实际效果取决于每个人的使用场景和学习状态,承让这些工具能让单编辑开发更便捷,比如简化配置流程,加速代码编辑,但绝不是成为单编辑大佬的捷径。 真正的技术成长始终离不开对基础知识的深耕、对实际问题的拆解能力,以及一次次调试中的经验积累。且小学走路时需要辅助工具,但最终能稳健前行,靠的还是自己对平衡的掌控, 所以不必急于求成,从最简单的点灯按键控制开始,一步步吃透每个模块的原理,扎实掌握每一个知识点。当你的技术功底足够扎实,这些工具才能真正成为锦上添花的助力,帮你在更复杂的项目中如虎添翼。慢慢来, 每一次成功的调试,每一个问题的解决,都是在向大佬的目标靠近,坚持下去,你会发现自己早已在不知不觉中变得强大。 以上便是本期视频的全部内容了,后续我会把说明文档公布在视频下方,供大家参考,同时附上参考文案,如果还有疑问,欢迎在文档下方或评论区进行留言, 我会一一为大家解答。感谢各位的观看与支持,咱们下期内容再见!