stm32-eclipse-gnu-jlink开发环境的搭建.ppt
-
资源ID:70986375
资源大小:1.41MB
全文页数:68页
- 资源格式: PPT
下载积分:16金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
stm32-eclipse-gnu-jlink开发环境的搭建.ppt
开发板前言(一)开发环境的搭建eclipseGNU工具链j-Link or wigglereclipse安装JAVA JDK下载直接安装,使用eclipse前必须安装eclipse压缩包下载直接解压后使用eclipse插件启动eclipse,选择workbench;在菜单栏中选择Help-Install New Software安装CDT GNU Cross Development Tools(在work with上输入如下地址:http:/ Embedded CDT(在work with上输入如下地址:http:/ Purpose Tools(在 Work with 下拉菜单中选择All Available Sites)下的:Dynamic Languages Toolkit Remote Development SupportRemote System Explorer End-User Runtime Remote System Explorer User Actions GNU工具链arm-2010q1-188-arm-none-eabi.exe请注意版本号下载后直接安装,请记住安装的路径确认是否安装成功,请查看CodeSourcerySourcery G+Litebin这个路径是否存在,并是否至少有以下文件:arm-none-eabi-gcc.exearm-none-eabi-gdb.exejLinkARM工具安装j-Link转换板Setup_JLinkARM_V414b.exe直接安装确认安装完成,查看开始-所有程序中是否有SEGGER这个文件夹eclipse外使用jLink在开始,所有程序中找到SEGGER文件夹,选择J-Link GDB ServerJ-Link 已连接开发板已连接GDB未连接启动GDBCodeSourcerySourcery G+Litebin运行arm-none-eabi-gdb.exe连接GDB Server连接GDB Server输入 target remote localhost:2331查看“配置文件”下的.gdb的脚本文件输入GDB命令进行操作GDB连接成功openocd安装及配置wiggler转接板安装下载openocd.rar压缩包解压缩,里面有两个文件夹binopenocd的程序和配置脚本openocd.exestm32.cfggiveio接口驱动使用openocd前需要安装这个驱动备注:需要注意解压后存放的路径配置启动eclipse菜单栏Run-External tools-External tools Configurations双击左侧Program后,选择新创建的New_configuration,然后再右侧main选项卡中依次修改Name、Location、Working Directory、Arguments GIVEIO的使用拷贝GIVEIO.SYS到C:WINDOWSsystem32drivers目录下运行LOADDRV.EXE在输入框中输入c:windowssystem32driversGIVEIO.SYSInstallStarteclipse外使用openocd启动windows命令行找到openocd.exe所在的目录例如,我的地址D:TrailBreakersoftwareopenocdbin在命令行中输入该地址接着输入以下内容:openocd.exe-f stm32.cfg连接到TrailBreaker开发板上使用telnet连接openocd查看配置文件stm32.cfg连接成功就能看到以下结果:接着就可以输入命令来对开发板进行操作更多操作命令请查看资料openocd.pdf或输入命令help资料编写程序的源代码STM32F10 x_StdPeriph_Lib_V3.4.0.rar配置文件.rar(启动文件+gdb脚本+ld链接文件)ram配置flash配置固件库固件库的相关资料UM0427 STM32F103xx firmware libraryAN2953 如何升级固件库固件库内带有的说明文档配置文件压缩包ram配置ram启动文件:startup.cram链接脚本:stm3210e_ram.ldgdb脚本(jLink):stm3210e_ram_jlink.gdbgdb脚本(wiggler):stm3210e_ram_jtag.gdb中断向量(ram):vetors.cvetors.hflash配置flash启动文件:startup_stm32f10 x_hd.Sflash链接脚本:stm3210e_flash.ldgdb脚本(jLink):stm3210e_flash_jlink.gdbgdb脚本(wiggler):stm3210e_flash_jtag.gdb中断向量(flash):vetors.cvetors.h新建工程工程目录结构(推荐)core内核、系统、启动相关peripherals 外设库文件scriptsld链接脚本、gdb脚本source应用程序core目录固定文件core_cm3.ccore_cm3.hstm32f10 x.hsystem_stm32f10 x.csystem_stm32f10 x.h根据启动方式选择启动文件(配置文件.rar)选择startup.c(ram)或者startup_stm32f10 x_hd.S(flash)选择对应文件夹内的vectors.cvectors.hcore目录下共8个文件peripherals目录外设配置文件stm32f10 x_conf.h外设库文件stm32f10 x_xxx.cstm32f10 x_xxx.hscripts目录根据ram启动或者flash启动选择相应的ld链接文件stm3210e_ram.ldstm3210e_flash.ld根据启动方式和调试工具选择.gdb脚本source目录存放自己编写的应用程序代码main.c*.c.编译时需要包含该目录一个新建好的工程工程编译设置工程编译环境选中要编译的工程,右击,选择properties对c/c+build下的settings进行设置选中ARM Sourcery Windows GCC C Linker下的general在右侧Script file中输入工程中scripts目录下的.ld文件的绝对地址完成后,Apply对C/C+General 下的 paths and Symbols进行设置includes-GNU Cadd.将工程中包含.c,.h,.S的目录全部添加进来完成后,Apply工程编译选中要进行编译的工程右击选择Build project或者Clean project在console对话框中会给出编译信息如果有错误,可以在其中找到相关提示若编译没有问题,则在工程目录中会生成两个目录BinariesDebug编译后的结果编译生成的可执行文件程序下载工具+启动模式的组合wiggler+ramwiggler+flashjLink+ramjLink+flashwiggler+ramDebug配置Run-Debug Configuration双击Zylin Embedded debug(Native)右侧Debugger在GDB debugger和GDB command file中分别选择arm-none-eabi-gdb.exe和stm3210e_ram_jtag.gdb点击Apply和Close启动openocdRun-External Tools-openocd(此时在console中会显示连接信息)DebugeRun-Debug History点击要Debug的工程Resumewiggler+flashDebug配置Run-Debug Configuration双击Zylin Embedded debug(Native)右侧Debugger在GDB debugger和GDB command file中分别选择arm-none-eabi-gdb.exe和stm3210e_flash_jtag.gdb点击Apply和Close修改stm3210e_flash_jtag.gdb脚本在monitor flash write_image后输入要下载的.elf文件的绝对路径例如右图启动openocd启动DebugjLink+ramDebug配置Run-Debug configurations双击zylin Embedded debug(Native)选中生成的Debug右侧Debugger在gdb debugger和gdb commands中分别找到arm-none-eabi-gdb.exe和stm3210e_ram_jlink.gdb点击Apple启动j-Link GDB ServerDebugRun-Debug history选中*DebugResume(F8)jLink+flash启动j-Link GDB Server启动j-Link flash设置目标cpu:options-Project settings-cpu-device中,选择ST STM32F103ZE确定指定文件File-Open选择.hex可执行文件烧写Target-Auto等待烧写完成运行Target-Start application或者按一下开发板上复位键TrailBreaker主芯片:STM32F103ZE512K flash/64K SRAM112 I/OsSDIOUSBAD/DAI2C/I2S/SPI/UART/CAN以太网芯片:DM9000音频芯片:WM8978固件库简介该固件库是一个函数包它由程序、数据结构和宏组成,包括了微控制器的所有外设的性能特征包括每一个外设的驱动描述和应用实例最新版本3.4.0外设驱动APIANSI-C标准实时错误检查固件库的通用性固件库命名规则系统、源程序文件和头文件命名都以“stm32f10 x_”作为开头,例如:stm32f10 x_gpio.h外设函数的命名以该外设的缩写加下划线开头,每个单词第一个字母大写。例如:GPIO_Init驱动函数的命名函数名格式函数名格式作用作用PPP_Init根据PPP_InitTypeDef中指定的参数,初始化外设PPP_DeInit复位外设PPP的所有寄存器至缺省值PPP_StructInit通过设置PPP_InitTypeDef结构中的各种参数来定义外设的功能PPP_Cmd使能或者关闭外设PPPPPP_ITConfig使能或者关闭外设PPP某中断源PPP_DMAConfig使能或者关闭PPP的DMA接口PPP_GetFlagStatus检查外设PPP某标志位是否被设置PPP_ClearFlag清除外设PPP标志位PPP_GetITStatus判断来自外设PPP的中断发生与否PPP_ClearITPendingBit清除外设PPP中断待处理标志位变量定义IO类型限定词_I只读访问_O只写访问_IO读写访问数据类型举例int32_t有符号32位数据uint32_t无符号32位数据int16_t有符号16位数据int8_t有符号8位数据24个变量类型在“stm32f10 x.h”中定义新旧版数据结构对比新版旧版uint32_ts32uint16_ts16uint8_ts8在AN2953中有详细说明专用数据类型外设控制寄存器结构举例:GPIO在文件“stm32f10 x.h”中,包含了所有外设控制寄存器的结构声明用户可以通过指向各外设的指针来访问外设的控制寄存器。这些指针所指向的数据与各个外设的控制寄存器一一对应举例GPIO外设类型定义外设声明定义外设类型外设地址定义何处定义的?试计算GPIOA_BASE实际地址对照内存地址分配进行分析外设声明如果程序员需要使用外设GPIO,则必须在文件stm32f10 x_conf.h中,选择要用的外设(去掉包含相应头文件那行代码的注释符号)固件库目录结构core_cm3.hcore_cm3.cstm32f10 x.hsystem_stm32f10 x.hsystem_stm32f10 x.cstm32f10 x_ppp.hstm32f10 x_ppp.cADCCANGPIORCCRTC.固件库架构CMSIS架构固件库的使用在应用程序中包含“stm32f10 x.h”根据开发板所属系列,在“stm32f10 x.h”中去掉注释相应的define去掉stm32f10 x.h中#define USE_STDPERIPHE_DRIVER的注释符号在stm32f10 x_conf.h中选择要用的外设使用外设API来开发应用程序配置文件压缩包启动文件ld链接脚本gdb脚本启动文件一般芯片厂商会提供对应芯片的启动文件主要是从减低产品设计周期和成本的角度考虑startup_stm32f10 x_hd.S(flash启动)startup.c(ram启动)启动文件的作用作用一般为:分配中断向量表;初始化存储器系统初始化堆栈初始化有特殊要求的硬件模块选择处理器工作模式调用主应用程序链接文件链接文件一般也会提供stm3210e_ram.ld(ram启动)stm3210e_flash.ld(flash启动)链接文件的作用堆栈分配(大小,位置)存储空间分配数据存放分配GDB脚本作用连接gdb serverj-Link gdb serveropenocd gdb server一个脚本模板GDB调试模型使用J-Link