20165219王彦博《基于Cortex-M4的虚拟机制作与测试》课程设计个人报告

20165219王彦博《基于Cortex-M4的虚拟机制作与测试》课程设计个人报告

一、个人贡献

参与课设题目讨论及完成全过程;

资料收集;

负责环境搭建,代码运行下载;

撰写小组结题报告。

二、设计中遇到的问题及解决方法

1 实验六以太网服务器的实验中,我们在配置好主机和试验箱的ip以后,发现两者无法ping通

解决:修改了main_lwip.h中的实验箱ip,进一步配置了主机ip以后发现还是无法ping通,我们怀疑可能是硬件连接的问题,因为在控制面板中网络连接窗口处,网络显示连接失败,我们拔下jlink的线再次插入的时候出现正在连接,过了一会就出现连接失败

2实验78中涉及的,m4模块和其他模块通讯的实验,由于实验指导书中,没有找到两个模块连接的具体操作,包括将代码下载到哪一个模块,是mdk,还是quartus ,如果下载到quartus,m4是否需要连接电脑,这些都没有提到,以及硬件连接,如何连接两个模块,指导书中提到的跳线帽以及杜邦线我们没有找到。

解决:没有解决,后来老师告诉我们这两个实验不做了。

三、调试过程中遇到的主要问题及解决方法

运行程序之后下载到开发板时出现如下错误

解决办法是:打开Options for Target选项卡,在Debug栏选择仿真工具为 J-LINK/J-TRACE Cortex

上图中我们还勾选了Run to main(),该选项选中后,只要点击仿真就会直接运行到main函数,如果没选择这个选项,则会先执行startup_stm32f40_41xxx.s文件的Reset_Handler,再跳到main函数。

然后我们点击Settings,设置J-LINK的一些参数,如图所示:

图中,我们使用J-LINK V8的SW模式调试,因为我们JTAG需要占用比SW模式多很多的IO口,而在实验箱开发板上这些IO口可能被其他外设用到,可能造成部分外设无法使用。所以,我们建议大家在调试的时候,一定要选择SW模式。Max Clock,可以点击Auto Clk来自动设置,上图中我们设置SWD的调试速度为10MHz或者5MHz,这里,如果你的USB数据线比较差,那么可能会出问题,此时,可以通过降低这里的速率来试试。

注意:若是JLINK连接成功的话,SW Device处会显示设备信息。
单击OK,完成此部分设置,接下来我们还需要在Utilities选项卡里面设置下载时的目标编程器,如图所示:

我们直接勾选Use Debug Driver,即和调试一样,选择JLINK来给目标器件的FLASH编程,然后点击Settings,设置如图所示:

这里MDK5会根据我们新建工程时选择的目标器件,自动设置flash算法。我们使用的是STM32F407ZGT6,FLASH容量为1M字节,所以Programming Algorithm里面默认会有1M型号的STM32F4xx FLASH算法。特别提醒:这里的1M flash算法,不仅仅针对1M容量的STM32F4,对于小于1M FLASH的型号,也是采用这个flash算法的。最后,选中Reset and Run选项,以实现在编程后自动运行,其他默认设置即可。设置完成之后,如图所示。

四、设计体会及收获

这次课程设计,我们小组遇到了很多的问题与挑战,首先,在实验环境搭建上,由于我们之前从来没有接触arm实验箱的m4模块,在搭建jlink的时候,出现了问题,首先是在设备管理器的串口中检测不到实验箱,以及没有设置好算法,导致打开工程以后无法编译下载程序,以及在代码的理解中,遇到了我们之前学习中的盲区,在虚拟机的制作过程中,因为有了主机实验的经验教训,还算比较顺利的,我们总结了一下,这种实验还是在实验室中比较好,因为自己的电脑系统版本过高,和好多实验需要的软件并不能很好的兼容。

通过这次实验,提高了我们的动手能力,这也是我们在平时实验中缺失的。

参考资料

信息安全系统实验箱指导书

原文地址:https://www.cnblogs.com/wyb-1998/p/10927703.html