stm32开发常用的软件和语言介绍

发布者:之敖赵先生最新更新时间:2023-10-12 来源: elecfans关键字:stm32开发  软件  语言 手机看文章 扫描二维码
随时随地手机看文章

STM32 开发环境(工具)介绍


一、Keil 软件介绍

Keil C51 是美国 Keil software 公司出品的 51 系列兼容单片机 C 语言软件开发系统。 KeilC51 软件提供了丰富的库数据和功能强大的集成开发调试工具 μVision2 全是 windows 界面。


只要看一下编译后生成的汇编代码, 就能体会到 keil C51 生成的目标代码的效率之高, 多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。 Keil的版本目前是 V7 版本,他是很优秀的 8051C 编译器。


安装 Keil C51 对系统的要求比较低, 一般的 windows 系统就可以了。 安装过程也很方便,依照软件安装过程的提示完成安装即可。


Keil C51 软件的集成编写时在 Vision2 编译环境下进行的。 μVision2 是一个标准的windows 应用程序,它是 C51 的一个集成软件开发平台, 具有源代码编辑、项目管理、 程序生成器等功能,他的人机界面友好,操作方便,是开发者的首选工具软件。

μVision2 提供以下特性帮助用户快嵌入式应用的开发过程。

● 用户可定义密码序列的全功能编辑器;

● 将外部程序加入下拉式菜单的应用管理器;

● 创建和保存项目的项目管理器;

● 汇编编译和连接应用程序的集成程序生成工具;

● 所有环境的对话框和开发工具设置。

(1) C51 编译器和 A51 汇编器

源代码由 μVision2 创建, 并被 C51 编译或被 A51 汇编。 编译器和汇编器从源代码生成

可重定位的目标文件。

KeilC51 编译器完全遵照 ANSIC 语言标准,支持 C 语言的所有标准特性。另外,直接

支持 8051 结构的几个特性被添加到里面。

KeilA51 宏汇编器支持 8051 及其派生系列的全部指令集。

(2) LIB51 库管理器

LIB51 库管理器允许从由编译器或汇编器生成的目标文件创建目标库。 库是一种被特别地组织过并在以后可以被连接重用的对象模块。 当连接器处理一个库时, 仅仅那些被使用的目标模块才被真正使用。

(3) BL51 连接器 /定位器

BL51 连接器 /定位器利用从库中提取的目标模块和由编译器或汇编器生成的目标模块创建一个绝对地址的目标模块。一个绝对地址目标模块或文件包含不可重定位的代码和数据。所有的代码和数据被安置在固定的存储单元器中。此绝对地址目标文件可以用来写入EPROM 或其他存储器件,或由 μVision2 调试器使用来模拟和调试或由仿真器用来测试程

序。

(4) μVision2 调试器

μVision2 调试器源代码级调试器是一个理想的、快速可靠的程序调试器。此调试器包含一个高速模拟器,能够模拟整个 8051 系统,包含片上外围和外部硬件。当从器件库中选择器件时,这个器件的特性将自动配置。

keilC51 的编译过程

μVision2 包含一个项目管理器,它可以使 8051 应用系统设计变得简单。要创建一个应用,

需要按下列步骤进行操作。

(1) 启动 μVision2 ,创建一个项目文件并从器件库中选择一个器件。

(2) 新建一个源文件并把它加入到项目中。

(3) 增加并配置选择的期间的启动代码。

(4) 针对目标硬件设置工具选项。

(5) 编译项目并生成可以编程 PROM 的 HEX 文件。

编译后, C51 编译器产生一个列表文件。 文件中包含源代码、 指示信息、 汇编清单和字符表。

● C51 编译器产生行号,编译时的时间和日期;

● 编译器的运行和产生的目标文件的信息被记录在案;

● 列表文件在每个源代码前没包含行号和 {} 的嵌套层数;

● 如果错误或可能错误的代码存在,一个错误或警告信息将显示出来;

● 选择在 μVision2-options for taget-listing 中的 Assembly code 代码指示选项,将在列

表文件的汇编代码处加入源代码所在的行号;

● 存储器一览表提供了 8051 存储器占用信息;

● 程序中的错误和警告总数包括在文件的结尾处。

二、EWARM开发环境


IAR Embedded Workbench for ARM (下面简称 IAR EWARM )是一个针对ARM 处理器 的集成开发环境,它包含项目管理器、编辑器、C/C++编译器和ARM 汇编器、连接器XLINK和支持RTOS 的调试工具C-SPY。在EWARM 环境下可以使用C/C++和汇编语言方便地开发嵌入式应用程序。比较其他的ARM 开发环境,IAR EWARM 具有入门容易、使用方便和代码紧凑等特点。 目前IAR EWARM支持ARM Cortex-M3 内核的最新版本是 5.4,该版本支持Luminary全系列的MCU。为了方便用户学习评估,IAR 提供一个限制32K 代码的免费试用版本。用户可以到IAR公司的网站www.iar.com下载。 1.2 J-LINK仿真器介绍 全功能版J-LINK配合IAR EWARM、ADS、KEIL、WINARM、Real View等集成开发环境支持所有ARM7/ARM9/Cortex内核芯片的仿真,通过RDI接口和各集成开发环境无缝连接,操作方便、连接方便、简单易学,是学习开发ARM最好最实用的开发工具。
         最显著的特点:速度快,FLASH断点不限制数量,支持IAR、KEIL、RV、ADS等环境。

* USB 2.0接口;

* 支持任何ARM7/ARM9 核Cortex M3 supported, 包括ithumb 模式;

* 下载速度达到600k byte/s;

* DCC速度到达800k byte/s;

* 与IAR Workbench可无缝集成;

* 通过USB供电,无需外接电源;

* JTAG最大时钟达到12M;

* 自动内核识别;

* 自动速度识别;

* 支持自适应时钟;

* 所有JTAG信号能被监控,目标板电压能被侦测;

* 支持JTAG链上多个设备的调试;

* 完全即插即用;

* 20Pin标准JTAG连接器;

* 宽目标板电压范围:1.2V-3.3V (可选适配期支持到5V);

* 多核调试;

* 包括软件:J-Mem,可查询可修改内存;

* 包括J-Link Server (可通过TCP/IP连接到J-Link);

* 可选配J-Flash,支持独立的Flash编程;

* 选配RDI插件使J-Link适合任何RDI兼容的调试器如ADS、Relview和Keil等;

* 选配RDI Flash BP,可以实现在RDI下,在Flash中设置无限断点;

* 选配RDI Flash DLL,可以实现在RDI下的对Flash的独立编程;

* 选配GDB server,可以实现在GDB环境下的调试。

STM32 开发语言介绍

一、C语言介绍

C是一种通用的编程语言,广泛用于系统软件与应用软件的开发。于1969年至1973年间,为了移植与开发UNIX操作系统,由丹尼斯·里奇与肯·汤普逊,以B语言为基础,在贝尔实验室设计、开发出来。

C语言具有高效、灵活、功能丰富、表达力强和较高的可移植性等特点,在程序员中备受青睐,成为最近25年使用最为广泛的编程语言[2]。目前,C语言编译器普遍存在于各种不同的操作系统中,例如Microsoft Windows, Mac OS X, Linux, Unix等。C语言的设计影响了众多后来的编程语言,例如C++、Objective-C、Java、C#等。

二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言订定了一套完整的国际标准语法,称为ANSI C,作为C语言的标准。二十世纪八十年代至今的有关程序开发工具,一般都支持匹配ANSI C的语法。

二、汇编语言简介


汇编语言( assembly language )是一种用于 电子计算机 、微处理器 、微控制器 或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用 助记符 (Mnemonics )代替机器指令 的操作码 ,用地址符号( Symbol )或标号( Label )代替指令或 操作数 的地址。在不同的设备中, 汇编语言对应着不同的机器语言 指令集 ,通过汇编过程转换成机器指令。 普遍地说,特定的汇编语言和特定的机器语言指令集是一一对应的 ,不同平台之间不可直接移植。

许多汇编程序为程序开发、 汇编 控制、 辅助调试提供了额外的支持机制。 有的汇编语言编程工具经常会提供宏,它们也被称为宏汇编器。

汇编语言不像其他大多数的 程序设计语言 一样被广泛用于程序设计。 在今天的实际应用中,它通常被应用在底层,硬件操作和高要求的程序优化的场合。 驱动程序、嵌入式操作系统和实时运行程序都需要汇编语言。

汇编语言特点:汇编语言是直接面向处理器( Processor )的程序设计语言。处理器是在指令的控制下工作的, 处理器可以识别的每一条指令称为机器指令。 每一种处理器都有自己可以识别的一整套指令, 称为 指令集 。处理器执行指令时, 根据不同的指令采取不同的动作,完成不同的功能,既可以改变自己内部的工作状态,也能控制其它外围电路的工作状态。

汇编语言的另一个特点就是它所操作的对象不是具体的数据 ,而是寄存器或者存储器,也就是说它是直接和寄存器和存储器打交道, 这也是为什么汇编语言的执行速度要比其它语言快, 但同时这也使编程更加复杂, 因为既然数据是存放在寄存器或存储器中, 那么必然就存在着寻址方式, 也就是用什么方法找到所需要的数据。 例如上面的例子, 我们就不能像高级语言一样直接使用数据,而是先要从相应的寄存器 AX 、BX 中把数据取出。这也就增加了编程的复杂性, 因为在高级语言中寻址这部分工作是由编译系统来完成的,而在汇编语言中是由程序员自己来完成的,这无异增加了编程的复杂程度和程序的可读性。再者,汇编语言指令是机器指令的一种符号表示,而不同类型的 CPU 有不同的机器指令系统,也就有不同的汇编语言 ,所以,汇编语言程序与机器有着密切的关系。所以,除了同系列、 不同型号 CPU 之间的汇编语言程序有一定程度的可移植性之外, 其它不同类型(如:小型机和微机等) CPU 之间的汇编语言程序是无法移植的,也就是说,汇编语言程序的通用性和可移植性要比高级语言程序低。

正因为汇编语言有 “与机器相关性 ”的特性, 程序员用汇编语言编写程序时, 可充分对机器内部的各种资源进行合理的安排, 让它们始终处于最佳的使用状态。 这样编写出来的程序执行代码短、执行速度快。汇编语言是各种编程语言中与硬件关系最密切、最直接的一种 ,在时间和空间的效率上也最高的一种,它是高等院校计算机应用技术必修的专业课程之一,对于训练学生掌握程序设计技术,熟悉上机操作和程序调试技术有重要作用。


关键字:stm32开发  软件  语言 引用地址:stm32开发常用的软件和语言介绍

上一篇:单片机STM32时钟详解
下一篇:STM32G47x系列MCU中双Bank的工作原理及在线升级实现

推荐阅读最新更新时间:2024-10-10 18:40

Strategy Analytics: 全球移动SaaS(软件即服务)市场规模2021年将达到379亿美元
随着企业中使用智能手机和平板电脑的移动用户数量和设备数量不断攀升,SaaS(软件即服务)应用以其便捷的安装和协同能力,持续为最终用户提供巨大的商业价值,并正在改变企业的经营方式。根据Strategy Analytics的最新研究报告《2016年-2022年全球大型企业移动SaaS预测》以及《2016年-2022年全球中小企业移动SaaS预测》的预测,全球移动SaaS(软件即服务)市场规模将从2016年的209亿美元增长至2021年的379亿美元,预测期内复合年增长率达到12.7%。大型企业移动SaaS的市场规模将会从2016年的44亿美元增长至2021年的74亿美元,预测期内的复合年增长率达到11%;2016年至2021年间,中小
[网络通信]
软件测试工作流程图
软件在开发过程中共有五个版本,分别是Base版、Alpha版、Beta版、RC版、Release版,每个版本的开发中都需要经过上述四次测试,但是每个版本中各阶段的测试重点是不一样的,详细的测试流程和重点请看下面各版本流程图: 1. Base版各个测试阶段流程图
[测试测量]
<font color='red'>软件</font>测试工作流程图
MC9S12G128模块化分层化软件架构之四——LED
1 overview 1.1 目的 本文档用于起点开发板的PORT模块软件编写说明。 不局限于硬件功能的实现,着眼于实现高质量、优美的软件。 2 软件分层架构 软件分为底层驱动层——driver层,中间件层(本软件中称之为modules)和应用层——application。 2.1 driver层 与MCU寄存器打交道的软件放在driver层。 diver层分为两部分,一部分是MCU芯片内部寄存器中需要配置的参数,每一个module里面有一个xxx_cfg.c,把MCU在本module中尽量多的寄存器都放在指针数组中,给上层的中间件层和driver层中的服务函数访问。 如在drio_cfg.c中定义drio_d
[单片机]
MC9S12G128模块化分层化<font color='red'>软件</font>架构之四——LED
MCS-51单片机外中断软件编程
MCS-51单片机有多个中断源,以8051为例,有5个中断源,两个外中断、两个定时中断和一个串行中断,这一节我们讨论外中断软件编程。 外中断是由外部原因引起的中断,有两个中断源。即外中断0(INT0)和外中断1(INT1),中断请求信号由引脚P3.2(INT0)和P3.3(INT1)输入。 外中断请求信号有两种方式,一是电平方式,二是脉冲方式。可通过有关控制位的定义进行规定。 电平方式为低电平有效,只需在单片机的(INT0)和(INT1)中断请求输入端采样到有效的低电平时,就会激活外部中断。 脉冲方式则在脉冲的后负跳沿有效,即在相邻两个机器周期对中断请求引入端进行采样中,如前一次为高,后一次为低即为有效中断请
[单片机]
S3C825A型微控制器的结构及软件设计
  1 S3C825A型单片机的内部结构   S3C825A的内部结构框图如图1所示。从图1可以该单片机具有以下特点:   ●使用SAM88RC作为中央处理单元;   ●具有48KB片内ROM和2096byte的寄存器空间;   ●带有多达67个可编程I/O接口;   ●具有2个8位的定时/计数器和2个16位定时/计数器;   ●带有LCD驱动控制器;   ●带有一个4输入的10bit A/D转换器;   ●带有主从两个晶振接口。      1.1 存储空间分配   S3C825A型微控制器有2类存储空间,48KB内部掩膜可编程存储空间(ROM)和2096byte的内部寄存器空间。其中可编程存储空间主要
[单片机]
S3C825A型微控制器的结构及<font color='red'>软件</font>设计
用51单片机汇编语言,编写“键控加减一”的程序
程序要求:开始时LED显示0、K1具有增数功能、K2具有减数功能。 若LED显示为0,按下K1,则显示为1、再按下K1,显示为2.....,若显示为9,再按下则显示为0; 若LED显示为0,按下K2,则显示为9、再按下K2,显示为8.....,直至显示为1。再一次循环。 显示部分采用硬件译码器,电路给出如下。 悬赏分:50 | 解决时间:2011-6-14 09:11 ;=========================================== 最佳答案: 程序仿真通过,仿真电路如下: 程序: ORG 0000H LJMP START ORG 0040H ;从40H地址开始. START:
[单片机]
用51单片机汇编<font color='red'>语言</font>,编写“键控加减一”的程序
汽车电子系统越来越依赖于软件安全
汽车电子的软件功能变得越来越强大,因病毒和程序错误造成的风险大增。 随着汽车电子系统越来越多地被连接到外部世界,它们也变得越来越依赖于软件,使汽车制造商面临可靠性和安全性的问题。 利用软件的可伸缩性和成本显然比利用单独的硬件单元更有吸引力,但是,要付出的代价在于:利用更多的软件增加了由“寄宿”在已连接设备上的病毒造成的威胁。此外,更多的软件意味着软件错误也更多,从而导致安全性下降,因为这些软件错误可能被希望掌控汽车电子系统的心怀叵测的团体所利用。 汽车市场现在是非常小的攻击目标,然而,汽车电子行业在2005年收到的报告称,Cabir病毒被用于暴露lexus车载蓝牙使能嵌入式导航系统的弱点。虽然迄今为止病毒的形态
[汽车电子]
串口转以太网与监控软件modbusTCP客户端通信配置
西门子S7300系列PLC利用MPI转以太网模块实现300PLC串口转以太网通信,本案例用PLC的是315-2DP,此型号PLC有两个通信接口分别是MPI、DP口。 首先把300PLC连接兴达易控MPI转以太网模块MPI-ETH-XD1.0通过ModbusTCP或者是S7TCP 与上位机组态软件通信组” 1. 新建工程并打开工程,右击“IOServer 应用组”,选择“添加新 IOServer 应用 在弹出对话框中,填入“应用名称”, 点击“确定”。 1. 选择“设备”,在右边空白区域,点击鼠标右键,选择“新建”。 2. 在“设备名称”处输入一个名称,点击“下一步”。 3. “采集驱动”选择“S7
[嵌入式]
串口转以太网与监控<font color='red'>软件</font>modbusTCP客户端通信配置
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved