一.复制模板文件

1.新建文件夹准备文件位置

    首先我们先确定工程目录。这里,我以 HAL_Nucleo为文件名,在该目录下新建5个文件夹。

harmonyos 使用C库_Nu

CORE  启动文件以及关键头文件

HALLIB 主要驱动文件

OBJ 编译文件目录

Pro MDK工程文件目录

USER 用户文件目录

2.复制启动文件

    找到库文件目录,以F0为例,该板子使用STM32F042K6芯片,故需要该系列芯片启动文件。

    在目录 \STM32Cube_FW_F0_V1.9.0\Drivers\CMSIS\Device\ST\STM32F0xx\Source\Templates\arm 下,寻找需要的型号,也可为了方便移植全部复制。

harmonyos 使用C库_harmonyos 使用C库_02

    接着复制关键头文件 cmsis_armcc.h core_cm0.h core_cmFunc.h core_cmInstr.h core_cmSimd.h 。注意F0使用M0内核所以使用cm0而不选择其他。

    这些文件在目录 \STM32Cube_FW_F0_V1.9.0\Drivers\CMSIS\Include 下,该目录下还有很多其他文件,不太清楚具体功能根据探索者的教程复制以上文件即可。

harmonyos 使用C库_启动文件_03

 

3.复制驱动文件

    驱动文件大体分三类:

        1.HAL库资源

        2.对应芯片型号头文件

        3.板级支持包BSP

    其中BSP非必须文件,仅仅因为该板子为官方板,该文件提供板上资源的支持,若自行设计板子或不使用板载资源可不复制。

harmonyos 使用C库_头文件_04

(1)STM32F0xx_HAL_Driver目录:

        \STM32Cube_FW_F0_V1.9.0\Drivers\STM32F0xx_HAL_Driver

    复制该目录下的.h文件夹Inc和.c文件夹Src

harmonyos 使用C库_启动文件_05

    (2)对应芯片型号

        该板子为f0系列,f042k6。故把相关文件复制即可。若为了方便移植也可全部复制。文件在一下目录:

        \STM32Cube_FW_F0_V1.9.0\Drivers\CMSIS\Device\ST\STM32F0xx\Include

harmonyos 使用C库_头文件_06

    (3)BSP资源

        \STM32Cube_FW_F0_V1.9.0\Drivers\BSP\STM32F0xx_Nucleo_32

harmonyos 使用C库_启动文件_07

 

3.复制用户文件

    用户文件为用户自行编写的文件,但main文件、中断服务文件可以从官方模板中复制,减轻开发压力。

    目录:\STM32Cube_FW_F0_V1.9.0\Projects\STM32F042K6-Nucleo\Templates

harmonyos 使用C库_harmonyos 使用C库_08

    至此模板文件复制结束。

 

二.建立工程

    使用MDK5新建工程,注意保存在Pro目录下。

1.新建工程

    注意首先选择对应芯片。

harmonyos 使用C库_启动文件_09

    之后环境配置直接跳过即可,我们自行配置。

harmonyos 使用C库_harmonyos 使用C库_10

 

2.管理文件

    下面选择管理文件,如图所示:

harmonyos 使用C库_harmonyos 使用C库_11

    之后将所有.c文件与启动文件包含进来。如图所示操作即可

harmonyos 使用C库_Nu_12

harmonyos 使用C库_Nu_13

harmonyos 使用C库_头文件_14

harmonyos 使用C库_Nu_15

    注意:STM32F0xx_HAL_Driver目录下有些文件是不需要的,需要将其删除!

(1)所有ll文件

harmonyos 使用C库_头文件_16

    *ll为HAL库的一个简洁版的库,这里我们不讨论,有关ll都删除即可

(2)有关template文件:

harmonyos 使用C库_harmonyos 使用C库_17

 

3.工程配置

      点开魔法棒工具:

harmonyos 使用C库_头文件_18

(1)时钟设置(貌似没什么用),选择8M

harmonyos 使用C库_harmonyos 使用C库_19

(2)输出文件配置,将输出文件全部放入OBJ目录下

harmonyos 使用C库_头文件_20

(3)头文件配置

包括编译预处理和头文件。

Define下填写:

    STM32F042x6,USE_STM32F0XX_NUCLEO_32,USE_HAL_DRIVER

以此确定使用哪些函数,对应芯片型号

其次将所有的.h目录全部包含,注意\HALLIB\STM32F0xx_HAL_Driver\Inc\Legacy目录不要落下!

harmonyos 使用C库_启动文件_21

harmonyos 使用C库_头文件_22

(4)下载配置

    配置为ST-Link下载,并注意F0Flash(一般默认即可)

harmonyos 使用C库_头文件_23

    选择Setting

harmonyos 使用C库_头文件_24

*Reset and Run 方便调试

最后,编译、下载即可。

harmonyos 使用C库_启动文件_25