这几天用keil mdk5.14新建工程进行仿真时,进入Debug环境发现System Viewer菜单显示空白,Peripherals菜单没有外设寄存器。如图1和图2所示。
网上查了一下资料发现大多都是解释的STM32F103系列在MDK内的修改方式,但是我用的是STM32F407ZET6,就依葫芦画瓢,照着出一个修改的说明。
![](https://img-blog.csdnimg.cn/2020041415101570.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3F6ZjE2MDM=,size_16,color_FFFFFF,t_70)
![](https://img-blog.csdnimg.cn/202004141512068.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3F6ZjE2MDM=,size_16,color_FFFFFF,t_70)
打开Options for Target 查看System Viewer File选项没有勾选Use Custom File,系统默认的STM32F40x.svd。如图3所示。查看Debug选项中的Dialog DLL一栏写着DCM.DLL。Parameter一栏写着-pCM4。如图4所示。
![](https://img-blog.csdnimg.cn/20200414151326629.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3F6ZjE2MDM=,size_16,color_FFFFFF,t_70)
![](https://img-blog.csdnimg.cn/20200414151430501.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3F6ZjE2MDM=,size_16,color_FFFFFF,t_70)
首先,修改Target子选项,勾选Use Custom File,如图5左边红色箭头所示。
![](https://img-blog.csdnimg.cn/20200414151924177.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3F6ZjE2MDM=,size_16,color_FFFFFF,t_70)
然后点击右侧箭头所示索引,进入文件啊选择页面,如图6所示。找到MDK所安装的路径,进入图示路径,根据所用芯片选择“STM32F40x.SFR”文件,然后点击打开,显示如图5所示即可,点击OK。重启MDK5.14,编译程序,待编译完成之后进入Debug模式,此时会发现System Viewer菜单显示与Peripherals菜单的外设寄存器均可以正常显示,搞定!收工!
![](https://img-blog.csdnimg.cn/20200414152041490.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3F6ZjE2MDM=,size_16,color_FFFFFF,t_70)