Keil开发软件的使用详解

Keil开发软件的使用

STM32F0xx库文件下载链接:链接:https://pan.baidu.com/s/1JNqzu9P2uvzp7tLNerLgFA
提取码:lpm1

  • 软件功能介绍

打开Keil软件,主界面如下。

  1. 菜单栏:菜单栏里集成Keil MDK开发环境的所有工具与设置选项。
  2. 文件编辑栏:有新建、打开、保存及另存的文件操作,有剪切、复制、粘贴的文本操作,有撤销和恢复按钮,有导航到上一位置和下一个位置的按钮,有书签相关按钮,有文本对齐方式,代码注释与取消注释按钮,有查找按钮及输出框。
  3. 调试工具:有调试按钮及断点设置与取消按钮,有工程窗口的显示开关,有整个工程配置按钮。
  4. 编译下载工具:有单独文件编译,已改变工程文件编译,全部工程编译,批量编译,停止编译,下载工程按钮及目标选择框。
  5. 工程配置栏:有工程选项配置,工程管理,package管理等按钮。
  6. 工程结构窗口:工程目录栏里以树型图的方式展示了整个工程的文件目录,以便于调出文件。
  7. 编程窗口:编写程序的窗口。
  8. 输出窗口:打印工程在编译、调试、构建、下载程序中出现的问题。

常用按钮具体说明

  1. 编译按钮:对当前文件进行编译,编译时会进行语法检查,同时在输出窗口显示编译信息。
  2. 构建按钮:构建目标工程,对修改过的文件进行编译,然后链接生成新的hex 文件。
  3. 重构按钮:重新构建目标工程,对整体工程全部文件进行重新编译,链接生成新的hex 文件。
  4. 下载按钮:程序下载按钮,当工程构建完成后,点击该按钮将hex下载到芯片的Flash中。
  5. 调试按钮:当程序下载到Flash之后,可以使用该按钮进入调试功能,在Keil中可以控制程序的运行、暂停、继续和停止,可以查看程序中包含的变量信息及寄存器信息。
  • 工程创建

1、新建工程存放目录,这里新建名为“创建第一个工程”。在工程文件目录下依次创建“FreeRTOS”、“Libraries”、“Project”、“User”目录,分别存储FreeRTOS嵌入式系统源码、第三方库源码、系统文件、用户文件。此软件的工程结构目录用户可以自由定义,这里所创建的工程结构仅方便用户查看。

2、向工程目录中导入文件,首先将F0库文件进行解压,解压后将“\STM32F0xx_StdPeriph_Lib_V1.5.0\STM32F0xx_StdPeriph_Lib_V1.5.0\Libraries”目录文件夹下的文件复制到工程目录Libraries文件里。

3、进入“User”目录,创建“bsp_stm32f0xx”目录,用来存放底层文件。再次打开F0库文件,将“\STM32F0xx_StdPeriph_Lib_V1.5.0\STM32F0xx_StdPeriph_Lib_V1.5.0\Projects\STM32F0xx_StdPeriph_Templates”目录下的stm32f0xx_it.c、stm32f0xx_it.h和stm32f0xx_conf.h复制到“1、创建第一个工程\User\bsp_stm32f0xx”目录下。

4、进入“Project”目录,创建“MDK-ARM(uV5)”目录,用来存放MDK工程文件。创建“Flash”目录存放工程编译时生成的文件,“Flash”目录中创建“List”与“Obj”两个文件夹。点击软件菜单栏“Project”,选择“New uVision Project...”。输入工程文件名“project”,保存到“MDK-ARM(uV5)”目录中,点击“保存”按钮。

5、选择目标设备。本工程目标芯片为STM32F030C8,具体选择如下,然后点击OK确定。

6、配置运行时环境。此界面实质是选择第三方库,本工程使用标准库进行开发,这里点击“Cancel”取消。

7、工程创建完成,左侧工程结构中才是软件所识别的工程结构,与刚刚所创建的目录无关。

  • 工程结构配置
    1. 点击工程管理按钮,修改工程的目录结构。

2、修改工程目标、工程文件分组、添加工程文件。

3、将工程目标名改为Flash,将Source Group 1工程文件名改成User。并且分别添加StdPeriph_Driver、MDK-ARM、CMSIS三个工程文件分组。

4、新建文本文件,并保存,文件名为main.c。

5、在main.c文件中添加芯片头文件与main函数并保存。

6、将main.c文件和之前从库文件中复制的stm32f0xx_it.c文件添加到User分组下。

7、将工程“Libraries\STM32F0xx_StdPeriph_Driver\src”目录下的.c文件添加到StdPeriph_Driver分组下。

8、将工程“\Libraries\CMSIS\Device\ST\STM32F0xx\Source\Templates\arm”路径下的startup_stm32f0xx.s文件添加到MDK-ARM分组下。

9、将工程“\Libraries\CMSIS\Device\ST\STM32F0xx\Source\Templates”路径下system_stm32f0xx.c文件添加到CMSIS分组下。

10、详细配置,可以参考“创建第一个工程”中的工程结构配置。

  • 工程配置

1、点击工程选项配置按钮。

2、“Device”页面在创建工程时已经设置为STM32F030C8,这里不需要修改。

3、“Target”页面中,当使用C语言printf等函数时需要勾选“Use MicroLIB”。

4、“Output”页面中,勾选“Create HEX File”选项,编译时生成hex文件。点击“Select Folder for Objects...”按钮,选择编译时生成文件的存放目录。本工程选择“Translate\Project\MDK-ARM(uV5)\Flash\Obj”目录。输出的文件名设置为“output”。

5、“Listing”页面中,点击“Select Folder for Listings...”按钮,选择链接时生成文件的存放目录。

6、“User”页面中,分别可以设备编译前执行的命令、构建前执行的命令、构建后执行的命令。此处设置了版本自动更新脚本、HEX文件拷贝脚本、及bin文件生成指令。可参考飞控源码中设置。

7、“C/C++”页面中,设置了工程中使用的宏定义、编译器优化等级、C语言版本支持、工程中所使用的头文件路径。

8、具体头文件路径设置如下:

9、“Asm”页面为汇编语言设置选项,“Linker”页面为连接器设置选项,使用默认即可。

10、“Debug”页面中有一个很重要的按钮,用来设置调试器及目标Flash参数。本文档使用J-Link调试,所以选择“J-LINK/J-TRACE Cortex”,然后点击“Settings”按钮。

11、当接入J-Link调试器后,打开的界面中会有J-Link设备相关信息。“Debug”页面默认配置即可,点击“Flash Download”选项卡,配置Flash相关参数。

12、“Flash Download”页面可以勾选“Reset and Run”表示下载后立即复位并运行。同时下方已经默认包含Flash信息,如果没有默认信息,需要手动点击“Add”按钮进行添加。

13、最后一页“Utilities”工具设置,使用默认配置。

  • 工程调试

工程编译下载后,点击按钮进入调试界面。调试界面详细功能如下图:

    常用调试按钮具体说明:

    复位按钮:程序运行指针指向复位地址。

    程序运行按钮:程序暂停时可以点击此按钮继续运行。

    按步执行:针对微处理器开发的开发者,使用的基本是面向过程的编程语言,在编程的过程中或许会出现一些逻辑错误,因此通过按步执行按钮来审核程序执行过程中是否符合开发者的思路。按钮可以进入调用函数;按钮可以跳过调用函数;由于函数在手动运行的时候无法跳出事件循环函数,因此需要按钮来跳出循环。

    按钮:该按钮可以调用出watch window窗口,该窗口可用于实时查询微处理器中自定义的全局变量,可以在程序运行的过程中通过查询自定义变量数值的变化来判定程序运行的情况,这是个很实用的功能。

    按钮:该按钮可以调用出serial window,用于观测串口采集的值,通过该窗口可以实现Keil MDK与微处理器之间的数据交换。

    按钮:该按钮为memory window,存储器窗口可以显示内存中的值,通过Address后的编辑框内输入“字母:数字”就可以显示相应内存值,其中字母可以使C、D、I、X,分别为:代码存储空间、直接寻址的片内存储空间、间接寻址的片内存储空间、拓展的外部RAM空间;数字代表想要查看的地址,比如输入D:0 观测地址0开始的片内RAM单元值、输入C:0表示读取地址0开始的ROM单元中的数值。

 

 

版权声明:本文为CSDN博主「Black_黑色」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zhaozhiyuan111/article/details/121027816

Black_黑色

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

RT-Thread Studio移植LAN8720A驱动

RTT网络协议栈驱动移植(霸天虎) 1、新建工程 ​ 工程路径不含中文路径名,工程名用纯英文不含任何符号。 2、用CubeMx配置板子外设 2.1、配置时钟 ​ 按照自己板子配置相应时钟。

【STM32Cube笔记】12-配置外部中断

【STM32Cube笔记】系列文章目录 1-基于STM32的VSCode入门级教程前言 2-STM32Cube安装教程 3-STM32CubeIDE汉化 4-STM32Cube配置时钟设置 5-跑马灯引脚配置 6-Cortex-M7内核基本配

stm32cubemx+HAL+串口接收中断

stm32cubemxHAL串口接收中断 在cubemx配置完串口和global interrupt后需要在keil中添加如下代码。 第一步:在main函数中添加接收中断标志位开启函数 HAL_UART_Receive_IT