stm32入门——工程建立

一.stm32的开发方式和优缺点

1. 标准C/C++开发:
     

    优点:
    •    通用性强,适用于各种开发环境。
    •    可以使用各种集成开发环境(IDE)和文本编辑器。
    •    适合各种项目规模,从小型项目到大型应用。
    缺点:
    •    需要手动配置寄存器和外设,可能较为繁琐。
    •    对于初学者来说,学习曲线可能较陡峭。

2. STM32CubeMX和HAL库:
  

 优点:
    •    提供图形化工具(CubeMX)来配置微控制器引脚和外设。
    •    HAL库(Hardware Abstraction Layer)简化了底层硬件操作。
    •    相对于纯C/C++开发,速度较快。
 缺点:
    •    可能会产生庞大的库,占用存储空间。
    •    需要理解HAL库的工作原理和限制。 

3. STM32CubeIDE:
  

 优点:
    •    集成了CubeMX和工程管理功能。
    •    提供了调试工具,如硬件调试器支持。
 缺点:
    •    可能对于初学者来说,学习曲线较陡峭。
    •    使用某些高级功能可能需要更多配置。

4. Bare-Metal开发:
    

优点:
    •    完全控制硬件和资源,适用于对性能和资源要求较高的项目。
    •    避免了使用额外的库和抽象层。
缺点:
    •    开发周期可能较长,需要手动编写底层驱动和初始化代码。
    •    不适合初学者,需要深入了解微控制器硬件。 

5. FreeRTOS和RTOS开发:  
 

 优点:
    •    适用于多任务和实时应用。
    •    提供任务管理和资源分配。
    •    可以提高系统响应性。
 缺点:
    •    学习RTOS需要时间。
    •    可能增加系统复杂性和内存占用。
 

     选择STM32开发方式取决于项目需求、开发经验和时间限制。初学者通常会从CubeMX和HAL库开始,而对于要求更高的项目,Bare-Metal或RTOS开发可能更合适。 

     我们选用库函数开发方式,即标准c/c++开发。

二.工程建立 

先建一个文件夹

1.首先为了方便管理,我们最好建立一个单独的文件夹来放置,我直接放桌面了,名称为是stm32projects

stm32入门——工程建立_第1张图片

2.打开keil5,keil5应该提前配置好MDK新建工程

stm32入门——工程建立_第2张图片

 3.  建立文件夹

stm32入门——工程建立_第3张图片

4.选择单片机型号

stm32入门——工程建立_第4张图片

5.工程空空,需要我们添加,先添加到文件夹里吧

stm32入门——工程建立_第5张图片

6.自行添加启动文件

stm32入门——工程建立_第6张图片

7.添加外设寄存器描述文件和时钟文件

stm32入门——工程建立_第7张图片

 8.    由于stm32是内核和内核外围的设备组成的,且内核寄存器描述和外围设备的描述文件不是在一起的,所以我们还要添加一个内核寄存器的描述文件

stm32入门——工程建立_第8张图片

9.然后整个工程的文件就配置完成了

stm32入门——工程建立_第9张图片

然后要配置工程了

  1.添加启动文件

 stm32入门——工程建立_第10张图片

我们选择后缀为md.s这个

2.添加剩的.c文件

stm32入门——工程建立_第11张图片

3.添加.h文件

stm32入门——工程建立_第12张图片

然后我们start文件夹里文件就配置好了

stm32入门——工程建立_第13张图片

这里的文件都是stm32最基本的文件,不需要我们改,直接添加就好了

然后添加头文件地址  

不然软件找不到.h文件

1.点魔术棒

 2.点c/c++

stm32入门——工程建立_第14张图片

3.点这里

stm32入门——工程建立_第15张图片

 4.这个框框

stm32入门——工程建立_第16张图片

 5.这三个点

stm32入门——工程建立_第17张图片

 6.添加你的路径

stm32入门——工程建立_第18张图片

然后点OK,OK就行了

最后,再添加一个自己用来写文件的文件夹,这个工程就算建立完毕了

三.结语   

    和51的keil c51相比,32的mdk建立一个工程真的好恶心人,对于一些新手很不友好,但是这只是一个预备,真正的上路还要从点灯开始,所以,我们下一个博客是点灯,既然踏上了这条船,就先往前划吧。

   最后奉上我的资料下载地址 资料下载 ,51,32,c,指针,都有资料,需要自取 。

你可能感兴趣的:(stm32,嵌入式硬件,单片机)