1 CW32F003E4芯片入门学习:3.工程模板的创建(不使用例程或模板)-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CW32F003E4芯片入门学习:3.工程模板的创建(不使用例程或模板)

CW32生态社区 来源:CW32生态社区 作者:CW32生态社区 2024-03-27 09:37 次阅读

1.2.1.新建keil工程文件夹

创建一个文件夹为CW32_new_pro,注意避免出现中文路径和特殊符号

1.2.2.创建keil工程

打开keil,选择Project->New uVision Project,选择CW32_new_pro文件夹目录,输入项目名称,例子使用CW32_new_pro

1.2.3.选择芯片型号

芯片型号为CW32F003F4,如下:

1.2.4.选择CMSIS固件

1.2.5.复制CW32库文件和启动文件

复制CW32库文件和启动文件到CW32_new_pro

库文件路径:CW32F003_StandardPeripheralLib_V1.4Libraries,

启动文件路径:CW32F003_StandardPeripheralLib_V1.4IdeSupportMDKstartup_cw32f003.s

1.2.6.创建main.c

在keil中右键Source Group1(根据自己的group名称还选择),选择Add New Item toGroupxxx,创建main.c文件.

1.2.7.添加库文件和启动

在Groups,新建group取名为cw32_lib

选择cw32_lib,点击AddFiles,找到CW32_new_proLibrariessrc目录,把所有.c选中,点击Add->Close->OK,完成添加。

添加启动文件

1.2.8.添加头文件路径

1.2.9.选择编译器

1.2.10.main.c文件编写

示例如下:

#include "base_types.h"
#include "cw32f003.h"
#include "system_cw32f003.h"

int32_t main(void)
{

  CW_SYSCTRL- >AHBEN_f.GPIOC = 1U; // Open GPIOC Clk

  CW_GPIOC- >ANALOG_f.PIN0 = 0U; // Digital
  CW_GPIOC- >BRR_f.BRR0 = 1U;    // Reset PA00
  CW_GPIOC- >DIR_f.PIN0 = 0U;    // Output

  while (1)
  {
    CW_GPIOC- >TOG = bv0;//电平发名字卷
    FirmwareDelay(100000);
  }
}

1.2.11.编译

点击上图所示的编译选项,会出现下图所示的错误,原因是重复定义了。

打开cw32f003_systick.c文件将164行的 __weak void SysTick_Handler(void) 修改为 void SysTick_Handler(void)。 即可解决14点的错误

再次点击编译,无错误,完成工程创建。

可以看到0个错误,0个警告,至此,工程模板创建完成。

1.2.12 探讨1.2.11的编译报错原因:

CW32要用AC5编译器,用AC6编译会报错,可能是这样的错误,还有一堆的警告

KEIL从MDK5.37版本开始已经不集成AC5编译器了,想用最新版本有两个方法:
方法1: 最简单的方法是先安装5.36再安装最新版本,这样AC5可以自动集成到MDK中。
方法2: 安装最新版本后手动添加AC5编译器

安装完MDK后把ARMCC文件夹手动放到keil安装目录的ARM文件夹中

然后在keil中手动添加,选择刚刚添加的文件夹

如果不想折腾安装AC5编译器,可以对现有工程代码修改以适应AC6的编译规则

CW32的例程直接用AC6编译的话一般会报这个错误

AC6中__weak这个关键字不能被识别,改为__WEAK就好了(或如上删去),关键字的不同可以看这个图:

更多的关于MDK适配AC6的内容可以下载KEIL官方的文档进行查看
[https://developer.arm.com/documentation/kan298/latest/]
或者看ARM的AC6介绍,里面也有说明如何从AC5转向AC6
[https://developer.arm.com/documentation/100068/latest/]

1.2.13 补充:用AC6编译有中文的代码会报-Winvalid-source-encoding的警告

用AC6编译有中文的代码会报-Winvalid-source-encoding的警告

可以在下方如图位置填入-Wno-invalid-source-encoding 将该警告信息屏蔽

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    455

    文章

    50712

    浏览量

    423107
  • mcu
    mcu
    +关注

    关注

    146

    文章

    17123

    浏览量

    350965
  • 工程模板
    +关注

    关注

    0

    文章

    10

    浏览量

    6858
  • CW32
    +关注

    关注

    1

    文章

    203

    浏览量

    626
收藏 人收藏

    评论

    相关推荐

    如何用VSCODE创建一个LE5010的工程模板

    我想问下,就是怎么用vscode来创建LE5010的工程模板,我看网上的资料很少很少,官方给的SDK有,但是只能SDK里面来写代码,所以就想问一问! (有偿)
    发表于 12-04 10:01

    图纸模板中的文本变量

    “  文本变量和系统自带的内置变量,可以帮助工程师灵活、高效地配置标题栏中的信息,而不用担心模板中的文字对象被意外修改。   ” 文本变量的语法 文本变量以 ${VARIABLENAME} 的方式
    的头像 发表于 11-13 18:21 168次阅读
    图纸<b class='flag-5'>模板</b>中的文本变量

    A0到A4的图框只要一个图纸模板就搞定了?

    “  图纸模板规范了图纸的尺寸大小,同时可以在标题栏显示与图纸相关的信息,如产品名称、版本、日期等。从标准化的角度考虑,公司通常会定义A0~A4的图纸模板,用于不同的设计场合。KiCad提供了一种
    的头像 发表于 11-13 18:13 259次阅读
    A0到A<b class='flag-5'>4</b>的图框只要一个图纸<b class='flag-5'>模板</b>就搞定了?

    TPD4F003.TPD6F003.TPD8F003八通道EMI滤波器数据表

    德赢Vwin官网 网站提供《TPD4F003.TPD6F003.TPD8F003八通道EMI滤波器数据表.pdf》资料免费下载
    发表于 07-11 10:44 1次下载
    TPD<b class='flag-5'>4F003.TPD6F003.TPD8F003</b>八通道EMI滤波器数据表

    CW32数字电压电流表软件教程-实验四:数码管动态显示

    显示不同的值需要用到CW32的定时器功能,在定时器的中断服务程序里面执行显示刷新的动作。有关CW32的定时器和中断的相关知识请查看链接:【CW32F003E4核心板】入门
    的头像 发表于 05-31 15:23 504次阅读
    <b class='flag-5'>CW</b>32数字电压电流表软件教程-实验四:数码管动态显示

    CW32F003E4芯片入门学习3.工程模板创建不使例程模板

    创建一个文件夹为CW32_new_pro,注意避免出现中文路径和特殊符号
    的头像 发表于 04-24 14:15 505次阅读
    <b class='flag-5'>CW32F003E4</b><b class='flag-5'>芯片</b><b class='flag-5'>入门</b><b class='flag-5'>学习</b>:<b class='flag-5'>3.</b><b class='flag-5'>工程</b><b class='flag-5'>模板</b>的<b class='flag-5'>创建</b>(<b class='flag-5'>不使</b>用<b class='flag-5'>例程</b><b class='flag-5'>或</b><b class='flag-5'>模板</b>)

    CW32F003E4芯片入门学习4.工程模板创建(使用例程模板)

    模板路径:CW32F003_StandardPeripheralLib_V1.4ExamplesTemplate
    的头像 发表于 04-24 14:14 398次阅读
    <b class='flag-5'>CW32F003E4</b><b class='flag-5'>芯片</b><b class='flag-5'>入门</b><b class='flag-5'>学习</b>:<b class='flag-5'>4</b>.<b class='flag-5'>工程</b><b class='flag-5'>模板</b><b class='flag-5'>创建</b>(使用<b class='flag-5'>例程</b><b class='flag-5'>或</b><b class='flag-5'>模板</b>)

    STM32L4R5生成工程模板时,必须使用CubeMx,但是生成的程序编译极慢为什么?

    开发STM32L4R5芯片。在生成工程模板时,必须使用CubeMx,但是生成的程序编译极慢 1、采用compiler 5编译很慢,但是不报错。 2、采用complier6编译较快,但是
    发表于 04-19 07:32

    CW32F003E4芯片入门学习:器件包安装

    安装CW32的pack包,可以从武汉芯源官网下载固件库
    的头像 发表于 04-02 14:25 608次阅读
    <b class='flag-5'>CW32F003E4</b><b class='flag-5'>芯片</b><b class='flag-5'>入门</b><b class='flag-5'>学习</b>:器件包安装

    CW32F003E4芯片入门学习:开发环境安装

    最近,Keil官方推出了一则消息:Keil MDK新增了一个版本,MDK社区版(MDK_Community edition)。
    的头像 发表于 04-02 14:22 1268次阅读
    <b class='flag-5'>CW32F003E4</b><b class='flag-5'>芯片</b><b class='flag-5'>入门</b><b class='flag-5'>学习</b>:开发环境安装

    CW32F003E4芯片入门学习4.工程模板创建(使用例程模板)

    1.3.1拷贝模板工程和库文件 模板路径:CW32F003_StandardPeripheralLib_V1.4ExamplesTemplate 库文件路径
    的头像 发表于 03-27 09:39 498次阅读
    <b class='flag-5'>CW32F003E4</b><b class='flag-5'>芯片</b><b class='flag-5'>入门</b><b class='flag-5'>学习</b>:<b class='flag-5'>4</b>.<b class='flag-5'>工程</b><b class='flag-5'>模板</b><b class='flag-5'>创建</b>(使用<b class='flag-5'>例程</b><b class='flag-5'>或</b><b class='flag-5'>模板</b>)

    CW32F003E4芯片入门学习:2.器件包安装

    “Next”按钮进行安装,如图1-2-3所示。 注:其他CW32芯片包的安装方式均相同。 1.1.3 可能遇到的报错及解决办法 双击pack包安装时,会弹出这个报错: 原因可能是 KEIL 版本更新,对器件包格式有新的限定。
    的头像 发表于 03-27 09:32 677次阅读
    <b class='flag-5'>CW32F003E4</b><b class='flag-5'>芯片</b><b class='flag-5'>入门</b><b class='flag-5'>学习</b>:2.器件包安装

    CW32F003E4芯片入门学习:1.开发环境安装

    1.1.Keil社区版介绍 最近,Keil官方推出了一则消息:Keil MDK新增了一个版本,MDK社区版(MDK_Community edition)。 该版本主要有以下几个特点: 可供电子爱好者、学生、学者等群体非商业免费评估和使用。 没有代码大小限制。 支持Arm Compiler 6:可为所有基于Arm Cortex-M的产品提供精简的代码和强大的性能。 可访问超过9500款支持基于Cortex-M处理器的微控制器器件。 可用于基于Arm架构的微处理器的CMSIS标准框架。 大量可免费使用的中间件(keil RTX5、lwIP、CMSIS-FreeR
    的头像 发表于 03-27 09:27 536次阅读
    <b class='flag-5'>CW32F003E4</b><b class='flag-5'>芯片</b><b class='flag-5'>入门</b><b class='flag-5'>学习</b>:1.开发环境安装

    使用Jenkins和单个模板部署多个Kubernetes组件

    在持续集成和部署中,我们通常需要部署多个实例组件到Kubernetes集群中。通过Jenkins的管道脚本,我们可以自动化这个过程。在本文中,我将演示如何使用Jenkins Pipeline及单个
    的头像 发表于 01-02 11:40 758次阅读
    使用Jenkins和单个<b class='flag-5'>模板</b>部署多个Kubernetes组件

    如何使用CMW500测试频谱模板

    在使用CMW500测试频谱模板之前,首先我们需要了解什么是频谱模板以及其在通信系统测试中的作用。频谱模板是指在特定的频率范围内,记录了该频率范围内的信号功率谱密度的一种图形表示。在通信系统测试中
    的头像 发表于 12-25 15:10 1608次阅读