26.2.6 ZD-EP9 [Keil环境配置/sfr文件问题] 对Keil集成开发环境的初步认识

26.2.6 ZD-EP9 [Keil环境配置/sfr文件问题] 对Keil集成开发环境的初步认识

首先总结一点,Keil对新手太不友好了。

很多配置环境过程中遇到的问题要去网上不断找教程,过程十分痛苦。

还很容易崩溃。。


配置大致流程

下面还是来回顾一下上手一个单片机(我还记得)的大致流程吧:

· 查阅官方芯片数据手册

· 在Keil中安装芯片对应的器械支持包*

· 在项目中配置好开发环境(如仿真器配置、优化程度选择)

· 进行项目开发

这其中最烦的就是开发环境的配置了。

简记一下仿真器配置:

项目设置(魔术棒)界面的Debug选项卡

· 首先在Debug界面右侧(硬件调试方法,左侧为软件调试方法)选择对应的仿真器(或称下载器,目前使用的是更专用的ST-Link下载器,后续可能会用到更通用的DAP仿真器),并勾选下方Run to main()选项

仿真器Debug选项卡

· 进入setting界面,默认无需进行更多修改

仿真器Trace界面

· 值得注意的是,在仿真器的Trace(时间调试相关设置)界面需要将Core Clock(芯片频率)设置成对应芯片的最大频率(根据需要适时调整,最大频率F1系列72MHz,F4系列168MHz),可在Keil界面的File - Devices Datebase界面中查询

仿真器Flash Download界面

· 在闪存下载界面要讲Reset and Run选项勾选,另外左侧是下载前对芯片进行的操作(从上到下分别为擦除全片,擦除分区,不进行擦除)

项目设置的Utilities(工具)选项卡

· 在项目设置的Utilities界面勾选Use Debug Driver选项

· 此外,要在C/C++选项卡对代码优化程度进行选择,最好使用-O0(及Level0),避免在watch窗口中出现<not in scope>(不在范围中)提示


遇到的问题

首先是退出调试界面保存问题:

原因:Keil开发环境对中文不友好,路径中中文过多会导致程序崩溃

解决方法:减少路径长度,减少中文数量(10以内),在退出调试前清空断点

其次一个重头戏就是前文的*内容,Keil内置的Pack Installer在更新后不会解压器械包SVD(system viewer description)文件中的.sfr文件,导致Keil无法读取外设寄存器的数据(到底是什么脑回路??)

解决方法是通过内置的svdconv.exe程序对.svd文件进行解压,得到.sfr文件,具体操作方法见原贴链接:keil无法查看外设寄存器(生成SFR文件)

这里给出使用到的终端代码:SVDConv ARM_Sample.svd --generate=sfr


长路漫漫。。

Subscribe to 沿江路右转Turn Right at Yanjiang Rd.

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe
赣ICP备2026002696号