当前位置: 首页 > news >正文

【西门子杯工业嵌入式-1-基本环境与空白模板】

西门子杯工业嵌入式-1-基本环境与空白模板

  • 项目资料
  • 一、软件安装与环境准备
    • 1. 安装MDK5
    • 2. 安装驱动
    • 3. 安装GD32F470支持包
  • 二、工程目录结构建议
  • 三、使用MDK创建工程流程
    • 1. 新建工程
    • 2. 添加工程组(Group)
    • 3. 添加源文件
  • 四、编译配置设置(Options for Target)
    • 1. C/C++ 包含路径配置(Include Paths)
    • 2. 宏定义(Preprocessor Symbols)
    • 3. 输出设置(Output)
    • 4. Debug配置
  • 五、编译调试注意事项

链接: 官方视频

项目资料

2025工业嵌入式开发资料(持续更新)

链接: https://pan.baidu.com/s/1e22V7-IJScCviZgcj6tsSw?pwd=CIMC 提取码: CIMC

一、软件安装与环境准备

1. 安装MDK5

打开安装包(如 MDK5.25)。

按照默认路径安装即可;

若已安装 Keil C51,注意不要安装在相同目录下,避免冲突。

填写注册信息时,Email 要符合格式,否则无法继续。## 2. 安装驱动

2. 安装驱动

根据使用的仿真器安装对应驱动(如 ST-Link 驱动)。

即使MDK已内置驱动,为避免版本不匹配,建议单独安装最新版。

3. 安装GD32F470支持包

安装 .pack 文件(固件库包)来支持 GD32 芯片。

通过双击 pack 文件自动完成安装。

二、工程目录结构建议

project/
├── CMSIS/ # 微控制器的标准接口
├── Drivers/ # GD32 提供的标准固件库
├── Hardwares/ # 硬件驱动(如LED, USART等)
├── Functions/ # 功能函数文件
├── Header_Files/ # 所有头文件集中管理
├── Protocol/ # 通信协议相关
├── Startup/ # 启动汇编文件
├── System/ # 系统相关代码
├── User/ # 用户主函数、中断、SysTick等
├── Objects/ # 编译后的中间文件
├── Listing/ # 编译生成的汇编文件列表
└── Readme.md/.txt # 工程说明文档

三、使用MDK创建工程流程

1. 新建工程

使用 Keil μVision 创建新工程,并保存到 project 目录。

选择目标芯片 GD32F470VETx(或你所用型号)。

2. 添加工程组(Group)

按照目录结构创建如下 Group:

CMSIS

Header_Files

Hardwares

Functions

Startup

System

User

Protocol(可选)

Libraries

Readme

3. 添加源文件

将 .c/.h/.s 文件添加到对应组中。

例如:LED.c → Hardwares,main.c → User,startup.s → Startup。

四、编译配置设置(Options for Target)

1. C/C++ 包含路径配置(Include Paths)

添加所有包含头文件的路径,如:

..\Header_Files
..\Libraries\GD32F4xx_standard_peripheral\Include
..\CMSIS
..\Hardwares\LED
..\System

2. 宏定义(Preprocessor Symbols)

添加芯片型号宏:

GD32F470

根据实际晶振配置宏,如:

USE_STDPERIPH_DRIVER
HXTAL_VALUE=25000000

3. 输出设置(Output)

Output Folder:.\Objects

Listing Folder:.\Listing

勾选:Create HEX file(供外部烧录器使用)

4. Debug配置

选择使用的仿真器(如 ST-Link)。

勾选:Reset and Run(下载程序后自动复位运行)

五、编译调试注意事项

1.所有头文件必须在 Include Paths 中被正确包含;

2.如果使用了 header_files.h 聚合所有头文件,要确保它被 main.c 等源文件包含;

3.添加新的 .h/.c 文件后,记得同步添加到编译组和路径中;

4.使用 Build 后,查看每个 .c 文件是否成功调用到了对应的头文件(点击加号展开即可);

5.如果报错 “找不到头文件”,多半是路径未设置好。

http://www.dtcms.com/a/233892.html

相关文章:

  • 如何排查MySQL是否走索引
  • 是否存在路径(FIFOBB算法)
  • 人工智能100问☞第41问:什么是边缘AI?
  • Java应用10(客户端与服务器通信)
  • 【运维心得】内存占用虚标真相
  • DisplayPort 2.0协议介绍(1)
  • 基于BI PaaS架构的衡石HENGSHI SENSE平台技术解析:重塑企业级数据分析基座
  • MySQL的并发事务问题及事务隔离级别
  • 人脸识别技术应用备案材料详细解析
  • C语言| 指针引用数组元素
  • 芒种耕耘时,codigger智启新程
  • label-studio的使用教程(导入本地路径)
  • 深入解析OSPF特殊区域类型
  • Modbus TCP 通信基础
  • ServBay 1.13.0 更新,新增第三方反向代理/内网穿透
  • DFS训练(网格图)
  • 2024年09月 C/C++(六级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • SpringBoot自动化部署实战技术文章大纲
  • 【Fiddler抓取手机数据包】
  • 多航态无人艇航态变换姿态控制系统设计与实现_可复现,有问题请联系博主
  • Spring Bean是否是线程安全的
  • aiohttp异步爬虫实战:从零构建高性能图书数据采集系统(2025最新版)
  • 深度学习之模型压缩三驾马车:基于ResNet18的模型剪枝实战(2)
  • 代码训练LeetCode(23)随机访问元素
  • 《操盘实战》速读笔记
  • AI编程助手入门指南:GitHub Copilot、Cursor与Claude的安装与基础使用
  • 轻松掌控硬件接口:LuatIO可视化工具,物联网开发的“效率加速器”!
  • 动态规划-1035.不相交的线-力扣(LeetCode)
  • 【学习分享】shell基础-数组
  • Day45 Python打卡训练营