精华内容
下载资源
问答
  • STM32工程创建其实挺简单的。但是初学时一定要认真,想随便看看就学会那几乎是不可能的。  好了,废话不多说了。  第一步:  在你要保存此工程的盘符下创建一个文件夹用来保存此工程,我暂且命名为:STM32project ...






           STM32工程创建其实挺简单的。但是初学时一定要认真,想随便看看就学会那几乎是不可能的。
                          好了,废话不多说了。
    (我用的是KEIL5.23版本,所以都以这个版本为例,其他版本类似)
    由于我总结成word版了(在我的资源里免费下载)
         以下是word版链接:http://download.csdn.net/detail/he__yuan/9900318

    有问题可以随时留言讨论。
    展开全文
  • 初学者如何处理STM32创建工程时stm32_eval.h的问题

    万次阅读 多人点赞 2016-09-28 18:17:48
    如果这时你的工程中只包含了main.c和stm32_eval.c文件,那么这类未定义的错误只有6个。但如果你在操作上一步时,将对应版本的评估板所有文件加入工程,并添加进PATH,这个错误数将会飙升到30以上,编译时包含的文件...

    环境:win10-MDK:5.15-固件库:3.5.0

     

    1.先说对初学者来讲的解决办法

    删除main.c中的所有定义和函数。只写上main(){},其他的什么都不用加。并在最后另起一行。(不另起一行会提示“without a newline”的警告。)不知道和Linux里用GCC编译程序的no newline是不是一个原因。因为文件最后\表示连接下一行,而如果文件最后一行行尾有\,被包含的下一个源文件会被连接。但要是最后一行用的是空行,就可以避免这种情况了。

     

    C99原文:

    Each instance of a backslash character (\)immediately followed by a new-line character is deleted, splicing physicalsource lines to form logical source lines.Only the last backslash on anyphysical source lineshall be eligible for being part of such a splice. A sourcefile that is not empty shall end in a new-line character, which shall not beimmediately preceded by a backslash character before any such splicing takesplace.

    加上空行后,再进行编译就没有问题了。


    2.现在大概解释一下EVAL文件的问题

    在没有使用工程模板,而是自己按照需要在Keil中添加文件和路径的情况下。使用固件库中一个字都没有更改的mian.c文件,在编译时会提示

    ..\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template\main.c(24):error:  #5: cannot open source input file"stm32_eval.h": No such file or directory

    是stm32_eval.h文件的包含出现问题。而课本和教程上并没有说明相关的eval文件和文件夹。


    官网上的说明是:

    TheSTM3210E-EVAL evaluation board is a complete development platform forSTMicroelectronic's ARM Cortex-M3 core-based STM32F103ZET6 or STM32F103ZGT6microcontroller. The range of hardware features on the board help you toevaluate all peripherals (LCD, SPI Flash, USART, IrDA, USB, audio, CAN bus,smartcard, MicroSD Card, NOR Flash, NAND Flash, SRAM, temperature sensor, audioDAC and motor control) and develop your own applications.

    也就是说置于Utilities文件夹下的所有相关eval文件是ST公司的测试评估板的硬件定义。而不同的样板对应不同的文件,所以main中会有

    #ifdef USE_STM32100B_EVAL
     #include "stm32100b_eval_lcd.h"
    #elif defined USE_STM3210B_EVAL
     #include "stm3210b_eval_lcd.h"
    #elif defined USE_STM3210E_EVAL
     #include"stm3210e_eval_lcd.h"
    #elif defined USE_STM3210C_EVAL
     #include "stm3210c_eval_lcd.h"
    #elif defined USE_STM32100E_EVAL
     #include "stm32100e_eval_lcd.h"
    #endif

    的定义。

     

    那么,按照错误说明,将eval的C文件加入工程,并在PATH上添加stm32_eval.h文件后再进行编译。

    然后错误提示:

    “Please select first the STM32 EVAL boardto be used (in stm32_eval.h)”

    刚刚没有这样的错误提示,并且根据main.c文件中对eval的定义可知在包含了eval的头文件后,还需要选择对应的评估板。打开stm32_eval.h文件:


    即是说,包含头文件就是选择评估板,因为我手头其实没有官方的评估板,就随便选了第一个。将stm32100b.h和其相关文件的路径添加进了PATH,而且在工程中加了相关的C文件。同时,按照ifdef所说,将“USE_STM32100B_EVAL”加进了编译器设置的Preprocessor Symbols的Define中。



    经过这些步骤后,再进行编译,就会发现编译已经包含的C文件不会再出现问题。

    新的问题出现在linking上,包含文件中声明的各种eval函数和mian里用到的eval函数,都会弹出

    ".\Objects\LED_Light.axf: Error: L6218E:Undefined symbol 函数名称(referred from 文件名.o)"

    这类错误。如果这时你的工程中只包含了main.c和stm32_eval.c文件,那么这类未定义的错误只有6个。但如果你在操作上一步时,将对应版本的评估板所有文件加入工程,并添加进PATH,这个错误数将会飙升到30以上,编译时包含的文件里用到的函数都会蹦出提示。包含多少,蹦多少。

    而如果将对应版本的eval的文件(包括Common文件夹下的)按照其他文件的处理方式,添加工程,加入编译器的PATH。就会出现另外两种类型的错误。

    一个是“..\STM32F10x_StdPeriph_Lib_V3.5.0\Utilities\STM32_EVAL\Common\stm32_eval_名称.c(1323):warning:  #223-D: function"函数名" declared implicitly”

    一个是“.\Objects\LED_Light.axf: Error: L6200E:Symbol 名称 multiply defined (by 文件名.o).”



    两者都需要对相应文件的对应函数进行extern的声明操作才能解决。而且需要一个一个对照,才能找出是哪个函数重复定义,哪个函数没有声明原型。

    而就像前面官网上提到的,评估板相应文件的作用是把板子上的每个硬件接口重新进行宏定义。比如这里:


    不同文件对应不同的硬件主板。而对于一个初学者来说,手里要么是没有板子,要么也不会是评估板。所以一开始还没上手写程序就试图解决eval的各种文件问题没有什么太大的意义。


    但eval相关的文件也有一个很大的用处,就是可以在了解了各种硬件定义后,学着这个文件进行定义自己的开发板。

    展开全文
  • STM32F103VE为例。 1.下载固件库 登录官网www.st.com 进入主页,点击Support,进入标签Toolsand SoftWare/Software/MCU Software/Stm32 MCUs Software/Stm32 EmbeddedSoftware/STM32 Standard Periperal ...

    STM32F103VE为例。

    1.      下载固件库

    登录官网www.st.com

    进入主页,点击Support,进入标签Toolsand SoftWare/Software/MCU Software/Stm32 MCUs Software/Stm32 EmbeddedSoftware/STM32 Standard Periperal Libraries,下载固件库。如下图所示:

    2.      创建工程文件夹

    工程目录不能包含中文路径,创建文件夹DocUserLibProject

    将固件库中Libraries下的两个文件夹CMSISSTM32F10x_StdPeriph_Driver拷贝到Lib目录。

    将固件库中Project目录下的模版文件夹中的h文件和c文件拷贝到User目录。删除main.c中和评估板有关的部分,只留下main()函数和#include "stm32f10x.h"语句。如下图所示:


    3.      新建Keil工程

    新建Keil工程,并将Lib文件夹及子文件夹中c文件和startup目录下对应芯片类型的.s文件添加进来。需要注意的是,由于startup目录下的s文件包含各种芯片类型的,在keil工程中需添加与当前芯片型号一致的s文件,且只能添加一个。否则编译出错。


    4.      配置Keil工程



    工程中部分文件说明:

    stm32f10x_conf.h:底层驱动的包含文件,可在该文件中将不需要使用到的片上外设的头文件包含去掉,以提高编译速度。

    stm32f10x_it.c:中断程序所在文件,各个片上外设的中断名可参考启动文件startup_stm32f10x_xx.s

    startup_stm32f10x_xx.s:启动文件,定义了芯片从上电到进入main()函数的过程及中断函数名等。最后的“xx”根据芯片型号选择为hdldmd等。

    stm32f10x.hsystem_stm32f10x.csystem_stm32f10x.h是对应于F1系列芯片的系统文件。


    展开全文
  • 问题1、如果你安装了Keil5,但是你找不到想要的STM32芯片,你该怎么办? 答:请到Keil官网下载的你想要的芯片的固件库,下载链接如下: http://www.keil.com/dd2/Pack/ 问题2、keil软件仿真时提示no ‘read’ ...

    问题1、如果你安装了Keil5,但是你找不到想要的STM32芯片,你该怎么办?

    答:请到Keil官网下载的你想要的芯片的固件库,下载链接如下:
    http://www.keil.com/dd2/Pack/

    这里写图片描述

    问题2、keil软件仿真时提示no ‘read’ permission没有读或写权限

    答:在工程下新建一个debug.ini文件,在文件中写入

    map 0x40000000,0x40070000 read write
    map 0x50000000,0x50070000 read write
    map 0xa0000000,0xa0070000 read write
    

    然后keil中Debug选项卡中的initialliation file中加入此文件。

    这里写图片描述

    问题3:STM32F407串口输出乱码

    答:这是因为你keil中的晶振频率和使用板子上的晶振频率不一致所导致的。
    如你板子上的晶振频率是8MHz,点击编辑界面的魔术棒,如下所示:
    这里写图片描述
    再点击 Target ,将Xtal(MHz)中的值改为8,如下图所示:
    这里写图片描述

    然后,修改“stm32f4xx.h”文件中的“HSE_VALUE”宏定义,如下所示:

    #if !defined  (HSE_VALUE) 
    //  #define HSE_VALUE    ((uint32_t)25000000) /*!< Value of the External oscillator in Hz */
            #define HSE_VALUE    ((uint32_t)8000000)
    #endif /* HSE_VALUE */

    问题4:STM32串口打印printf发送中文乱码问题

    答:
    1) 首先要确保使用keil程序正确编译,并且程序经过调试,已经可以正常发送英文字符,但是发送中文字符时乱码。

    2) 使用记事本打开main.c文件(或其他主程序),点击另存为,在右下方选择编码方式为ANSI,替换原文件即可

    3) 替换完成后,重新进行编译,程序应该可以正常运行。

    展开全文
  • STM32工程创建方法

    2011-09-25 00:16:03
    STM32工程创建方法 STM32工程创建方法 STM32工程创建方法
  • 下面我将为大家分享一下我利用stm32cubemx这款工具开发stm32 首先介绍一下STM32的分类: 我选择的这款是STM32F103VE,首先打开STM32CUBEMX,首先下载对应的开发包: 点击INSETALL / REMOVE,选择对应的包下载,...
  • 相较于Keil创建工程模板,STM32CubeMX步骤少、上手快,但生成的工程模板比较臃肿,因此本小结只简单介绍下相关创建操作,后面的实验仍使用前面自定义创建工程模板。读者也无需纠结使用哪一种方法,以后熟悉后,自然...
  • STM32工程创建

    2017-07-16 15:08:14
    最简单的创建方法
  • 使用STM32CubeMX创建STM32F407工程

    千次阅读 2017-05-08 18:55:07
    使用STM32CubeMX创建STM32F407工程创建项目新建工程,选择对应的stm32f407芯片 设置相关引脚pinMiddleWares:因为需要使用网络,选中LWIP。Peripherals:配置ETH使能,在右侧的引脚配图中相关引脚 配置RCC,使用...
  • 使用STM32CubeIDE快速创建STM32的HAL库工程。 文章目录STM32CubeIDE Home生成工程程序下载 STM32CubeIDE Home 打开STM32CubeIDE会直接进入主页,这里开始创建STM32...成功创建工程之后,如下图所示; 可以看到左边是H
  • Keil环境下STM32F4工程创建步骤-附件资源
  • 1.找到下面对应的文档然后进行解压;2.创建template文件夹,然后在里面创建子文件夹USER、CORE、FWLIB、OBJ、SYSTEM文件夹;3.打开keil5,新建一个项目工程,保存到刚才新建...5.复制startup_stm32f40_41xxx.s到CORE...
  • STM32创建步骤

    2013-03-23 16:20:33
    STM32创建步骤 stm32f10x 建工程 新建一个文件夹,并新建一个工程
  • STM32自定义创建工程模板

    千次阅读 多人点赞 2021-04-08 15:18:27
    自定义创建工程模板 在前面“C语言使用HAL库开发”章节里,体验了如何使用HAL快速开发。不同于使用汇编和寄存器开发,使用HAL库需要为工程准备许多相关文件,也就是创建HAL库的工程模板。工程模块没有统一的格式,...
  • STM32工程创建

    2015-12-25 10:06:12
    STM32工程创建声明:文章非原创,参考《STM32库开发实战指南 》,做少量修改 1。安装keil4,将keil4软件打开 2. 新建工程,将工程命名为ATM32_Model,并保存在F:\STM32 MINI\CODE\STM32_DEMO\User文件夹下 3....
  • Keil环境下STM32F4工程创建步骤

    千次阅读 多人点赞 2018-11-25 00:09:59
    Keil环境下STM32F4工程创建步骤 自己也是刚刚开始接触STM32,在开发环境配置和工程创建过程就花费了多半天的时间,写下此文以纪念自己入坑,也希望能帮助其他想要入坑的小伙伴儿顺利入坑,好了话不多说,下面请允许...
  • stm32_创建mdk工程_详解.为创建stm32工程而建立
  • #采用stm32cubeMX创建工程流程

    千次阅读 2016-12-02 14:30:22
    采用stm32cubeMX创建工程流程1、到官网下载软件...
  • 基于STM32CubeMX创建STM32L496ZGTx的工程

    千次阅读 2017-04-06 16:44:25
    基于ST官方推出的工具STM32CubeMX创建STM32L496ZGTx的MDK-ARM工程
  • STM32F4 创建工程 (详细操作方法) 开发指南
  • 1.根据自己编程习惯在任意路径下创建工程目录 Core:放ST提供的配置文件 Obj:放链接文件(.o)烧写文件(.hex) System:自己编写的库 User:放工程和main.c函数 2.打开Keil5软件创建新的工程放到User下 3.Keil5创...
  • 现象:芯片stm32f103 ...原因:标准库工程是别人建立的工程,里面有勾选下载后复位并运行的选项,STM32CubeMX 创建工程是没有勾选的,所以不能运行。拔掉电源重新上电如果可以运行,基本是跟我一样的问题了。 ...
  • 最近发现一款适用于STM32的UI设计软件,界面炫酷,操作方便,经过几天的摸索,终于将TouchGFX+STM32CubeMX+STM32CubeIDE创建项目工程的全过程走通。 在安装TouchGFX时遇到电脑无法安装.net framework 4.5.2的问题,...
  • 创建STM32工程

    2018-09-11 10:23:10
    1.先建立一个总文件夹Project_Test,用来存放所有的项目 2.在新建的总文件夹中建立你要实现的项目,如实现流水灯或者按键的控制 ...2 User:存放工程文件和主函数 3 System:存放驱动代码(.c文件和.h文件)  ...
  • STM32 CubeIDE快速创建工程(图文详解)

    万次阅读 多人点赞 2020-03-01 13:10:44
    使用STM32CubeIDE快速创建STM32的HAL库工程
  • 用IAR创建STM32工程

    2019-05-02 20:04:26
    该文档主要说明了如何在IAR工程中对STM32单片机进行相应的配置,使其能够在IAR中编程,不在使用Keil,调试方便。
  • STM32标准外设库StdPeriph_Lib_V3.5在Keil上创建一个STM32工程

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,467
精华内容 586
关键字:

stm32创建工程