嵌入式开发学习

目录

第一周

1. 环境安装

1.1 环境安装说明

1.2 驱动安装说明 

2. 模版工程创建

2.1 MDK5使用说明

2.2 项目开发板型号

2.3 模版案列文件解释

任务一要求

1.完成STM32运行平台(Keil)搭建

2.完成模板工程创建

3 烧录方式、原理图、时钟树

3.1 烧录方式(一般用ST)

3.2 原理图(网络标号一模一样的标在一起)

3.3 32F1的时钟树(使用时钟驱动PC指针)

3.4 GPIO( IO口、分组 16个IO 、下标为 0-15 )

3.5 智慧交通项目需求

4. 基础知识简介

4.1 32的的基础知识分类

4.2 F1使用所有外设资源

4.3 LED的点亮步骤

4.4 添加源文件

4.5 编写代码

4.6 烧录后按复位键


第一周

1. 环境安装

本次嵌入式开发学习的平台编译环境为MDK5

驱动下载链接:https://pan.baidu.com/s/1QnwLaqezFQ7QmqeFovZJxg?pwd=0gob 
平台编译环境下载链接:https://pan.baidu.com/s/13dFeGlCEbjqbcIn_f_aR9w?pwd=z4h9 

1.1 环境安装说明

文件中已经包含注册机,可以进行软件破解,pack后缀文件为项目开发的芯片包(F、H系列,H更高端),项目开发暂时使用F1系列,同一系列芯片使用同一个库


根据MDK5安装文档进行软件安装,MDK5安装包为MDK521A.exe

1.2 驱动安装说明 

串口调试助手:拖到桌面直接能用,主要功能是进行调试并查看调试信息,会经常用到

CH340驱动(SETUP.EXE):串口->USB 协议支持,保证成功使用串口(默认装到C盘)

ST-Link驱动(setup.exe):用于下载代码,将写好的程序下载到芯片里面(默认装到C盘)

另外建议将驱动类程序装到C盘,可以一定程度减少使用问题

安装时关闭防火墙,若电脑品牌为联想,在联想电脑管家中将实时防护也关闭,如果没有出现报毒可以不用管

2. 模版工程创建

模版工程重要但不常用,也是项目开发必须要有的,一个系列芯片开发只需要一个模版,再进行其他项目开发时,只需要进行粘贴复制即可

首先在ST官方进行固件包的下载

按照PDF的流程进行工程创建

这里已经给出了固件包和pdf流程以及模版案例,可以先通过pdf的流程进行工程创建,再跟模版案例进行比较,下载链接:https://pan.baidu.com/s/1lbwyus4H7-yh_4GlQssgtA?pwd=zd1u 

2.1 MDK5使用说明

项目工具栏很少用到

扳手图标设置(编码格式GB2312,Tabsize 4)

品字形图标(创建新的分组,改名字,添加源文件)

魔术棒图标(Target 选择Version 5,没有选择默认即可)

放大镜图标(仿真调试,没有硬件时可以进行,使用前提必须要有下载连接(ST-LINK、J-LINK、J-TAG、SW))

2.2 项目开发板型号

STM32F103RCT6(只有智能家居是该型号)

STM32F103C8T6(其它项目板子型号)

2.3 模版案列文件解释

CORE文件夹存放芯片内核文件(不同系列芯片内核文件不同,同一系列相同)

F1->m3  F4->m4

OBJ文件夹(存放中间文件)

FWLIB文件夹(存放F1系列所有库文件和头文件)

HARDWARE文件夹(存放新的,自己编译的东西)(自己创建的)

32芯片分为三类产品(按内存容量分)(小型ld、中型 md、大型 hd、(互联型))

System文件夹(经常用,和库一样)

这里选择hd用于进行向下兼容

烧录到芯片文件为后缀为.hex

项目优化(使用keilkill.bat进行冗余文件的批处理,txt用于说明)

任务一要求

1.完成STM32运行平台(Keil)搭建

2.完成模板工程创建

要求:模板工程创建编译后无错误无警告,知道怎么让模板工程兼容同一系列其他芯片类型的项目工程,选择自己要做的项目,并针对自己项目芯片类型创建模板工程(编译后无错误无警告)
        
注意:给大家提供的10个项目中,只有智能家居是大容量产品,芯片类型(STM32F103RCT6)其它的都是中容量产品,芯片类型为(STM32F103C8T6)

项目简介:https://pan.baidu.com/s/18JO48VQzMfPtPxFd8VdREA?pwd=uzdc

3 烧录方式、原理图、时钟树

3.1 烧录方式(一般用ST)

IAP 在应用可编程 (智能手环)

ISP 在线可编程 (单片机和项目)

ST-Link(一般用SW下载)(只需要4根线(VCC、GND、数据线DIO、时钟线CLK))

智能家居烧录方式

3.2 原理图(网络标号一模一样的标在一起)

3.3 32F1 的时钟树(使用时钟驱动PC指针)

5个时钟源

F1:HSI(高速内部)、HSE(高速外部)、LSI、LSE、PLL(回环锁、倍频锁)

用 HSE 走 APB1(36MHZ)和 APB2(72MHZ)

使用单片机一般要达到最大频率

3.4 GPIO( IO口、分组 16个IO 、下标为 0-15 )

浮空输入GPIO_IN_FLOATING——浮空输入UART_RXD(上拉电平、下拉电平都不接)

模拟输入GPIO_AIN——外部ADC模拟输入(ADC(模数转换)(万用表)、DAC(数模转换))

STM32-GPIO 输入输出笔记:https://pan.baidu.com/s/1eWaYrHJgX7j19eUnB1xKaQ?pwd=09p9 

智慧交通烧录方法:https://pan.baidu.com/s/1sdKQ2CQ245uDmZUoDBgImw?pwd=lhk7

3.5 智慧交通项目需求

C8T6的核心板(所有项目接法一样)并找商家要一份原理图

ST-LINK V2 下载器(GND连接电脑指示灯会亮,若一直闪烁或者熄灭,有可能是没开始烧录程序,也有可能是ST-LINK的驱动没装、下载使用2、4、6、8连接)

注:VCC和GND不能接反,否者会损坏板子


串口下载:

USB TO TTL 模块

需要接一下boot 进行下载

boot0->1  boot1->0 (比较繁琐,建议使用ST-LINK下载)

4. 基础知识简介

4.1 32的的基础知识分类

1、基础知识(IO、NVIC、TIM)

2、接口类 (USART、IIC、SPI、485)提升部分

3、项目(分功能实现)

4、硬件

4.2 F1使用所有外设资源

1、使能外设时钟

2、配外设参数 

3、使能外设

4.3 LED的点亮步骤

1、复制一份模版(改为LED)

2、在HARDWARE中创建LED文件、接着创建.c、.h文件

3、头文件的编写(固定框架)

#ifndef _LED_H
#define    _LED_H
#include "sys.h"

void LED_Init(void);

#endif

注:每个文件后面必须要有一个新行,此步骤需打开魔术棒和品字形图标进行路径和文件的添加

4.4 添加源文件

4.5 编写代码

cmd 使能函数

@brief函数功能描述

@pram函数参数描述

@retval函数返回值描述     

4.6 烧录后按复位键

  • 19
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
学习C语言和嵌入式开发是进入嵌入式开发领域的首要步骤。关于C语言的学习,可以参考一些书籍,如《C陷阱与缺陷》、《C专家编程》、《C程序设计语言》等。同时,了解嵌入式系统的基础知识也是必要的,可以参考《ARM嵌入式系统基础教程》。 在学习嵌入式开发之前,了解和掌握一些基本概念和工具也是非常重要的。比如,了解Linux平台下的开发流程,可以参考《嵌入式系统开发之道 菜鸟成长日志与项目经理的私房菜》。此外,掌握嵌入式实时操作系统也是必须的,可以参考《μC/OS-Ⅱ嵌入式实时操作系统》。 除了理论知识,实践也是学习嵌入式开发的关键。可以尝试进行一些实际的项目,比如《圈圈教你玩USB》、《嵌入式系统设计与实现》等。通过实践项目,可以不断积累经验和解决实际问题。 总之,学习C语言和嵌入式开发需要系统的学习路线和坚持。结合上述提到的书籍和实践项目,可以帮助你逐步掌握嵌入式开发的技能和知识。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [肝了半个月,我整理出了这篇嵌入式开发学习学习路线+知识点梳理)](https://blog.csdn.net/wangshuaiwsws95/article/details/107830452)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [嵌入式软件开发学习路线](https://blog.csdn.net/weixin_40877924/article/details/104668071)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值