虽然官方有提供keil和EIDE的工程模板,但是个人认为官方模板的源代码和库文件引用较为复杂,不利于工程直接拷贝,因此决定自己仿照官方模板配置一个自用模板,将所有代码和库文件放置在一个文件夹中。个人记录备忘,各位大佬不喜勿喷。

以下是详细步骤。


Keil工程建立

首先确保安装了芯片包。然后新建工程,选择芯片型号

在这里插入图片描述

此时工程目录下应该有这些文件夹

在这里插入图片描述

然后参考官方的模板,配置项目属性。如果是较新版本的keil,需要选择编译器version5.

在这里插入图片描述

在这里插入图片描述

然后添加宏定义USE_HAL_DRIVER,PY32F002Bx5

在这里插入图片描述

根据需要设置调试器

在这里插入图片描述

将官方模板的IncSrc复制到自己的工程中

在这里插入图片描述

startup_py32f002bxx.s也拷贝一份

在这里插入图片描述

在工程中建立对应的分组。可以根据自己习惯命名。

在这里插入图片描述

Common组中加入system_py32f002b.cstartup_py32f002bxx.s文件。

在这里插入图片描述

再向User文件夹添加对应代码

在这里插入图片描述

现在工程中应该包含这些文件

在这里插入图片描述

然后将HAL库复制到自己的工程。官方提供的HAL库路径为PY32F002B_Firmware_V1.1.8\Drivers\PY32F002B_HAL_Driver

在这里插入图片描述

将HAL库的C文件添加到工程。

在这里插入图片描述

接着配置工程的头文件目录。

在工程中新建文件夹CMSIS,并将PY32F002B_Firmware_V1.1.8\Drivers\CMSIS\Include复制到自己的工程中

加粗样式

配置头文件路径

编译工程,没有出现报错,则配置完成。

在这里插入图片描述

在main函数写一段测试GPIO的代码进行临时测试。

int main(void)
{
  /* Reset of all peripherals, Initializes the Systick. */
  HAL_Init();
  
  /* System clock configuration */
  APP_SystemClockConfig();
	
  __HAL_RCC_GPIOA_CLK_ENABLE();

  GPIO_InitTypeDef GPIO_InitStruct;
  GPIO_InitStruct.Mode  = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pin   = GPIO_PIN_0;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_0, GPIO_PIN_SET);

  /* infinite loop */
  while (1) {
    HAL_Delay(1000);
    HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_0);
  }
}

程序可以正常运行。

在这里插入图片描述


感谢阅读至此。系列文章仍在学习和编写中,可查看本人专栏。
PY32F002B入门——01建立Keil工程
PY32F002B入门——02建立VS Code EIDE工程

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐