HELLO大家好,上一期的测评报告为大家带来了简单的上电测试,并且使用STM32CUBEMX建立了一个F412ZG板卡的项目并且生成了对应MDK的项目文件,其中,软件架构已由软件生成,我们只需补充部分内容即可。 好了,书接上回,上回的报告末尾讲到工程文件的生成,生成完毕后,STM32会弹出一个对话框,提示用户是否要在MDK中打开这个项目文件,在这里我们点选Open Project,随后MDK弹出。 在这里我们需要注意,如果你之前没有使用MDK V5.0做过STM32F4系列的ARM项目开发,那么在MDK弹出后很可能会弹出另外一个对话框,提示用户Device pack缺失,这时我们就需要去MDK的官网上下载支持STM32F412ZGT芯片的Device Pack。我们可以打开官网上的Device Pack下载页,打开网页后选择Keil.STM32F4x这个Device Pack,点击右侧的下载图标,会弹出一个窗口,我们点击Accept,这时候下载提示对话框出现,开始下载。然后,尴尬的事情就出现了,这个Package的大小大概有430Mb左右,而下载速度一直20Kb/s左右徘徊...这和我们的宽带没有关系,我们暂且可以认为是MDK服务器的问题。你可以试着换一个网络环境重新下载这个Package,你会发现下载速度还是20Kb/s甚至更低。在这里我给大家介绍一个小窍门,我们在上文提到的“点击Accept”这一步稍作修改,我们用鼠标右键单击Accept,然后点选右键菜单中的复制目标链接地址,把这个地址粘贴到某雷下载器中,这时候你就会惊奇地发现下行速度一下子飞了起来...我只用了两分钟就把这个包下载好了。 我们回到MDK软件中,我们点选工具栏中的Pack Install工具。
随后我们会进入到一个新的界面,这个界面是MDK软件供我们配置各种Device包用的。我们点选右上角菜单中的File→Import来导入刚才下载的Device Pack。
导入这个包需要一定的时间,我们可以根据窗口右下角的进度条来判断导入的进度,耐心等候。导入完成后,我们关闭MDK软件,然后再次打开MDK软件,在MDK软件中打开我们之前生成的项目文件,如果你的导入成功了,这次打开STM32F412ZGT的项目文件就不会有任何错误提示了。我们进入工程界面,可以看到工程中有四个文件夹,还有很多.c后缀的文件,这是STM32CUBEMX帮助我们生成的一些默认配置文件,我们不需要管它。 首先编译一下,0 warning,0 error,没有任何错误。接下来我们就可以开始编写测试程序了。在这里我们先不急着去编写流水灯的程序,而是写一个属于自己的Demo程序,一方面是验证一下ST-Link的可靠性,一方面也是帮助我们简单地熟悉一下这款板卡,我们可以先写一个点亮三个LED的小程序。在MDK工程界面左边的Project栏中找到Project:(你的工程名)→Applica tionUser→main.c,双击main.c打开主程序,在主程序中找到main函数中的while(1){}循环体,我们要编写的程序就是要填充在这个循环体内部的。 我们试着写出点亮三个LED的代码(如果你想问,为什么是B14,B7,B0,请回过头去看我第二期的评测报告): HAL_GPIO_WritePin(GPIOB, GPIO_PIN_14,GPIO_PIN_SET); HAL_GPIO_WritePin(GPIOB, GPIO_PIN_7,GPIO_PIN_SET); HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0,GPIO_PIN_SET); 为了节省时间,大家可以直接Copy我的代码,OK之后编译运行。
0 error, 0 warning,没有任何错误,我们可以向板卡芯片中烧写代码了。 我们把板卡的ST-Link线缆接驳可靠后,点击工具栏中的Download工具烧写。
这里再次注意,一般情况下,MDK V5是可以自动识别出ST-LINK并且配置的,用户只需要接驳线缆之后点击烧录按钮即可,如果你在烧写中出现了一些异常,请首先检查ST-Link驱动是否安装正确!!! 这里我们的ST-Link驱动已经安装好了,我们点击了Download按钮后发现界面左下方的烧录进度条开始动作,同时,板卡上的 电源/烧录指示灯切换状态,由红色常亮切换为红绿交替闪亮,这说明我们的程序文件正在通过ST-Link向芯片内烧录,一切正常,数秒后指示灯恢复到红色常亮状态,烧录完毕。
我们按动板卡上的Reset Key,可以观察到三个LED全部被点亮,大功告成!
那么到这里,我第三期的测评报告就要告一段落了,本期主要介绍了一下在MDK环境下开发STM32F412ZGT工程的简单流程并编写了一个简单的Demo程序,在下一期的报告中,我将着重介绍一下流水灯程序的设计流程,欢迎各位继续关注,如果你有其它问题或建议,欢迎直接跟帖指出,我会用最快的时间答复大家!
好了我们下期再见,Bye-Bye!
|