ImageVerifierCode 换一换
格式:DOCX , 页数:30 ,大小:3.22MB ,
资源ID:13046303      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/13046303.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(STM32F1xxx-TKStudio-GCC--基础入门Word格式.docx)为本站会员(wj)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

STM32F1xxx-TKStudio-GCC--基础入门Word格式.docx

1、同时最好把FLASH编程手册也下载(自己到官网找吧! 这不是必须的) 芯片参考手册里面也有提到一个AN2606文档,百度文库中也可以搜到,关于bootloader的.下载STM32F1xxx参考手册到官网下载STM32F1xx的固件库(或者说标准外设驱动库,或者说标准外设API),stm32f10x_stdperiph_lib 下载链接: TKStudio 是个非常好用的IDE 要感谢他们的辛勤付出.1. 首先TKSTUDIO 的网页中也有介绍 用GCC 进行ARM开发的指导,不过不是针对STM32的,STM32初学者估计也不好上手. 如果你是个很新的新手建议也完整地阅读一下用户手册,有很多好

2、用的功能不看是不知道的.参考下面的链接1首先要阅读一下芯片的手册,大概了解一下存储和组成结构、GPIO .2自己操作寄存器固然是可以 不过确实没有用现成的固件库那么方便.所以解压固件库后阅读一下 stm32f10x_stdperiph_lib_um.chm 这个文件,点开主页,建议直接阅读 HOW TO USE THE LIBRARY 这一章.3. 有了以上的准备,我们开始第一个程序的编写。打开TKStudio 新建一个工程。4.点Project Wizard,选好路径,起个工程名称(工程名称会自动加入路径中,不要自己去建这个文件夹)5.选择芯片,如果没有相符的芯片,选个相近的也是OK的。6.

3、7. 工程建完后的界面和相应的文件夹。 下面要添加源码了。8.组织一下自己的文件 ST Lib 用来放需要用到的固件库文件、和平台相关的文件等。ST Libraries 是直接把官方固件库复制过来方便使用而已,和我们的程序是无关的。USERAPP 放自己的应用源码。把一些必须的芯片和平台相关的文件复制到ST Lib。我在ST Lib下面新建一个了一个GCC文件夹用来放平台相关的文件。复制固件库:stm32f10x_stdperiph_libSTM32F10x_StdPeriph_Lib_V3.5.0LibrariesSTM32F10x_StdPeriph_Driver ,把这个文件夹整个复制过

4、来,这里放了所有的固件驱动,(其实我们可以把不需要的去掉,不过没太大必要),其他的一些文件我就直接复制过来,简化一下路径层次。见下图core_cm3.c core_cm3.h 从下面的路径复制过来(core_cm3.c 暂时没用上 不复制也可以)stm32f10x_stdperiph_libSTM32F10x_StdPeriph_Lib_V3.5.0LibrariesCMSISCM3CoreSupportstm32f10x.h system_stm32f10x.c system_stm32f10x.h 从下面的路径复制过来stm32f10x_stdperiph_libSTM32F10x_Std

5、Periph_Lib_V3.5.0LibrariesCMSISCM3DeviceSupportSTSTM32F10x stm32f10x_conf.h 从下面的路径复制过来stm32f10x_stdperiph_libSTM32F10x_StdPeriph_Lib_V3.5.0ProjectSTM32F10x_StdPeriph_Template把平台相关的文件复制到GCC文件夹stm32_flash.ld (链接脚本 文件)stm32f10x_stdperiph_libSTM32F10x_StdPeriph_Lib_V3.5.0ProjectSTM32F10x_StdPeriph_Templ

6、ateTrueSTUDIOSTM3210E-EVAL(注意这个是103ZE 的链接脚本,其他不同容量的 自己找下看,可以用记事本打开这个文件看看就知道了。这个是和平台相关的! )startup_stm32f10x_hd.s (startup 文件)stm32f10x_stdperiph_libSTM32F10x_StdPeriph_Lib_V3.5.0LibrariesCMSISCM3DeviceSupportSTSTM32F10xstartupgcc_ride7 根据自己的芯片进行选用,系列分类自己看STM32F1xxx用户手册libgcc.aC:TKStudioBuildSourcery

7、G+ Litelibgccarm-none-eabi4.4.1Libc.a libm.a TKStudioBuildSourcery G+ Litearm-none-eabilib关于平台相关文件这个问题,其实可以不必这么复制的,因为TK里面已经有完整的工具链,我这样做是因为从IAR移植过来的后遗症 关键是链接脚本的问题 这样用着也挺好 就先不深入了 大家有兴趣可以到C:TKStudioBuildGNU-ARM STM32 这里看看。 所需的基本文件都OK了 ,下面开始代码的编写和编译。通过右键操作 建立如下的分组结构。在USERAPP里面新建一个main.c的主文件 (右键点击 工程窗口-U

8、SERAPP-新文件)同时在ST LIB文件组下添加如下两个文件(右键点击 工程窗口-ST LIB-追加文件到文件组) 建个mian函数 随便写点东西吧。 我们先把编译环节弄好了再说。配置工程目标。选择一个输出格式,我以HEX为例。设置包含路径现在编译肯定报错的。要在 stm32f10x.h 这个文件里选择芯片系列。 stm32f10x.h 是个只读文件,我的做法是先把他的文件名改一下 我改成stm32f10xb.h ,然后拖入TK里面把相应的芯片系列去掉注释,然后保存为 stm32f10x.h ,然后可以删掉 stm32f10xb.h 见下图。这时候点击“生成所有工程” 应该是OK 的了。

9、如果不行 则要检查下那个步骤出错了。下面我们要进行实际编码了。我要控制GPIOG 4 来点亮一个LED ,同时通过 USART1来和PC通信 。我们用固件库来配置这些硬件。启用固件库,打开stm32f10x.h 把105行去掉注释。打开 system_stm32f10x.c ,移到 110行 ,选择符合自己板子的时钟频率。 默认是72MHZ。右键点击 ST LIB追加需要用到固件驱动到ST LIB文件组 ,这些文件的路径在 我们自己建立的文件夹 ST Lib 。添加后,生成一下,应该是OK的。可以打开 stm32f10x_conf.h 把那些没用到的固件驱动注释掉,不过这个不是必须的。在mai

10、n.c中编写你想要的代码。 或者复制我下面的进去。GPIO_InitTypeDef 这一些元素 在固件库说明文件里面有 到里面搜索一下即可。/-我的代码 通过串口来点亮/熄灭LED -#include stm32f10x.h#includevoid delay1(unsigned char times) unsigned char i,j; for (i=0;i250;i+) for (j=0;jtimes;j+) int main(void)GPIO_InitTypeDef GPIO_InitStructure;USART_InitTypeDef USART_InitStructure;/U

11、SART_ClockInitTypeDef USART_CLKInit;delay1(230);/开启相应外设的时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOG|RCC_APB2Periph_GPIOA|RCC_APB2Periph_USART1|RCC_APB2Periph_AFIO,ENABLE);/初始化IO口 想用那个就用那个,不过要先用上面的函数把相应的时钟开启了GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 | GPIO_Pin_6| GPIO_Pin_5| GPIO_Pin_4| GPIO_Pin_3;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_Init(GPIOG,

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1