交叉开发

嵌入式系统开发不同于通用PC系统的开发。通用PC系统拥有强劲的处理器、充裕的内存和硬盘,且有鼠标键盘输入,显示屏查看,是理想的开发载体,因此PC程序也就直接在PC上开发。而嵌入式系统往往资源有限,输入显示也受限,不适合作为开发载体,因此嵌入式程序通常不在嵌入式系统中开发。而是将嵌入式程序放在PC上开发,然后将生成的可执行文件放在嵌入式系统运行,这种方式就叫交叉开发。

交叉开发通常由三部分组成:宿主机(Host)、目标机(Target)、连接宿主机和目标机的工具(调试/仿真/下载器)。宿主机指用于开发程序的平台,这里指PC电脑,借助电脑上的开发软件,实现程序的编写、编译;目标机指程序运行的平台,这里指开发板;连接宿主机和目标机的工具通常有串口、J-Link等。三者示意如图 4.3.1 所示。

嵌入式开发通常分为五个步骤:编辑、编译、汇编、链接、调试和下载。每个环节都需要相应的软件实现,如果将这些软件集成在一起,就叫集成开发环境(Integrated Development Environment,IDE),如图 4.3.2所示。

实际开发中,除了使用调试/下载器进行调试,还会用到串口打印显示信息。对于STM32开发,所需的开发工具如表 4.3.1 所示。因此我们需要安装两个软件(IDE和串口工具软件),准备一个调试/烧写工具。

综合实际开发情况和软件收费限制。对于集成开发环境IDE,本手册选择Keil,使用最广,读者熟悉之后也能过渡到其它IDE;对于调试/烧写工具,本手册选择ST-Link示例,功能够用价格便宜;对于串口工具,选择MobaXterm,免费够用。

下载、安装 Keil

Keil-MDK(Keil ARM Microcontroller Development Kit)前生是德国Keil公司,后被ARM收购,可以看作是ARM官方的集成开发环境。前面图 4.2.4 STM32F103ZE系列官方工具软件(部分截图)所示的网页页面,里面有Keil的下载链接,或者开发板配套资料的“3_开发软件”文件夹提供所有需要的软件,读者也可直接去Keil官网(https://www.keil.com/download/product/)直接下载,当前最新版本为5.32,如图 4.3.3 所示。

随后进入个人信息完善页面,按提示填写所有的信息,如图 4.3.4 所示,填写完后,点击“Submit”提
交。

随后进入下载页面,点击“MDK532.EXE”即可下载,如图 4.3.5 所示。

下载完后,点击运行该文件,进入安装界面,选择“Next >>”,如图 4.3.6 所示。

接着进入用户协议界面,勾选同意协议,点击“Next >>”,如图 4.3.7 所示。

然后设置安装路径,第一个“Core”是软件的安装路径,第二个“Pack”是芯片的硬件支持包的安装路径,读者保持默认路径或者设置为如图 4.3.8 所示一样的即可,如果是自定义设置,建议为全英文路径,不建议为包含有中文的路径。选择好之后点击“Next >>”后:

随后需要设置个人信息,随便填写即可,如图 4.3.9 所示。

之后便进入安装进度界面,如图 4.3.10 所示,等待安装完成。

安装过程中,回弹出驱动安装界面,勾选“始终信任来自‘ARM Ltd’的软件”,然后点击“安装”, 如图 4.3.11 所示。

如图 4.3.12 所示即安装完成,“Show Release Notes”为查看当前版版本说明,可以不勾选,最后点击“Filash”。

之后会自动进入“Pack Installer”界面,这里会检查安装的编译器、CMSIS等是否是最新的,由于我们安装的是官网提供的最新的MDK,所以这里一般情况下都是不需要更新的。

至此Keil就安装完成了,但这不是Keil开发环境的全部。一个Keil的开发环境,除了Keil软件,还需要安装对应的Pack,比如这里目标机的MCU是STM32F103ZET6,就需要下载该系列的的Pack,如果是STM32F4系列,就需要下其它系列Pack。

使用“Pack Installer”可以方便的对Pack安装和管理。在左上角搜索框输入“STM32F103”,展开搜索结果,可以看到STM32F103ZE,点击右边的简介链接即可跳转到Pack下载页面,如图 4.3.13 所示。如果跳转网页无法打开,可直接打开Pack下载总入口(www.keil.com/dd2/Pack/)。进入Pack下载总入口后,找到“STMicroelectronics STM32F1 Series Device Support, Drivers and”,点击右边的下载图标即可,如图 4.3.14所示(实测部分网络环境打开该链接无Pack列表,请尝试换个网络环境测试,仍旧不行则使用配套资料Pack)。


下载之前会弹出Pack用户协议,点击“Accept”即可,如图 4.3.15 所示。

下载完成得到“Keil.STM32F1xx_DFP.2.3.0.pack”,直接双击该文件,随后弹出如图 4.3.16 所示界面,
点击“Next”进行安装。

本开发板使用ST-Link进行下载调试程序,还需要安装ST-Link驱动。首先从ST官网下载该驱动(https://www.st.com/en/development-tools/stsw-link009.html),或者直接使用配套资料里的ST-Link驱动,路径为“3_开发软件\2_ST-LinkV2仿真器驱动\en.stsw-link009.zip”。

解压“en.stsw-link009.zip”,双击运行“dpinst_amd64.exe”(如果电脑为32位系统,运行“dpinst_x86.exe”),出现如图 4.3.17 所示安装界面,点击“下一步”。

在安装过程中,出现如图 4.3.18 所示的Windows安全警告,选择“安装”。

最后安装完成提示如图 4.3.19 所示,点击“完成”退出安装程序。

至此,针对本开发板(STM32F103系列)的Keil开发环境,配置完成。

下载、安装 MobaXterm

实际开发中,常常使用串口的输出信息来协助调试。通常的串口连接如图 4.3.17 所示。开发板的串口(TTL电平)引出,通过USB-TTL串口模块,转成USB信号给电脑,在电脑上还需要配套软件才能显示信息,也就是这里要安装的MobaXterm。本开发板的USB-TTL串口模块集成在了开发板上,在前面图 3.3.1 的编号37处,因此本开发板只需要使用Micro USB线将电脑和开发板编号37处连接即可。

目前还用不上串口,因此不需要接线,只需要将串口工具MobaXterm先下载、安装即可。打开MobaXtrem官网(https://mobaxterm.mobatek.net/download.html),如图 4.3.18 所示。Moxtrem有两个版本,“Home Edition” (家庭版)有功能限制但免费,“Professional Edition(专业版)无功能限制但收费,这里选择功能够用的家庭版下载即可。

接着跳到家庭版下载页面,又分两个版本可选,“Protable edition”(便携版)无需安装,点击即用,“Installer edition”(安装版)需要安装才能使用,这里选择便携版即可,如图 4.3.19 所示。

下载得到“MobaXterm_Portable_v20.4.zip”,需要读者解压到任一目录,解压后如图 4.3.20 所示,以后点击“MobaXterm_Portable_v20.4.exe”即可运行MobaXtrem。

百问网技术论坛:
http://bbs.100ask.net/

百问网嵌入式视频官网:
https://www.100ask.net/index

百问网开发板:
淘宝:https://100ask.taobao.com/
天猫:https://weidongshan.tmall.com/

技术交流群(鸿蒙开发/Linux/嵌入式/驱动/资料下载)
QQ群:869222007

单片机-嵌入式Linux交流群:
QQ群:536785813

STM32F103开发环境的搭建相关推荐

  1. android笔记1——开发环境的搭建

    Long Long ago...已经成为了历史,我还是要说出一个真相:早年前,那时候,android还不被大众所认知的时候,当然开发人员也没不像如今那样趋于饱和状态.一位大牛前辈,也是我的学长,那时候 ...

  2. Java开发环境的搭建以及使用eclipse从头一步步创建java项目

    原文:出自本人的Linux博客http://blog.csdn.net/unix21/article/details/18813173 一.Java 开发环境的搭建 这里主要说windows环境下怎么 ...

  3. Java开发环境的搭建以及使用eclipse创建项目

    一.Java 开发环境的搭建 这里主要说windows环境下怎么配置Java环境.如果是Linux环境参考本博客另一篇文章即可: Linux环境安装卸载JDK 1.首先安装JDK java的SDK简称 ...

  4. SSH开发环境整合搭建

    1.建立动态web工程,加入必要的jar包. antlr-2.7.7.jar asm-3.3.jar asm-commons-3.3.jar asm-tree-3.3.jar c3p0-0.9.1.2 ...

  5. 《python 与数据挖掘 》一1.3 Python开发环境的搭建

    本节书摘来自华章出版社<python 与数据挖掘 >一书中的第1章,第1.3节,作者张良均 杨海宏 何子健 杨 征,更多章节内容可以访问云栖社区"华章计算机"公众号查看 ...

  6. 微信小程序开发系列一:微信小程序的申请和开发环境的搭建

    我最近也刚刚开始微信小程序的开发,想把我自学的一些心得写出来分享给大家. 这是第一篇,从零开始学习微信小程序开发.主要是小程序的注册和开发环境的搭建. 首先我们要在下列网址申请一个属于自己的微信小程序 ...

  7. java刚工作搭建环境_Java开发环境的搭建

    一.java 开发环境的搭建 这里主要说的是在windows 环境下怎么配置环境. 1.首先安装JDK 点击下载好的exe文件安装即可. 2.接下来我们需要配置环境变量 xp系统下  右键'我的电脑' ...

  8. python语言编程环境-day02--编程语言的分类与Python开发环境的搭建

    一.编程语言的分类 机器语言:机器语言是二进制代码表示的计算机能够直接识别和执行的一种机器指令的集合. 汇编语言:汇编语言是一种比机器语言稍微高级的编程语言,它使用助记符代表机器指令的操作码,用地址符 ...

  9. Seam开发环境的搭建

    一.Seam开发环境的搭建 Seam开发环境的搭建包含以下几项内容: Java环境的安装和配置 JBoss环境的安装和配置 Ant环境的安装和配置 Seam环境的安装和配置 Eclipse环境及JBo ...

最新文章

  1. BZOJ 2038: [2009国家集训队]小Z的袜子(hose)
  2. Hyperic HQ 应用性能管理解决方案
  3. 在软盘上找不到id地址标记_记录一下我的群辉使用腾讯云域名解析IPv6地址
  4. 一个程序员必须学会的Github使用技巧
  5. nyoj-673-悟空的难题(数组标记)
  6. python选择日期控件_Python3 自己写了个DateCtrl日期控件 | 学步园
  7. php 依赖注入 数据库切换_通俗易懂理解PHP依赖注入容器
  8. ListView 中使用onItemClick和onItemLongClick的常见问题
  9. html5%3chr%3e的样式,Vbs脚本编程简明教程
  10. android dialog遮挡键盘,彻底解决软键盘遮挡DialogFragment
  11. php mud游戏源码,mud手游源码,mud安卓端源码,谁与争锋mud源码:关于MUD纯文字游戏架设(回答得好加分100)(开源mud游戏框架)-南开游戏网...
  12. 最新版-----新浪微博的第三方登录
  13. 十年阿里巴巴资深架构师整理分享的SpringSecurity实战文档
  14. C/C++探秘(1)
  15. 手机扫码登陆网页的原理实现
  16. 支付宝17年新春红包技术体系剖析
  17. python画图横坐标_python画图把时间作为横坐标的方法
  18. Azure SQL 数据库连接字符串
  19. 经典数字图像处理素材库
  20. PAT福尔摩斯的约会

热门文章

  1. 【解决方法】Win10还原默认打开方式图标
  2. centos7 安装Google Chrome浏览器
  3. python的小作业
  4. Java Web 图说
  5. 计算机网络-什么是因特网
  6. Spring Java Mail发邮件
  7. [Java基础]JAVA的SWITCH语句(String)
  8. 数据湖与数据仓库:主要差异
  9. 9 本优秀的 R 语言免费电子书
  10. win 10网信政府版 无法登录微软账号