zoukankan      html  css  js  c++  java
  • Keil5环境搭建

    相关下载

    链接:https://pan.baidu.com/s/1JQbxmr15rlaLW5ak8RCFyw 
    提取码:44fh 
    

      在上面的百度云盘中下载keil5,软件已经被破解到了2035年,调试出现限制大小为32K(出现原因是软件未激活)时不用理会,点击确定就好,实际上并不影响。

    软件安装

    步骤

      1. 运行安装程序,点击next;
      2. 勾选accept,点击next;
      3. 选择安装路径,点击next;
      4. 信息随意填写,点击next;
      5. 等待安装;
      6. 点击finish,完成安装。

    注意事项

      1. 安装路径应该选择C盘

      2. 安装完成后弹出如下窗口:

      提示,是否安装官方的通用调试工具U-link,选择否,因为官方调试工具较贵,个人学习的话可以选择使用较便宜的J-link;
      3. 最后将弹出安装固件包(DFP)的窗口,File → Import → 选择已下载好的.pack包(或者直接点击下载好的pack包),不要自动去更新下载,因为速度很慢,到Keil的官网直接下载对应开发板的支持包后手动添加:http://www.keil.com/dd2/pack/
    注意需要使用VPN才能显示可以下载的DFP,不然是空白的,一般来说,不需要追求最新的版本;

      4. 注意下载的固件包应该是标准库的,还有一个HAL库虽然开发方便但是效率低,代码可读性也不高,所以不推荐使用。

    Keil5常用按钮说明

    新建工程

      1.创建一个合适的路径用来存放新建的工程,在该路径下创建下面这些文件夹作为工程模板,创建什么文件夹,存放什么文件可根据个人习惯来,以下作为参考:

      2.打开keil5:project-->new uVision Project,选择刚刚创建的目录填写文件名点击确定后,将弹出如下窗口:

    如果已经正确安装了DFP包,选择对应开发板芯片的型号便可点击OK。
      3.最后将弹出如下窗口用于选择需要用到的库函数包:

    这里先只选择核心架构文件、系统启动文件和外设驱动架构文件,当需要添加时点击按钮52,当出现警告时,点击警告会提示应该增加哪些文件。
      4.要使用标准库函数应该增加一个全局宏定义USE_STDPERIPH_DRIVER,如下在stm32f4xx.h中有说明:

      5.点击按钮50进行单个项目管理,创建和工程模板一样的文件夹,再往里面添加相应文件,如下所示:

    这里创建的文件夹名字不需要和工程模板的一样,只是一一对应会比较好,这里比工程模板多了一个Inc用于存放头文件,而实际目录中的头文件就和源文件一起存放,不单独区分开。
      6.点击按钮41进行文本编辑器配置:

    编码选择UTF-8或者GB2312,TAB键大小设置为4个空格;

    动态语法检查不应该使能,因为会大量占用CPU而且不是很准确。
      7.点击按钮49配置工程选项:

    勾选生成输出Hex文件,该文件是烧录到开发板上的程序;

    添加全局宏定义和将程序设置为二级优化(必须),然后添加头文件的查找目录,注意系统并不会进行递归目录查找;

    安装Jlink驱动,连接开发板设置Debug选项,选择Jlink,点击setting,port选择SW(串型接口)后会显示出可用的调试设备,然后点击Flash Download将Reset and run打上勾,这样每次烧录完成后便不用重启开发板了。最后点击确定,配置工程选项就设置好了。
      8.现在的工程目录树如下图所示:

    点击新建文件的按钮后点击保存,将文件保存到该工程文件夹的User目录,命名为main.c,然后双击目录树的User组,选择User目录将刚刚创建的文件Add
    进目录树的User组。
      9.最后编写一个空的主函数,添加头文件stm32f4xx.h,编译整个工程,无错误则表明没有问题,点击load将程序下载到开发板也不会有任何问题。

    #include "stm32f4xx.h"
    int main()
    {
    }
    

    总结

      1.还有很多功能没有用到,以后学习到了再进行记录。

  • 相关阅读:
    【Educational Codeforces Round 101 (Rated for Div. 2) C】Building a Fence
    【Codeforces Round #698 (Div. 2) C】Nezzar and Symmetric Array
    【Codeforces Round #696 (Div. 2) D】Cleaning
    【Codeforces Round #696 (Div. 2) C】Array Destruction
    【Educational Codeforces Round 102 D】Program
    【Educational Codeforces Round 102 C】No More Inversions
    【Good Bye 2020 G】Song of the Sirens
    【Good Bye 2020 F】Euclid's nightmare
    使用mobx入门
    requestAnimationFrame 控制速度模拟setinterval
  • 原文地址:https://www.cnblogs.com/ding-ding-light/p/14394728.html
Copyright © 2011-2022 走看看