首页资源分类嵌入式系统 > 入门必读篇(STM32神舟III号开发板)

入门必读篇(STM32神舟III号开发板)

已有 451617个资源

下载专区

上传者其他资源

    嵌入式系统热门资源

    本周本月全部

    文档信息举报收藏

    标    签:STM32神舟III号开发板

    分    享:

    文档简介

    入门必读篇(STM32神舟III号开发板)

    文档预览

    STM32 神舟 III 号用户手册 201503 STM32 神舟 III 号开发板用户手册 2015 年 03 月版本 V6.0 作者:WWW.ARMJISHU.COM STM32神舟ARM系列技术开发板产品目录: ●【神舟51单片机开发板(51+ARM)开发板】 ● 神舟I号:STM32F103RBT6 + 2.8"TFT 触摸彩屏 ● 神舟II号:STM32F103VCT6 + 3.2"TFT 触摸彩屏 ● 【神舟III号:STM32F103ZET6 + 3.2"TFT 触摸彩屏】 ● 神舟IV号:STM32F103VCT6 + 3.2"TFT 触摸彩屏 ● STM32核心板:四层核心板(STM32F103ZET+207ZGT+407ZGT+407IGT) ● 神舟王103系列(STM32F103ZET核心板) ● 神舟王207系列(STM32F207ZGT核心板) ● 神舟王407系列(STM32F407ZGT/407IGT核心板) ● 神舟王全系列(STM32F103ZET/207ZGT/407ZGT核心板): 全功能底板(支持 MP3,以太网,收音机,无线,SRAM,Nor/Nand Flash,鼠标,键盘,红外接收, CAN,示波器,电压表,USB HOST,步进电机,RFID物联网等) ●神舟 51 开发板(STC 51 单片机+STM32F103C8T6 核心板):全功能底板(支持 音频播放,无线,鼠标,键盘,红外收发,CAN,温度传感器,直流电机,步进 电机,实时时钟,两路 485,两路继电器,小喇叭,热敏光敏电阻,RFID 物联网 等) 目录 STM32 神舟 III 号用户手册 201503 第 1 章 入门必读篇 ................................................................................................................................3 1.1 最新资料下载:http://blog.sina.com.cn/stm321 .........................................................3 1.2 关于说明书...................................................................................................................3 1.3 纸质说明书和电子版说明书的区别...........................................................................3 1.4 关于硬件学习的讨论......................................................................................................3 1.5 关于软件学习的讨论...................................................................................................6 1.6 STM32 神舟开发板定位............................................................................................10 1.7 关于开发板选择的小故事.........................................................................................11 1.8 开发环境的搭建.........................................................................................................14 1.9 代码风格.....................................................................................................................16 1.10 技术支持、售后和保修.........................................................................................18 1.11 产品结构图.................................................................................................................19 1.12 培训与合作.............................................................................................................19 STM32 神舟 III 号用户手册 201503 第1章 入门必读篇 1.1 最新资料下载:http://blog.sina.com.cn/stm321 1.2 关于说明书 本说明书是一个关于 STM32 神舟 III 号开发板的用户手册,里面 包含了硬件电路原理的介绍和分析,也包括了软件代码的解释,还包 括芯片解密解密等和硬件项目研发过程的经验总结等;内容非常丰 富,无论是业内人士也即将进入嵌入式行业的人士,都是一个不错的 浓缩版资料。 无论是否有单片机基础和电子方面基础的初学者,或者软件开发 人员,都可以通过本书在较短的时间内从零基础步入到高手的行列。 1.3 纸质说明书和电子版说明书的区别 说明书是开发板的必读文档,说明书有纸质和电子版两个版本, 纸质说明书是电子版的裁剪版,因为篇幅过长过大,不方便翻阅,所 以纸质版本的说明书提供了其中需要经常翻阅的精华内容,方便用户 查阅和索引,纸质说明书没有的章节可以在电子版说明书中找到。 纸质版的目录与电子版的目录一模一样。 1.4 关于硬件学习的讨论 学习硬件要弄清楚硬件是怎么回事,必须有方法的去学习,我们 按照层次分为以下几个梯次,文档和手册也是按照这样的梯次被分为 不同的章节。 STM32 神舟 III 号用户手册 201503 1.熟悉各个电路模块的设计理念。包括保护电路,以太网电路, CAN 电路模块,485 电路模块,以及数据信息和控制信息怎么输 入怎么输出等。整个开发板是由这些电路模块子单元组合而成一 个大的整体。这样把一个复杂的电路板通过分解的方式,各个击 破和深入了解,就可以达到精通。 2.动手操作和实验。熟悉了整个电路之后,这个仅仅是理论层面 的,光理论暂时还是不行的,必须得学会动手;但理论是基础, 一定要理解透透彻,如果还没有理解透彻的话可以通过动手来实 际操作来更进一步的理解,那么接下来就开始动手尝试开发板如 何上电,如何下载,如何看到实验效果等等,这里也有对应的章 节会讲解。 3.更深入的理论理解。通过一些硬件原理相关的专题,对这些专 题精彩的剖析,对专题的内容深入了解,可以让知识面更加广, 通过对专题的一步一步的深入,从中间也可以学到对于复杂事物 的分析方法。 4.接下来是丰富的各种例程。每个例程都完成了一项功能,每项 STM32 神舟 III 号用户手册 201503 硬件功能都是由软件来驱动的,这些例程中有如何控制 LED 灯, 如何控制 SD 卡,如何控制 TFT 彩色液晶屏,如何控制无线模块 传输无线信号,以及 CAN,485 等等,逐个研究学习 STM32 如 何控制这些硬件器件,包括通信方式比如 IIC,IIS,SPI 接口等, 用软件代码来控制硬件对应的管脚,知识架构就是这样一块一块 像堆叠砖头一样的累积起来,通过实现功能,并且阅读源代码, 深入的了解芯片如何被驱动,如何被运行等。 5.硬件设计和实战。最后,你对整体都很熟悉了,就可以开始学 习硬件 PCB 制图,设计 PCB 等工作了,这个部分我们的手册没 有讲解,只讲解了一些设计电路的关键问题和讲究。其实设计 PCB 也被分为很多层次,包括 2 层板,4 层板,普通 PCB 电路板也可 以被称为低速 PCB 板,低速的 PCB 板讲究不多,当然也有被称 为高速的 PCB 板,因为要求 CPU 速度比较高,所以对布线质量 的要求非常高,包括走线的形状,包括走线的距离等,需要等长, 需要抗干扰等,包括材料要求阻抗的值等等都有非常高的讲究。 业界很多大牛的公司,大牛的牛人等,深深的知道这里面的水有 多深,所以可能你很快学会布线布板,2 层的或者 4 层的,可能 1 个月就学会了,但是你可能需要 10 年的功力才能够达到大牛的状 态,这里我们接下来用专题的形式慢慢分享给大家吧。 1.5 关于软件学习的讨论 STM32 神舟 III 号用户手册 201503 学习软件主要分为理解软件和学习软件。理解软件是理解软件又 哪些层次,比如单片机开发,ARM 开发,linux 开发,Andriod 开发, JAVA 和.net 以及 C++等应用开发;学习软件,是根据个人的需求, 以个人的基础为中心做一个职业规划,这个很重要,因为一开始你无 法学习最难的,也无法精通多门语言,你必须得专注在某个领域成为 专家,才能触类旁通。. 下面谈一下理解软件的层次, 在实际的工作中基本上分为如下几 个层次: 1) 应用软件开发层次;包括 JAVA,Andriod 应用开发,网站 开发,OA 系统等; 2) 驱动研发层次;在 ulinx/linux 驱动开发,Andriod 也有驱动 研发,开发硬件的驱动,或者是比较核心的代码 3) 操作系统核心研发;这个部分基本上集中了众多高手,比 如 linux 内核裁剪,OS 核心裁剪,uclinux,linux 内核,vxWorks 内核研发等等,这样的高手在国内不多,基本都是大牛级 的人物 4) ARM 应用层次研发。这个层次基本可以对应应用软件开发 层次,唯一区别可能 CPU 是 ARM 芯片,这个开发是基于 在 ARM 上移植了比如 wince 操作系统,比如 Andirod 操作 STM32 神舟 III 号用户手册 201503 系统等,比如 JAVA 的跨平台,整个开发过程其实对平台是 无缝的,也就是说,应用软件工程师无需考虑硬件平台的 差异。 5) ARM 或单片机驱动研发。这个层次与上面的驱动研发层次 对比来说就有差别了;差别主要是上面的驱动研发主要是 在协议上和算法上的改进,比如 x86 的 CPU 上的以太网研 发,所支持的以太网种类可以达到数十种或数百种之多。 而 ARM 或单片机驱动研发,主要还是基于硬件层次的,有 一些需要做硬件的驱动,也有一些基于硬件之上协议和算 法的考虑;而普通的 linux 或 Andriod 驱动在厂商就已经做 好了,它已经是一个完整的体系结构,在这里可能需要优 化,比如每秒 2M 的速度要改进成 4M 的速度,比如单网卡 改进成双网卡驱动等等。 6) 单片机寄存器级的开发。这个层次基本就是传统的 51 单片 机开发板,或者 STM32 寄存器级的开发板,基本上就是拿 着 CPU 的硬件手册对照着寄存器表进行开发,驱动对应的 CPU 的寄存器。做寄存器级的研发,一般都是功能相对比 较简单的产品,因为稍微复杂一点的产品,代码的开发量 会比较大,那么很基础的一些功能都会需要一个封装过程。 这些封装好的代码就是基本的寄存级代码,实现这些复杂 的功能,一定是很多基础操作进行组合,而寄存器级的开 发要么就是定位开发这些基础的功能,要么就是开发一连 STM32 神舟 III 号用户手册 201503 串基础功能的组合,总之,功能一定会相对要简单,最贴 近硬件。 理解了一下软件的层次之后,下面简单谈一下如何学习软件, 学习软件与软件层次就有区别了,我们 STM32 神舟工程师的总结 的基本如下: 1) 学懂 C 语言,C 语言基本是一切的一个中心,如果你做 应用软件,比如做 JAVA,net 研发等,会 C 的话,基本 上手最多 2 周的样子;如果你去做驱动,内核开发,或 者单片机,ARM 的开发,基本上都是用 C 语言的。 2) 其次要学一下面向对象的开发和面向过程的开发,这个 部分基本上一种开发的思想,目前很多应用分解成很多 块,每块安排 1-2 个工程师进行研发,软件本身的分解 就是一种艺术的方法,本身就有面向对象的思想或者面 向过程的开发思想;而且代码里面很多函数的设计,都 是各种理念的融合,甚至包括数据库表的字段设计,包 括操作系统内核的实现等,都是各种机制可以说是各种 智慧的融合,而所有的思想,基本上都可以由面向对象 和面向过程两套思想进行交错和融合。 3) 操作系统。这个号称九阳神功,这个 unix 操作系统设计 是 linux 设计者阅读了此书从而设计了 linux,ULINX 基 本可以算是操作系统的鼻祖,然后才是 linux,然后再衍 STM32 神舟 III 号用户手册 201503 生出其他的操作系统。操作系统的难度在于它内部一些 机制设计的巧妙,一环扣一环,需要深入的理解和细细 的品位,这个功力的增长是比较慢的,需要慢慢提高, 会了操作系统,基本上做其他软件开发对项目理解也好, 上手也好,都是非常有帮助的,而且很容易在一个项目 组里因为基础好而理解比别人更快更深,说得俗气一点, 很容易升到管理级别,管理更大的系统开发。 4) 软件包的理解。在众多平台中,比如 STM32,ST 厂商就 会推出一个软件包,这个软件包封装了很多接口,底层 封装了对寄存器的操作,方便大家在这个软件包上做二 次开发,比如串口的初始化,串口发数据或者接受数据, 只要看懂的开发包里的函数,直接调用就可以完成操作。 原本要自己一行一行写的寄存器的代码,现在都不需要 了,只要随便组合一下那些函数,就可以完成一些相对 高级的功能。 5) 应用软件。例如 JAVA,.net 以及网页开发等,Visual studio 开发平台,这些有的甚至已经做成组件式开发,只要拖 拽就可以完全一个复杂的工作流程的开发,各个节点之 间只要定好数据结构,传输的数据协议,就可以很快捷 的开发。另外就是开发语言,数据结构这些,都有专门 的书籍讲解,这个开发如果要讲究效率就要经常更新你 的开发平台,因为厂商对开发平台更新很快,很多原本 STM32 神舟 III 号用户手册 201503 要你一句一句写代码的事情,现在只要随便拖拽就可以 完成了,及时跟进厂商等于是榜上一个大款,有助于加 快开发效率;当然有时候不是你想跟进就可以跟进的, 比如有的项目是多人协作合作开发的,项目经理一般定 好一个开发平台了,项目没完成之前,就基本上要在这 个开发平台进行开发,很难进行整个项目的移植,如果 平台改动比较大,就会使得大家沟通的时间比较长。当 然还有更多可以总结的,慢慢跟大家总结和补充。 关于软件部分的探讨我们后续会针对性的进行补充,我们 STM32 神舟团队有非常多的经验丰富的高手组成的,如果有需要进一步沟 通,可以通过技术支持或者销售跟我们联系,我们也会把一些干货的 经验逐渐通过文档的形式给大家分享出来。 1.6 STM32 神舟开发板定位 众所周知,目前 STM32 各种文档网络上非常多,但都不成体系, 不系统;这样对初学者造成了许多困扰,可能浪费了许多时间还无法 解决好一个问题,有的网络上的内容甚至是没有经过实践检验的,这 些帖子内容的答案均不统一,非权威人士发布的。 而我们定期发布与各类细节技术相关的专题文档,并附上代码; 定期更新用户手册,每个内容都是经过专家的验证和评审,我们的定 位就是帮助初学者解除疑惑,为初学者提供一条最短的学习路径。 STM32 神舟 III 号用户手册 201503 在走上成功的路上,有些牛角尖的问题会拖初学者的后腿,海 量的知识内容反而会让初学者适得其反。 假如您今后对STM32 开发板希望增加某方面的内容,可以发邮 件到armjishu.com@163.com,我们会第一时间与您进行沟通和联系。 1.7 关于开发板选择的小故事 STM32 神舟开发板是神舟团队合力打造的最强王牌适合初学者 的入门级开发板,目前一直在不断加强支持的开发板,开发板有很详 细的用户手册,从 0 基础开始一直到嵌入式高手需要玩到的各种功能 应有尽有,价格定位在初学者能够接受的范围。 技术支持方面与众不同的是:很多开发板都是所谓的作者在进行 支持,其实就是个人进行支持,这样的技术支持是非常不稳定的,而 只有 STM32 神舟开发板是有一个完整的团队在做技术支持,包括软 硬件的高手,这些高手来自项目第一线的人员。 那么你一定会关心这个开发板跟其他产品到底有何区别?这里我 们简单谈几点: 区别 1:主要还是团队与个人的区别,一切产品最终质量如 何还是因为创建者的理念,市场上很多开发板都是个人设计,这些产 品当然也是非常精美和漂亮的,可有一个缺点就是,你并不知道这个 设计者是否走在项目和产品的最前沿,是否有足够的见识和功底;如 STM32 神舟 III 号用户手册 201503 果没有这些基础,有可能会造成误导初学者情况出现,这样反而使这 些学习的人在未来的工作中要改变被误导的坏习惯将非常困难: 例 1:谈个 STM32 的例子,说说寄存器的风格和用自己模板 去撰写例程的代码例程,这样的风格可以导致学得越强大,越无法在 未来的工作中与其他同事进行合作,为什么呢?因为长期下去,你已 经习惯这样的框架去研发了,并且在项目中强制推行自己定义的封装 函数以及封装库,或许当你明白的时候已经晚了;正确的做法是去尝 试使用 ST 官方推荐的库函数,这样就可以遵循这个规范,开发出易 读性好的代码,并且很多底层的 BUG,ST 官方会推出新的 ST 库函 数包来规避,你只需要升级就可以,并且还能够汲取到官方库的整体 设计的独到之处和精美之处,包括真正的大设计软件架构模式;要知 道,那是一群国际一流水平的国外顶尖嵌入式专家所设计,不是我们 国内学了几年软件就堪称高手这样的人来设计的,就说工资报酬上至 少相差 10 倍?100 倍?对此,我们极度推荐一定要养成好的习惯,不 要被误导,如果大家有更多问题,可以看下《神舟 IV 号开发板用户 手册》中有篇文章是 STM32 神舟团队一位大牛 2009 年写的,被很多 人进行转载,这篇文章在嵌入式领域就是再过上 10 年,再回头看看, 都不过时的文章,而且随着你的水平增进,你每次读这篇文章都会有 不同的感受。只有经得起时间考验的东西才是真正的好东西。 STM32 神舟 III 号用户手册 201503 例 2:举一个真实的例子,有个产品经常运行 1 个星期后就会自 动重启一次,被客户告知有这样一个 BUG;STM32 神舟的专家就立 马过去找问题,经过研究之后终于找到了原因,原因是客户公司的工 程师没有使用我们提供国际标准的库函数,自己照我们的理念自己写 了一个,自己写的这个函数有 BUG,他裁剪了他认为不需要的代码, 从而导致产品在运行的过程中存在内存泄漏,内存消耗完后就会造成 设备死机,然后自动重启。而他并不知道怎么查证原因在哪,我们自 己设计了一套查内存泄漏的函数,原理机制如下: 比如程序运行过程中,每执行某个函数,就会分配一个内存单 元 a,这个函数执行完,就应该回收这个内存单元 a;我们经过项目 经验的积累,我们提供了一个标准的国际函数,比如函数 A 分配了 一个内存单元 a,我们就会有个全局变量对这个 A 函数所分配的内存 单元数计数,A 分配了 1 个就计 1,A 分配了 5 个内存单元,这个全 局变量就会计 5;同样,当 A 释放一个内存单元这个数就会相应减 1; 因为这个计数的变量是全局变量,我可以在程序边运行,边打印到串 口上,观察它是否有内存没有被回收,俗称内存泄漏的问题出现。 但这位好合作公司的工程师,因为自己善于建自己的函数,自 STM32 神舟 III 号用户手册 201503 己就随便写了一个,有个细节没注意到,导致字节没对齐,不断侵蚀 内存,每调用一次这个函数,就吃掉一点内存,这个细微问题不仔细 看还看不出来;后来他认错了,我告诉他说我们提供的代码是经过了 N 多个项目千锤百炼的代码,有些代码你看是看不出来的,为什么要 加这个,为什么要加纠错机制,这个一定需要长时间的运行和而测试 才能总结出经验,所有的逻辑错误都是在运行过程中才能够真正被发 现,后来这个工程师被公司开除了,因为造成非常大的损失;这个是 给某国家电 X 的项目,导致那个项目延期 1 个多月,因为我们调试 好之后要测试一段时间才敢给客户的客户,就这个事情甚至导致那个 公司差点丢了后续的订单,总之那 1-2 个月那家公司的日常开支损失 了大约 50 万-60 金额(听公司老板说的),因为国家机关的设备出问 题非同小可,很多环节如果出了故障都需要重新走流程,都怕承担责 任。 以上两个实际的例子仅供大家参考,如果有更多需要咨询的, 欢迎前来交流和探讨。 1.8 开发环境的搭建 STM32 神舟工程师的开发环境主要由一台电脑(一般是 XP 系统), STM32 神舟 III 号用户手册 201503 和一个仿真器(可以是 JLINK 或者是 ULINK2 或者是 ST LINK V2 等都可以),一个 STM32 神舟开发板实验箱即可。 那么一定需要仿真器吗?STM32 神舟工程师的建议是 100%需要, 除非你实在有特别的困难,有仿真器的好处和优势如下: 1) 仿真器可以方便下载程序,使用 JTAG 或者 SWD 接口;如果使 用其他下载方式比如串口,USB 等都比较繁琐,要改变 BOOT 管脚 的电平,通过手动设置跳帽。 2) 仿真器可以在线调试程序,比如实时查看多个变量的值,单步 执行程序;实时下载实时仿真。 1.9 代码风格 STM32 神舟 III 号用户手册 201503 代码分为寄存器版本与库函数版本。 寄存器版本是 STM32 神舟工程师自主设计的,主要帮助初学者入 门;寄存器可以直接操作芯片内部的寄存器,对照 STM32 的数据手 册,手把手一个一句代码设置成 0 或者 1,就可以使得 CPU 的管脚 输出高电平或低电平,非常直观。通过寄存器的例程,可以学会如何 阅读芯片手册,寄存器的说明书,为接下来的库函数操作打下一个扎 实的基础。 库函数是使用 ST 原厂官方的标准库,保持了原汁原味,库实际上 是封装和实现了许多函数,这些函数里面的具体代码就是对 STM32 寄存器的操作,这样就使得开发人员无须考虑函数内部寄存器的实现 STM32 神舟 III 号用户手册 201503 方法,我们只需要传递参数进去就可以完成一系列动作,这样可以降 低开发人员的开发周期,方便大项目的设计,而且更新库只需要替换 对应的文件夹即可。开发人员的设计代码与库是分离的,方便代码的 管理。 STM32 神舟 III 号用户手册 201503 1.10 技术支持、售后和保修 产品提供终身技术支持,厂家提供 1 年免费保修(非人为故意损 坏除外,如需换芯片只按成本费收取),保修期间涉及运费等由买卖 双方各自承担。 1.11 产品结构图 STM32 神舟 III 号用户手册 201503 拥有精致漂亮的 ABS 外壳包装,所有配件全部囊入其中,方便携带。 1.12 培训与合作 STM32 神舟为学校和学生有着特殊的感情,学生是祖国未来的栋 梁,我们非常愿意与学生一起走得更近,成为您成长路上最亲密的合 作伙伴: STM32 神舟 III 号用户手册 201503 1.欢迎各大嵌入式培训机构和大中院校选用开发板培训和学习, 我们会有特别支持提供,包括优惠政策以及一些小赠品等。 2.为更好的升级产品,解决一线开发者的困扰,我们还可以派实 战工程师进行面对面的培训,具体可以详谈,培训时间一般为 1~2 天 带领大家进入状态。

    Top_arrow
    回到顶部
    EEWORLD下载中心所有资源均来自网友分享,如有侵权,请发送举报邮件到客服邮箱bbs_service@eeworld.com.cn 或通过站内短信息或QQ:273568022联系管理员 高进,我们会尽快处理。