当前位置:文档之家› 第05章+STM32系列微控制器开发工具与应用

第05章+STM32系列微控制器开发工具与应用

第05章+STM32系列微控制器开发工具与应用
第05章+STM32系列微控制器开发工具与应用

第5章STM32系列微控制器开发工具与应用

STM32微处理器基于ARM核,所以很多基于ARM嵌入式开发环境都可用于STM32开发平台。开发工具都可用于STM32开发。选择合适的开发环境可以加快开发进度,节省开发成本。本章将先对STM32常用的开发工具Keil MDK和IAR EWARM进行简单介绍,然后结合STM32_SK仿真评估板和STM32F103C的开发板讲解STM32片上资源使用,最后给出一个基于STM32的数据采集器的应用实例。

5.1 Keil MDK介绍

Keil是德国知名软件公司Keil(现已并入ARM 公司)开发的微控制器软件开发平台,是目前ARM内核单片机开发的主流工具。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器在内的完整开发方案,通过一个集成开发环境(uVision)将这些功能组合在一起。uVision当前最高版本是uVision3,它的界面和常用的微软VC++的界面相似,界面友好,易学易用,在调试程序,软件仿真方面也有很强大的功能。因此很多开发ARM应用的工程师,都对它十分喜欢。

5.1.1 开发过程及集成开发环境简介

1.Keil的软件开发周期

使用Keil来开发嵌入式软件,开发周期和其他的平台软件开发周期是差不多的,大致有以下几个步骤:

1.创建一个工程,选择一块目标芯片,并且做一些必要的工程配置。

2.编写C或者汇编源文件。

3.编译应用程序。

4.修改源程序中的错误。

5.联机调试。

下面这种结构图完整描述了Keil开发软件的整个过程。

©2008 MXCHIP Corporation. All rights reserved. 481

图5.1.Keil软件开发周期图

2.uVision3 集成开发环境

uVision3 IDE是一款集编辑,编译和项目管理于一身的基于窗口的软件开发环境。uVision3集成了C语言编译器,宏编译,链接/定位,以及HEX文件产生器。uVision3具有如下特性:

功能齐全的源代码编辑器,

用于配置开发工具的设备库,

用于创建工程和维护工程的项目管理器,

所有的工具配置都采用对话框进行,

集成了源码级的仿真调试器,包括高速CPU和外设模拟器,

用于往Flash ROM下载应用程序的Flash编程工具,

完备的开发工具帮助文档,设备数据表和用户使用向导。

uVision3具有良好的界面风格,下图是一个典型的调试时的窗口。

©2008 MXCHIP Corporation. All rights reserved. 482

调试窗口

反汇编窗口 工程区

©2008 MXCHIP Corporation. All rights reserved.

483

外设对话框

图5.2.uVision3 IDE 调试界面

工程区:用于访问文件组和文件,调试是可以查看CPU 寄存器。

输出窗口:显示编译结果,以便快速查找错误的地方,同时还是调试命令输入输出窗口,也可以用于显示查找结果。

内存窗口:显示指定地址内村里的内容。

查看和调用栈窗口:用于查看和修改变量的值,并且现实当前函数调用树。

代码窗口:用于查看和编辑源文件。

外设对话框:检查微控制的片上外设的状态。

3. ULINK USB-JTAG 接口适配器

ULINK USB-JTAG 是一个用于连接PC USB 口和开发板JTAG 口的小硬件适配器。通

过ULINK 你可以在真实的目标板上创建,下载和测试嵌入式应用。ULINK 支持如下操作:

下载目标程序。

检查内存和寄存器。

单步运行程序。

插入多个断点。

实时运行程序

烧写FLASH 存储器

图5.3. ULINK

图5.4. ULINK连接示意图

5.1.2 工程管理

在项目开发中,并不是仅有一个源程序就行了,还要为这个项目选择CPU(Keil支持数百种CPU,而这些CPU的特性并不完全相同),确定编译、汇编、连接的参数,指定调试的方式,有一些项目还会有多个文件组成等,为管理和使用方便,Keil使用工程(Project)这一概念,将这些参数设置和所需的所有文件都加到一个工程中,只对工程而不是对单一的源程序进行编译(汇编)和连接等操作。下面我们就以一个简单的例子HelloWorld来讲解如何建立工程和配置工程。在这个例子里,我们将实现开发板上的LED1闪烁,本例使用STM32F103C开发板为目标板。

5.1.2.1 新建工程

点击菜单“Project”,选择“New uVision Project”,这是将会出现一个对话框,要求给将要建立的工程起一个名字。

选择你要保存的路径,输入工程文件的名字,这里我们就叫HelloWorld,uVision3工程文件的后缀为“.uv2”,然后点击“Save”。这时会弹出一个对话框要求你选择目标设备的型号。

©2008 MXCHIP Corporation. All rights reserved. 484

©2008 MXCHIP Corporation. All rights reserved.

485

图5.5. 芯片选择对换框

你可以根据你使用的处理器来选择,如果您所使用的处理器型号在列表中找不到,也

可以找一款与您使用的相兼容的型号来代替。这里我们选择STM32F103C8,如图所示,右

边一栏是对这个芯片的基本的说明,然后点击“OK ”。

图5.6. 芯片启动代码拷贝确认对换框

有些芯片会提供启动代码,我们这个时候点击“Yes ”,到此一个工程就建立好了。

5.1.2.2 配置工程

工程建立好了之后,还要对工程进行进一步的设置,以满足要求。

首先用鼠标右键(注意用右键)点击左边工程窗口的“Target 1”,会出现一个菜单,选择

“Options for Target 'Target 1'”(也可以通过点击工程窗口的Target 1”,然后使用菜单“Project ”

->“Options for Target 'Target 1'”),即出现工程配置的对话框,如下图所示:

©2008 MXCHIP Corporation. All rights reserved.

486

图5.7. 工程配置选项对话框

这个对话框很复杂,而且根所选择的芯片有关,这里共有10个页面,绝大多数选择默

认配置即可,下面将对一些需要注意的配置简单介绍一下。

1. Output

标签页的设置

图5.8. 工程设置对话框/Output 标签设置页

Select Folder for Objects :选择编译之后的目标文件存储在哪个目录里,默认位置为工程文

件的目录里。

Name of Executable :生成的目标文件的名字,缺省是工程的名字。

Create Executable :生成OMF 以及HEX 文件。OMF 文件名同工程文件名但没有带扩展名。

Debug Information :用于Debug 版本,生成调试信息,否则的话无法进行单步调试。

Create Batch File :生成用于实现整个编译过程的批处理文件,使用这个文件可以脱离IDE

对省程序进行编译。

Create Hex File:这个选项默认情况下未被选中,如果要写片做硬件实验就必须选中该项。这一点是初学者易疏忽的,在此特别提醒注意一定要要选中,否则编译之不生成Hex文件。Big Endian:编码格式,与CPU相关,如果CPU采用的是Big Endian编码则勾选上。Browse Information:产生用于在源文件快速定位的信息。

Create Library:生成lib库文件,默认不选。

在我们刚刚新建的HelloWorld工程中,更改了三个地方,在工程目录下新建了一个Output目录保存目标文件,以避免和源文件混在一起。另外选中了Create Hex File和Browse Information,如上图所示。

2.C/C++标签页的设置

图5.9. 工程设置对话框/C/C++标签设置页

Include Paths:指定头文件的查找路径,可以添加多个。

这里我们所有的选择保持默认选择就可以了。

3.Debug标签页的设置

©2008 MXCHIP Corporation. All rights reserved. 487

©2008 MXCHIP Corporation. All rights reserved.

488

图5.10. 工程设置对话框/Debug 标签设置页

左边是对应uVision3的模拟环境,右边是针对仿真器,这里选择右边的ULINK Cortex

Debugger 仿真器为例进行说明。

如果已经将ULINK 仿真器连接到你的电脑,点击“Settings ”你将进入ARM Target Driver

Setup 界面。

图5.11. ARM 目标驱动器设置

ULINK - JTAG/SWD Adapter :

Serial No :列出了当前连接到主机的所有ULINK 适配器的串号,你可以通过列表选择要使

用的ULINK 适配器。

ULINK Version ,Device Family 以及Firmware Version 分别列出了当前选择的ULINK 适配器

©2008 MXCHIP Corporation. All rights reserved.

489

的版本,设备家族和固件版本。

SWJ ,Port :根据和开发板接口的类型选择端口,有JTAG 和SW 两种,勾选SWJ 表示支持

两种方式。

Max Clock :指定和开发板的最高通信时钟。

JTAG Device Chain :显示当前通过适配器连接上的开发板。

Automatic Detection :自动监测,选择系统将自动检测连接上的开发板,建议使用。

Manual Configuration :手动配置,通过手动设置ID CODE ,Device Name 和IR len 等属性来

查找设备。

Debug :

Cache Options :

z Cache Code :通知调试器已经下载的程序代码不会改变,选中的话uVision 将不会从目

标系统读取程序代码。

z Cache Memory :决定调试程序期间程序停止运行的时候,是否更新存储器显示。

Download Options :

z Verify Code Download :比较目标存储器和调试器上的应用程序的内容。

z Download to Flash :将代码下载到所有的存储器区域,如果不选中,调试器不会把代码

下载到Flash Download Setup 中制定的存储器地址范围。

Misc Options :

z Use Reset at Startup :选中的时候,调试器在开始调试的时候会发起一次CPU 复位。

Load Application at Startup :将Output 标签中指定的可执行文件导入到调试器的起始地址。

Run to Main :开始调试时执行到Main 函数入口暂停执行。

Initialization File :指定一个包含一组调试命令的文件,这组命令是调试器开始工作或者调

试函数在调试期间要使用的。

Restore Debug Session Settings :使用上一次调试过程对Breakpoints ,Watchpoints ,Memory

Display 和Toolbox (如果这些项被选中的话)。

Driver DLL – Parameter :由Device Database 设置的目标驱动DLL ,不要修改。

Dialog DLL – Parameter :由Device Database 设置的对话框DLL ,不要修改。

这里我们修改了两个地方,选中了Use ULINK 和Run to Main ,对ULINK 的设置进行

了一些调整,具体的设置图5.11所示。

4. Utilities 标签页的设置

©2008 MXCHIP Corporation. All rights reserved.

490

图5.12. 工程设置对话框/Utilities 标签设置页

Configure Flash Menu Command

z Use Target Driver for Flash Programming :列表选择和调试接口一致的驱动。Init File 的

设置也和前面调试设置一致。点击Settings 将进入Flash Download Setup 界面。

图5.13. Flash 烧写设置对话框

Download Function :定义了Flash 烧写的时候进行的操作。

Erase Full Chip:前面三项要选一,烧写程序之前擦除整个Flash存储器。

Erase Sectors:烧写程序之前擦除程序要使用的扇区。

Do not Erase:不进行擦除操作

Program:使用当前uVision工程的程序烧写ROM。

Verify:验证Flash ROM的内容和当前工程中的程序一致。

Reset and Run:在烧写和验证完成之后复位开发板并且运行程序。

RAM for Algorithm:指定用于烧写程序的RAM区域,通常是微控制器上的一段片上空间。

Start:起始地址。

Size:大小。

可以通过点击Add添加,点击Add你将看到如下的选择列表,可以根据你选用的芯片选择合适的,也可以自己手动添加。

图5.14. Flash烧写算法添加对话框

z Use External Tool for Flash Programming:使用第三方的工具进行Flash下载。

Command:要使用的Flash烧写工具的命令文件(通常是一个.exe文件)。

Arguments:传递给Flash烧写工具的参数。

Run Independent:当选中的时候,uVision不等待Flash烧写完成。不选中的时候uVision要等待Flash烧写完成并且在输出窗口显示烧写结果。

在HelloWorld里面修改了Flash Download Setup,具体的设置如上图所示。到此工程设置就结束了。

5.1.2.3 打开工程

通过菜单“Project”->“Open Project”来打开一个现有工程,这时将弹出一个打开文件对话框让我们选择要打开的工程文件。

选择你要打开的工程的路径,然后点击“Open”打开工程。我们还可以和打开其他文©2008 MXCHIP Corporation. All rights reserved. 491

©2008 MXCHIP Corporation. All rights reserved.

492

件一样,找到一个后缀为“uv2”的uVision3工程文件,直接双击,Windows 会自动调用uVision3

打开这个文件,前提是你电脑已经安装了uVision3并且和“uv2”文件建立了关联。

5.1.3 编写源程序

选择菜单“File ”->“New ”或者点击工具栏的新建文件按钮,即可在项目窗口的右侧

打开一个新的文本编辑窗口,在该窗口可以输入程序代码。

需要说明的是,源文件就是一般的文本文件,不一定使用Keil 软件编写,可以使用任

意文本编辑器编写,而且Keil 的编辑器对汉字的支持不好,建议使用UltraEdit 之类的编辑

软件进行源程序的输入。

每一个程序至少有一个原型为int main(void)的主函数,这是程序的入口地址,程序将从

这里开始运行。此外,我们还需要对开发板做一些时钟和中断方面的初始化工作,这些工作

将在函数RCC_Configuration 和NVIC_Configuration 中完成。源文件的代码清单如下所示。

#include "stm32f10x_lib.h"

GPIO_InitTypeDef GPIO_InitStructure;

void Delay (vu32 nCount);

/******************************************************************************

* Function Name : main

* Description : 主程序

* Input : None

* Output : None

* Return : None

******************************************************************************/

int main (void)

{

RCC_APB2PeriphClockCmd(RCC_APB2Periph_ GPIOB, ENABLE);

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_Init (GPIOB, &GPIO_InitStructure);

while (1)

{

GPIO_WriteBit (GPIOB, GPIO_Pin_9,

(BitAction)(1-GPIO_ReadOutputDataBit (GPIOB, GPIO_Pin_9)));

Delay (1000000);

}

}

void Delay (vu32 nCount)

{

for (; nCount != 0; nCount--);

}

代码编辑完成之后,我们可以保存源文件,选择菜单“File”->“Save”或者点击工具栏的保存文件按钮,可以用来保存源文件。

这时会出现一个保存文件的文件对话框,选择你要保存的路径,输入文件名HelloWorld.c。注意一定要输入扩展名,如果是c程序文件扩展名为.c,如果是汇编文件扩展名为.s,习惯.asm的也可以存储为.asm。注解说明文件可以保存为.txt的扩展名。

源文件编辑完成之后我们还需要将源文件加入到工程中,工程建好之后,在工程窗口的文件页中,将会出现“Target 1”,前面有个“+”号,点击“+”号展开,可以看到下一层的“Source Group 1”,我们需要向这个里面加入源文件,点击“Source Group 1”使其反白显示,然后,点击鼠标右键,出现一个下拉菜单,如下图如示。

图5.15. 添加文件到Group菜单

选中其中的“Add file to Group ‘Source Group 1’”,出现一个对话框,要求寻找源文件,如下图所示。

©2008 MXCHIP Corporation. All rights reserved. 493

©2008 MXCHIP Corporation. All rights reserved.

494

图5.16.源文件选择对话框

注意,该对话框下面的“文件类型”默认为C source file(*.c),我们可以通过调整这个

来选择过滤我们想要格式的文件,从而帮助我们快速查找文件。如果是汇编文件,就选择

“asm source file ”;如果是目标文件,选择“Object file ”;如果是库文件,选择“Library file ”。

最后点击“Add ”,也可以双击要添加的文件进行加入。注意:点击“Add ”之后,窗口不会

消失,如果要添加多个文件,可以不断添加,添加完毕此时再点击“Close ”关闭该窗口。

初学者时常误认为操作没有成功而再次双击同一文件或者再次点击“Add ”,这时会出现如

下的对话框。

图5.17.源文件重复填加报错对话框

在这里我们把刚新建的HelloWorld.c 添加进去,文件添加进去之后,我们点击“Source

Group 1”前面的“+”号,就会发现我们刚刚添加的文件HelloWrold.c 已在其中了,双击文

件名,即在代码区打开该源程序文件。

除了添加文件,我们还可以添加新的Group ,操作和添加文件类似,出现下拉菜单之后

我们选择“New Group ”,这时就会在工程窗口看到新加的Group 。对Group 和添加文件的

操作我们还可以通过点击工具栏上的彩色品字按钮进入“Components ,Environment and

Books”窗口,如下图所示。

图5.18.组件和环境设置对话框

双击列表中的项可以对该项进行重命名操作,点击空白处可以添加新的项,虚方框按钮也可以添加新的项,红叉表示删除选中的项,上下箭头用于调整当前选中项在列表中的位置,“Add Files”可以添加新的源文件,操作过程和前面添加文件的操作是一样的。

5.1.4 编译程序

程序代码写好之后就进入编译程序阶段,可以通过菜单,工具栏和浮动菜单多种方式来发起编译过程,也可以通过批处理文件进行,关于这个批处理文件在Output标签页的设置中提到过。

©2008 MXCHIP Corporation. All rights reserved. 495

©2008 MXCHIP Corporation. All rights reserved.

496

图5.19.编译菜单和工具栏

红线圈起来的区域就是对应的菜单编译命令和工具栏编译命令。各命令的含义如下:

z Clean target :清除编译结果。

z Build target :编译被修改的文件并且编译应用程序。

z Rebuild all target files :重新编译所有的源文件并且编译应用程序。

z Batch Build :通过前面输出的批处理文件进行编译。

z Translate **.*:编译某个源文件,**.*代表要编译的源文件。

z Stop build :只有编译进行过程中这一项才有效。

通过在工程窗口“Target 1”上点击右键,也可以弹出相应的编译菜单,各命令含义和

上面一致。

图5.20.弹出式编译菜单

现在就让我们来编译我们的“HelloWorld ”,如下图所示,编译的结果会在输出窗口显

示。

©2008 MXCHIP Corporation. All rights reserved.

497

图5.21.编译失败的结果输出窗口

很遗憾,有不少错误,也许你早就发现我们的代码中使用了很多我们没有定义的而且也

不属于标准C 的一些函数,没错这就是ST 固件库给我们提供的函数,我们要做的就是把固

件库添加到我们的工程中,和其他的开发环境一下,我们可以直接添加固件库的源文件和工

程一起编译,也可以通过添加已经编译好的静态连接库(*.lib )文件。这里我们以后者为例,

这些库在我们安装好Keil 开发环境的时候已经提供了,路径一般在你安装目录下的

ARM\RV31\LIB\中,例如我这里的路径是D:\Keil\ARM\RV31\LIB\ST 。这里我们将添加一个

新的Group ,取名为FWLIB 。然后将库文件添加到这个Group 中,具体的操作过程可以参

照编写源程序章节。添加库之后我们再次编译。

图5.22.编译成功的结果输出窗口

问题解决了,当出现“0 意味着我们的程序已经通过

5.1.5 调试程序

编译通过只是说明我们的代码没有语法错误,至于源程序中存在的其他错误,必须通

过调5.1.5.1 常用的调试命令

在对工程成功进行汇编、连接之后,按Ctrl+F5或者使用菜单Debug->Start/Stop Debug

Error(s), 0 Warning(s)”的时候也就了语法检查,有时候一些Warning 也不影响程序执行,但是我们要慎重对待,仔细分析每一

个Warning 。如果是源程序中有语法错误或者警告,我们可以通过双击输出窗口的该行,快

速定位到出错的位置。

试才能发现并解决,事实上,除了极简单的程序以外,绝大部分的程序都要通过反复调

试才能得到正确的结果,因此,调试是软件开发接下来我们需要运行我们的程序来验证是否

达到了预期的目的。也就是程序调试,程序调试往往是程序开发过程中最难的阶段,尤其是

对一些比较大型的程序。下面我们就来看看uVision3对调试的支持。

Session 即可进入调试状态。进入调试状态后,界面与编辑状态相比有明显的变化,Debug

才单项中原来不能用的命令现在已经可以使用了,工具栏会多出一个用于运行和调试的工具

栏,如下图所示,Debug 菜单上的大部分命令可以在此找到对应的快捷按钮。

图5.23.调试工具栏和菜单栏

常用的Debug 菜单命令如下所示:

者停止调试。

执行,即将一个函数作为一个语句来执行。

行插入/删除一个断点。

效。

z Start/Stop Debug Session :开始或z Run :一直执行下一个活动的断点。

z Step :单步执行。

z Step Over :过程单步z Step out of current Function :跳出当前的函数。

z Run to Cursor line :执行到光标所在的行。

z Stop Running :停止运行。

z Breakpoints :打开断点对话框z Insert/Remove Breakpoint :在当前z Enable/Disable Breakpoint :激活当前行的断点或者使断点无z Disable All Breakpoints :使程序中所有的断点都无效。

z Kill all Breakpoints :删除程序中所有的断点。

©2008 MXCHIP Corporation. All rights reserved.

498

©2008 MXCHIP Corporation. All rights reserved.

499

图5.24.调试窗口

学习程序调试,必须明确两个重要的概念,即单步执行与全速执行。全速执行是指一行

程序执行完了以后紧接着执行下一行程序,中间不停止,这样程序执行的速度就很快,并可

以看到该段程序执行的总体效果,即最终结果正确还是错误,但如果程序有错,则难以确认

错误出现在哪些程序行。单步执行是每次执行一行程序,执行完该行程序执行完以后即停止,

等待命令执行下一行程序,此时我们可以观察该行程序执行完以后得到的结果,是否与我们

写程序行所想要得的结果相同,借此可以找到程序中问题所在。程序调试中,这两种运行方

式都要用到,要灵活应用,可以大大提高调试效率。

在调试窗口中,我们可以看到一个黄色的调试箭头,指向了当前执行到的程序行。

5.1.5.2 断点设置

3还提供了多种设置断点的方法,

按D 图

所示。程序调试时,有些程序行往往很难确认什么时候能够执行到,这类问题就不适合单步调

试,这是我们需要使用程序调试中另一种非常重要的方法——断点设置。断点设置的方法有

多种,常用的是在某一程序行设置断点,设置好断点之后可以全速运行程序,一旦执行到该

程序行即停止,可在此观察有关的变量值,以确定问题所在。设置断点的命令请参考上一节

常用调试命令介绍。一旦某一行被设置了断点,我们可以在程序行的左端看到一个红色方框

(如图5.24调试窗口图所示),如果该断点被禁用,方框将会变为白色。

除了在某程序行设置断点这一基本方法以外,uVision ebug->Breakpoints ,即出现一个对话框,该对话框用于对断点进行详细的设置,如下

图5.25.断点对话框

图5.26中的Expression 后的编辑框用于输入表达式,该表达式用于确定程序停止运行

的条件,功能强大,涉及到uVision3内置的一套调试算法,这里不做详细说明,请查阅相

关帮助文档。

©2008 MXCHIP Corporation. All rights reserved.

500

5.1.5.3 调试窗口

前面讲了调试的一些方法,里面多次提到检查程序的执行状态。调试窗口就是用于查看

程序执行状态的。uVision3提供了多种调试窗口,如寄存器窗口,存储器窗口,反汇编窗口,

外设窗口等,下面将会一一作介绍。

图5.26.寄存器窗口

1. 工程窗口寄存器页的内容,寄存器页包含了当前所有的工作寄存器和系统寄

存器,每当程序中执行到对某个寄存器的操作时,该寄存器会反色显示,用鼠标单击然后按

,即可修改该值。

2. 存储器窗口

间、扩展的外部RAM 单元值、键入C :0即可显示

从0开始的ROM 单元中的值,即查看程序的二进制代码。该窗口的显示值可以以各种形式

显示,如十进制、十六进制、字符型等。改变显示方式的方法是点鼠标右键,在弹出的快捷

菜单中选择。除了显示,还可以修改内存中的值,如下图所示。

寄存器窗口

图5.26是F2(鼠标连续单击两次)存储器窗口可以显示系统中各种内存中的值,通过在Address 后的编辑框中输入“字母:

数字”即可显示相应内存值,其中字母C 、D 、I 、X ,分别代表代码存储空间、直接寻址的

片内存储空间、间接寻址的片内存储空

图5.27.存储器窗口

3. 查看和调用栈窗口

助我们查看当前调用树的情况,我们还可以通过这个窗口查看和修改

留在某个变量的时候点右键,在弹出的浮动菜单中选择Add ***to

Watc 这个窗口可以帮一些变量的值。鼠标停h window ,Local 窗口显示当前一些局部变量的值,变量值的现实方式可以在十六进制

《软件开发环境与工具》

软件开发环境与工具实验指导书 太原理工大学计算机科学与技术学院 2015-10-27

说明 本书适用于计算机科学与技术专业、计算机工程专业及软件工程专业《软件开发环境与工具》的实验指导,共8个学时。覆盖软件开发的过程,涉及当前较流行的软件开发工具与环境。 一、实验的性质、目的和任务: 1.巩固和运用所学知识,解决具体问题,以达到理论联系实际的目的。 2.使学生明确后续的应用软件方向课程的学习目的,加深对这些课程的理解,能够应用本课程介绍的环境和工具进行后续课程的课程设计,使学生具备一定的应用软件的开发能力。 3.了解和掌握软件开发的整体过程,并结合实际应用开发一个小型应用软件,提高软件开发的实际能力,为今后毕业设计打下良好的基础。 4.了解当前流行的软件开发工具与环境。 二、实验的内容、要求及学时分配: 1.CASE工具PowerDesiner的使用 (2学时) 安装PowerDesiner,并了解掌握PowerDesiner的主要功能和使用方法。

2.搭建Visual Studio开发环境,设计Windows控制台应用程序(2学时) 安装并熟悉Visual Studio开发环境,进行Windows控制台应用程序设计。 3.掌握在Visual Studio 2010中进行Windows Form应用程序的设计方法 (2学时) 使用Visual Studio集成环境,利用C#语言进行Windows窗体应用程序设计。 4. 掌握在Visual Studio 2010中进行Web应用程序的设计方法(2学时) 使用Visual Studio集成环境,利用C#语言及https://www.doczj.com/doc/1014069476.html,技术进行Web应用程序设计。 三、实验考核: 以学生的实验报告和做实验时的表现考核为依据,有优、良、中、及格、不及格五个等级,可以分别每次实验提交一个报告,也可以写成综合报告。 四、参考资料: 《软件开发环境与工具》.相洁等. 电子工业出版社.

软件开发工具知识点

软件开发工具知识点 软件开发定义:在高级程序设计语言基础上,为提高软件开发效率和质量,从规划、分析设计测试成文管理各方面,为软件开发者提供帮助的软件。 非过程化语言:只要给机器下达需要做什么的命令,由机器自己去安排执行的顺序。 软件开发工具发展主要表现自动化程度提高需求分析包含在软件工作中,向用户延伸把项目及版本管理包进来,超出一次编程的局限吸收了很多管理科学的方法 第一个重要文档:软件功能说明书 软件开发工具的功能要求:认识描述客观系统存储管理开发过程中的信息代码生成和编写文档生成和编写软件项目管理 软件开发工具性能:表达能力或描述能力(首先考虑)保持信息一致性能力(十分关键)使用方便程度工具可靠程度对硬件和软件的要求(不应当超出所支持的软件环境要求) 软件开发工具:设计工具(最具体实现阶段第四代语言直接帮助编写和调试最早)分析工具(需求分析FLOW 数据字典数据字典管理系统CDD Dictionary/3000)计划工具(宏观组织项目管理实施) 专用工具(集成化):专用的、面对某一工作阶段或某一工作任务的工具(全过程) 软件开发基本问题:用户理解到程序员理解程序员理解到程序实现 大型软件开发困难:一致性测试进度文档和代码协调版本更新原因:大系统复杂主动性个人之间组织和协调本身困难时间因素变化因素 程序分解三种基本模块:处理单元循环机制二分决策机制 模块划分:功能在逻辑上单一明确模块和任务一一对应,一个模块完成一个任务(凝聚性)规模应足够小调试易于进行模块间联系尽可能少,对必要的联系加以说明(数据耦合) 工程思想核心:标准化的表达方式与规范化的工作步骤标准化方面:表达方式标准化对工作的质量及检查制定标准 即插即用:一部分人专门生产组件,一部分人专门设计整个软件结构,并把软件组件插入这个结构以便迅速完成大型软件开发工作(标准化问题部件提供方式问题CORAB COM101) 可视化程序设计:用图标图像图标甚至随手画的素描等可视化的元素编制程序。(指点与卡嗒删剪与粘贴拖拉扔下) 软件开发:核心质量问题 好软件:实现功能界面友好运行速度可靠性易读结构良好文档齐全 好程序员:基本知识技能项目领域理解深入熟悉开发环境 CMM好项目组:严格成文工作规范,并为全体成员熟知遵守人员严格分工要专门秘书(负责文档收集审核)专门测试人员专职不陷入编程的项目负责人详细时间表并严格执行 软件开发工具对开发工作支持是在:信息管理和信息处理方面 涉及信息内容:有关系统现状需求信息功能设计物理设计信息软件成果(代码文档)系统便更要求和记录 管理涉及:长期保存并非一次使用很多环节数据转换加工大量人与人信息交流 概念模式:对某一事物或某一系统形成的抽象的一般化的概念(表达能力是否方便易用是否严格是否二义性评价判断) 框图:最早用来描述程序执行逻辑过程Flow chart 结构图:用以表示大型软件层次结构好处:体现层次观点:有粗到细自顶向下Structure Chart 数据流图:面对系统信息流程,描述系统信息来源存储处理去向适用于客观描述,重于软件间的控制基本元素:外部实体数据处理数据存储DFD 实体关系图:描述静态数据结构的概念模式以实体关系属性为基本结构E-R 数据字典:描述数据内容的概念模式用表格形式表示基本属性以及数据关系DD 时序网络:描述系统状态及其转换方式基本概念状态和转换 数学与逻辑模型:描述客观世界状态和规律计算机模型:强有力概念模式以便人们观察客观系统的状况不需要事先作更多的假设直观模型:可视化VB 的FORM 数据库:文件系统少年宫发展起来管理数据的技术,重点合理组织数据体现数据逻辑关系并尽可能的帮助用户检索,减少冗余。 信息库研究核心问题:一致性 用户界面基本原则:主要功能通信界面是始终保持一致性必须是用户谁是掌握任务的进展状况必须能够提供帮助宁可让程序员多干不可让用户多干 项目版本管理核心:跨生命周期管理历史信息是项目版本管理的关键问题 项目管理:质量进度资源配置费用(基本问题)AD/Cycle项目考虑范围:研究确定工作方法方针开发任务划分和分工资源状况人员情况变更情况质量情况 项目管理基本目标:使产品质量得以有效的控制保证整个系统按预期的进度完成有效的利用各种资源控制和降低成本 工程计划网络:棒状图Gantt 检查点Check Point 排队论 版本管理的核心问题。保持两个一致性1从时间来所,关心是系统的逐步完善,成果不丢失,可回溯,可重用;新旧工作保持一致性,新版本对旧版本的功能完善,2.系统各部分间的关系,局部与整体保持一致,合理修改的必要性及影响范围,从而合理的组成新的版本,通过命名、编号等方法,使新版本称为系统进步的新台阶。 软件开发工具基本功能:提供描述软件状况及开发过程的概念模式,以协助软件开发人员得认识软件工作的环境要求、合理地组织与管理软件的工作过程提供存储和管理有关信息的机制与手段帮助使用者编制生成修改各种文档帮助人们编写代码对于历史信息进行跨生命周期的管理 中心位置:总控和人际界面

C8051Fxx单片机开发工具及调试技术

关于开发工具及调试的技术问答 1、问:C8051FXX系列单片机的开发工具是不是串行适配器(PC机串口和JTAG协议转换适配)相同而目标版不同? 答:开发套件中串行适配器(核心部件)是通用的,只是目标版不同。只要您购买一套开发套件,就可以开发全系列单片机,只要将集成开发环境软件升级就可以了。为了加快您的开发进程,您只要购买带有相关型号单片机的目标板就可以了。 2、问:C8051F单片机是怎样调试用户系统的? 答:C8051F单片机是用开发套件来调试用户系统的。单片机开发套件包括开发软件IDE(集成开发环境),ML-EC3至PC机USB口和单片机JTAG接口的协议转换模块和一个目标板(板上有 C8051FMCU)。IDE中集成编译器,汇编器和连接器,支持汇编语言和C语言(第三方支持);ML-EC3是从USB口到JTAG协议的转换模块。 目标板上带有一块相应的C8051FMCU和一些简单的外围电路构成一个最小单片机系统,并将所有引脚连接到插座。C8051F单片机内集成了一个以JTAG协议为基础的调试电路,这样在调试您的系统时,不需要专用仿真芯片、目标仿真头及目标RAM等。您在IDE上编译生成程序代码后,通过ML-EC3(连接到计算机USB口和JTAG接口)将代码下载到用户系统板的C8051FMCU的Flash存储器中,然后您就可以调试您的目标系了。 3、问:可以用KeiluVision2IDE调试全系列C8051F单片机应用系统吗?

答:可以。但必须安装动态链接库。该驱动程序可以在我公司的网站上下载。 4、问:如何将绝对目标代码转换成hex格式文件? 答:第一,可以使用KEILC,在编译时直接生成。 第二,使用OH51(DOS命令)将目标文件转换成hex格式的文件。 Oh5Linputfile〔hexfile〕 第三,在IDE环境中生成HEX文件 ﹙1﹚.在TOOL菜单中选择ADDREMOVEUSERTOOL ﹙2﹚.点击ADD按钮,增加一个MENUTEXT(名称可以任何输入) ﹙3﹚.在TOOLS里选择OH51.EXE文件(此文件在KEIL的BIN目录中有,必须将此文件放在项目所在目录) ﹙4﹚.在ARGUMENTS里输入文件名或项目名 ﹙5﹚.在DIROF里输入HEX文件的保存目录 5、问:Silabs IDE中带有4K代码限制版的KeilC51,那么如何将无限制版的KeilC51嵌入到Silabs IDE中呢? 答:先将您完全版的KeilC51安装到您的PC机中;然后进入Silabs IDE界面,选择Project-﹥TOOLChainIntegration弹出对话框,单击Browse按钮,更换A51.EXE和BL51.EXE的路径(换成“Keil安装目录”/c51/bin)即可。 6、问:程序代码加密后,IDE不能与目标系统连接怎么办?

MPC5604B单片机开发工具套装说明书

MPC5604B单片机开发工具套装 清华Freescale MCU/DSP 应用开发研究中心 概述 MPC5604B系列单片机开发系统套件是专门为全国大学生飞思卡尔杯智能车模竞赛设计的,主要由两个部分组成,分别是调试下载用的新款三合一OSBDM和MPC5604B 单片机基本系统模块。 本文档给出该套件的基本信息和使用方法,可以到清华Freescale单片机应用开发研究中心的网站:https://www.doczj.com/doc/1014069476.html,去寻找最新的版本。 MPC5604B开发工具包组件 MPC5604B开发工具包硬件系统包括以下组件: (1)MPC5604B基本系统模块一块; (2)带USB接口的最新款三合一OSBDM; (3)14芯扁带电缆一根; (4)USB电缆一根; (5)3芯转DB9 RS-232串口通信线一根; (6)220V AC~DC +5V电源一个; (7)CD光盘一张,含CodeWarrior V2.8安装软件、USBDM驱动。

MPC5604B 开发板 MPC5604B开发板如图1 所示: 图1 MPC5604B开发板

该开发板的机械尺寸如图2所示。 图2 MPC5604B开发板机械尺寸(单位为mil1)11mil=25.4×10–5 m。

板上有构成最小系统必要的复位电路、晶体振荡器及时钟电路,两个串行接口的RS-232 驱动电路,+5V电源插座。单片机中已经写入跑马灯和串口打印样例程序。单片机的大部分I/O端口都通过两个64引脚的插头J1,J2引出,其信号定义参考表1。收到J1,J2引脚数目的限制,还有部分信号通过20引脚的J7引出,其信号定义参考表2。。用户可以根据图2和表1,表2的定义设计自己的应用系统,即目标母板,然后将开发板插在目标母板上调试。 表 1 开发板上J1、J2插座的引脚定义 表 2 开发板上J7插座的引脚定义

几种常用软件开发工具比较

几种常用软件开发工具比较(2008-10-27 10:11:59) 标签:职场it [转]近日和公司的系统分析员探讨了几种开发工具的特性,由其总结了下面的内容。 文章客观评价了各种开发工具的优缺点,本人把文章拿来和大家一起讨论一下,欢迎专业人事补充和指正。 一、跨平台特性 VB:无★ PB:WINDOWS家族, Solaris,Macintosh ★★★ C++ Builder/Dephi:WINDOWS家族,Linux ★★★ VC:无★ JAVA:所有能够运行JAVA虚拟机的操作系统★★★★ 二、组件技术支持 VB:COM,ActiveX ★★★ PB:COM,JavaBean,Jaguar,UserObject使用:CORBA+Acti veX ★★★ C++ Builder/Dephi:COM, ActiveX CORBA(本身自带CORBA中间件VisiBroker,有丰富向导)★★★★★ VC:COM,ActiveX,CORBA(没有任何IDE支持,是所有C编译器的功能,需要CORBA中间件支持) ★★★ JAVA:JavaBean,CORBA;ActiveX ★★★★ 三、数据库支持级别 数据访问对象: VB:DAO,ADO,RDO功能相仿;★ PB:Transaction,DwControl,可绑定任何SQL语句和存储过程,数据访问具有无与比拟的灵活性★★★★ C++ Builder/Dephi:具有包括DataSource,Table,Query,Midas,ADO在内的二十多个组件和类完成数据访问★★★ VC:同VB,但有不少类库可供使用,但极不方便,开发效率很低★★ JAVA:JAVA JDBC API,不同的IDE具有不同的组件★★ 数据表现对象: VB:DBGriD,与数据库相关的数据表现控件只有此一种,只能表现简单表格数据,表现手段单一★ PB:DataWindow对象(功能异常强大,其资源描述语句构成类似HTML的另外一种语言,可在其中插入任何对象,具有包括DBGrid在内的数百种数据表现方法),只此一项功能就注定了PB在数据库的功能从诞生的那 一天起就远远超过了某些开发工具今天的水平★★★★★ C++ Builder/Dephi:具有包括DBGrid,DBNavigator,DBEdit,DBLookupListBox在内的15 个数据感知组件,DecisionCube,DecisionQuery在内的6个数据仓库组件和包括QRChart, QRExpr在内的20多个报表组建,可灵活表现数据★★★

各种软件系统开发工具

软件系统开发和工具的选择 一、实验目的与要求 1、掌握软件系统开发的基本步骤和方法。 2、根据选定的软件开发工具进行操作并形成操作报告。 3、绘制软件系统工具的功能使用图。 4、用DOC,JPG,PPT等电子文件表达完成报告。 二、实验内容与安排方式 1、实验内容与要求: (1)主要涉及的软件开发工具有哪些? (2)列出软件开发工具的基本功能说明并简要分析优缺点和适用环境。 (3)选择一个软件开发工具安装并把各个功能操作并制作使用报告。 (4)阐述软件开发工具的商业运营模式和开发成功的代表产品。 2、实验安排方式: 本实验每组1人,每人1台计算机 VC++开发工具 Visual C++ 6.0,简称VC或者VC6.0,是微软推出的一款C++编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序。Visual C++是一个功能强大的可视化软件开发工具。自1993年Microsoft公司推出Visual C++1.0后,随着其新版本的不断问世,Visual C++已成为专业程序员进行软件开发的首选工具 CodeLite IDE 是一个强大的开源,跨平台的C/C++整合开发环境. 支持包括Windows、Linux 和Mac 系统下运行。亮点:1. 代码自动完成功能很强大2. 仿VS,很容易上手3. 界面更友好4. 与Subversion集成5. 与wxFormBuilder集成6. 函数跳转功能强大 Dev-C++是一个Windows下的C和C++程序的集成开发环境。它使用MingW32/GCC编译器,遵循C/C++标准。开发环境包括多页面窗口、工程编辑器以及调试器等,在工程编辑器中集合了编辑器、编译器、连接程序和执行程序,提供高亮度语法显示的,以减少编辑错误 Code::Blocks (codeblocks)是一个开源、免费、跨平台的c++ IDE。官方网站上称其能满足最苛刻的用户的需求。虽有点夸张,但既然敢这样说,也说明它的功能肯定不差。可扩展插

打造自己的51单片机开发综合软件平台

打造自己的51单片机开发综合软件平台 (Keil 3+Proteus 7+Easy 51 Pro+。。。) 业余单片机爱好者在进行51单片机编程实验时,常常要用到C51集成编译软件Keil 3、仿真软件Proteus和编程器,通常的步骤是:先用Keil33编写程序,完成并编译通过后再用Proteus进行仿真,最后打开编程器软件烧录芯片。这几个软件应该说大家都比较熟悉了,但他们用起来都相对独立,以往,也有些单片机爱好者进行Proteus 与Keil3 联机调试,但这两个软件仍然要分别启动后才能由Keil3遥控启动Proteus的Debug;其实,利用Keil 3的自定义菜单功能,我们完全可以拥有一个集编写程序、编译、仿真联调、烧录等于一身的综合开发平台,在一个操作环境就可以完成编程所需的全部操作,怎么样?有兴趣吗?跟我来。。。 步骤: 1、在网上下载并安装Keil 3、Proteus 7软件。 2、运行下载的vdmagdi.exe,自动配置Proteus 7与Keil3联机仿真。 3、打开Keil 3,新建一个项目,选择菜单“Project”―>“options for Target ‘Target 1’”;在“Output”中勾选“Creat HEX File”,在“Debug”中点选“Use:Proteus VSM simulator”,确定。 选择菜单"Tools"->"Customize Tools Menu…",单击,将打开一个“Customize Tools Menu”窗口,见下图1、图2: 图1

图2 1)、点击插入一个新菜单项,输入菜单项名称如:“Proteus 7仿真”。 2)、在“Command”中输入运行Proteus 7的命令行:E:\...\Proteus 7 Prefessional\BIN\ISIS.EXE,但用鼠标点击打开文件所在目录从中直接选取更方便、直观、准确,注意:不能选用Proteus 7的链接,即Proteus 7.lnk,只能选.exe(或.bat)文件即Proteus 7.exe,否则以后用菜单启动Proteus 7时会出错。 3)、在“Initial”中输入Proteus 7仿真文件保存的目录,一般选Keil 3刚建立的项目目录(和项目生成的.hex文件同目录,否则仿真会出错),空白时默认为当前Keil 3项目目录。 4)、在“Argument”中输入Proteus 7仿真的文件名,一般与项目同名,仿真结束后生成.DSN仿真文件。 这里,笔者建议第3)“Initial”项不用填,第4)“Argument”在仿真完成后也予以删除,这样可以适用于Keil 3建立的所有项目,而不必每新建一个项目都要修改该目录和仿真文件名。也可以勾选“Prompt for argument”,这样在启动Proteus 7前 将弹出一个对话框,提示您输入仿真文件名(图3)。

手机APP开发常用工具有哪些

手机APP开发常用工具有哪些 APP软件开发效率很关键,如何才能快速的开发,这是每一个软件工程师最关心的,一款优秀的工具可以带来速度上的提升,有哪些比较好用的工具了?今天蓝鸥iOS培训就给大家推荐几款最常用,也是最好用的工具: 首先一般来说手机APP开发包括三个平台,安卓、苹果和windows。那么APP软件开发难不难?、大家不用担心,国外的技术开发者开发了许多能够帮助企业创建简单APP应用的傻瓜工具,通过这些工具,就算是一个对程序、对编程代码一窍不通的普通网民都可以很容易的创建一个APP客户端,并可以对程序进行应用更新维护,开展营销等活动。 下面就具体介绍这五款开发工具: 1、Bizness Apps: Bizness Apps为中小企业提供了一个快速制作手机App的平台。它目前支持iOS(iPhone、iPad)及Android平台上的本机App 制作。用户完全不需要具备任何编程知识,只要进行按钮勾选及拖拽,就能完成大部分设计工作。建立App时,首先选择你的App类型。Bizness Apps为每种类型提供了相应的模板,包含了该类型大部分的常见功能,用户只需要进一步在选单中选取你的App需要的功能

即可完成本机App的设计。在App完成后,Bizness Apps会帮你把App上传到他们在iOS和Android应用商店的帐号。当然,你也可以申请帐号自己上传。选择iOS或Android之一,Bizness Apps 收费为每个平台39美元。如果选择同时支持两个平台,总共仅需59美元。这个价格对于中小企业来说实在很有吸引力,只需要一比颇小的投入,就能利用App进行品牌营销。 2、APPMakr: 它的主要业务是为用户提供一个良好的app手机客户端软件开发平台,让不会编程的用户也可以通过一个功能齐全的DIY工具包来开发手机app。目前,AppMakr平台上的大部分应用主要是针对iOS 系统,但针对Android及WP7的应用现在也正不断增长中。 3、Appsgeyser: 使用AppsGeyser就可以让任何人都可以做应用程序的开发。当然,这个程序并不能让你创建下一个愤怒的小鸟或者Foursquare。 4、Mobile Roadie: Mobile Roadie提供一个应用开发平台,整合YouTube, Brightcove, Flickr, Twitpic, Ustream, Topspin, Google资讯,RSS, Twitter和Facebook。用户可使用该应用平台开发iOS和Android

震撼你的十大免费软件开发工具

震撼你的十大免费软件开发工具 2007-12-18 09:43 叶青编译https://www.doczj.com/doc/1014069476.html,我要评论(2) ?摘要:作为一名软件开发人员,你需要最好的工具来协助你高效的完成工作。本文给大家列举了十个,没错!就是免费的软件开发工具!供大家参考! ?标签:免费软件开发工具 ? Oracle帮您准确洞察各个物流环节【https://www.doczj.com/doc/1014069476.html,独家特稿】作为一名软件开发人员,你需要最好的工具来协助你高效的完成工作。在这为你推荐一些软件开发工具,这些工具不但可以即时使用,而且绝对免费! 从可以加快软件开发进程的应用软件到图形设计工具,应有尽有,还不花你一分钱。 1、ConTEXT 一种微小、迅速且功能强大的免费软件文字编辑器,它主要是作为二级(次要)工具服务于软件开发人员。这种工具将轻而易举地替代记事本。 查看网站| 下载 2、AutoHotkey 这款工具的出现使得不少其它工具纷纷“隐退”。AutoHotkey结合了hotkey 和text macros,并且提供了一种比所有批处理文件(batch-file)更强大,且比Windows脚本语言主机(Windows-Scripting-Host)更容易掌握的脚本语言(scripting-language)。由于这款工具的脚本语言(scripting-language)与基础语言(Basic)相似(包括了一个宏录制器和语法检查程序),所以初学者能够很快的入门。 查看网站| 下载 3、Aptana Aptana IDE(集成开发环境)是一款免费、开源、跨平台、专注于JavaScript的编辑器,用于Ajax应用软件的开发。它为JavaScript,HTML和CSS语言提供代码支持(code assistant),具备FTP/SFTP支持功能,它还是一个JavaScript调试器,可以为你检修代码。 查看网站| 下载 4、CSS Tab Designer CSS Tab Designer是一种独特的、便于使用的软件,它可以帮助你形象地设计CSS-based lists 和tabs,并且不要求你有某种编程知识! 查看网站| 下载 5、https://www.doczj.com/doc/1014069476.html,

单片机上位机界面编程软件一览

目前用在单片机嵌入式上位机编程的开发工具有很多,让很多刚入门的工程师们无所适从。那么用来编写单片机嵌入式上位机的工具有那几款呢?下面小编为大家细数一下使用最普遍的几款。 (1)LabVIEW:是NI推出的,和C和BASIC开发环境类似,但是LabVIEW与其他计算机语言有很大区别,其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。特点是:采用了通用的硬件,可以通过改变软件在计算机上实现多种仪器的功能。被公认为测试之王。 2)VB:是由Microsoft公司开发的结构化的、模块化的、面向对象的、包含协助开发环境的事件驱动为机制的可视化程序设计语言。从任何标准来说,VB都是世界上使用人数最多的语言——不仅是盛赞VB的开发者还是抱怨VB的开发者的数量。它源自于BASIC编程语言。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。程序员可以轻松的使用VB提供的组件快速建立一个应用程序。 (3)VS:它是微软提供的一个工具集,由各种各样的工具组成。VS可以支持C/C++、VB、JAVA、C#编程。然了一次只能支持一种编程方式。在VS安装完成,第一次运行的时候会让你选择常用语言,如果你选择C/C++,那么他就成了能够进行C/C++编程的平台也许就是你所说的VC了。如果不想用C/C++的话,只需要修改一下他的初始化设置,选择别的编程语言,就成为了另一种的语言的编程环境了。所以总的来说它是一个集成平台。

真正地组件编程。基本上,Qt同X Window上的Motif,Openwin,GTK等图形界面库和Windows平台上的MFC,OWL,VCL,ATL是同类型的东西。

三种移动APP(应用程序)开发方式比较 (2)

三种移动APP(应用程序)开发方式比较 一、名词介绍1.NativeAPPNativeAPP指的是原生程序,一般依托于操作系统,有很强的交互,是一个完整的App,可拓展性强,需要用户下载安装使用。(简单来说,原生应用是特别为某种操作系统开发的,比如iOS、Android、黑莓等等,它们是在各自的移动设备上运行的)该模式通常是由“云服务器数据+APP应用客户端”两部份构成,APP应用所有的UI元素、数据内容、逻辑框架均安装在手机终端上。原生应用程序是某一个移动平台(比如iOS或安卓)所特有的,使用相应平台支持的开发工具和语言(比如iOS平台支持Xcode和Objective-C,安卓平台支持Eclipse和Java)。原生应用程序看起来(外观)和运行起来(性能)是最佳的。 2.WebAPPWebApp指采用Html5语言写出的App,不需要下载安装。类似于现在所说的轻应用。生存在浏览器中的应用,基本上可以说是触屏版的网页应用。(Web应用本质上是为移动浏览器设计的基于Web的应用,它们是用普通Web开发语言开发的,可以在各种智能手机浏览器上运行)WebApp 开发即是一种框架型APP开发模式(HTML5APP框架开发模式),该开发具有跨平台的优势,该模式通常由“HTML5云网站+APP应用客户端”两部份构成,APP应用客户端只需安装应用的框架部份,而应用的数据则是每次打开APP的时候,去云端取数据呈现给手机用户。HTML5应用程序使用标准的Web技术,通常是HTML5、JavaScript和CSS。这种只编写一次、可到处运行的移动开发方法构建的跨平台移动应用程序可以在多个设备上 运行。虽然开发人员单单使用HTML5和JavaScript就能构建功能复杂的应用程序,但仍然存在一些重大的局限性,具体包括会话管理、安全离线存储以及访问原生设备功能(摄像头、日历和地理位置等)。

单片机编程软件的基本使用

硬件实验报告 学生:张小强 学号:1252100210 指导老师:莫荣

实验一:单片机开发系统应用初步 ——基本I/O口赋值 1. 内容提要: 1)KEIL C软件对程序进行编译调试及烧录软件的使用方法。 2)单片机基本I/O口的驱动方式、特点等。 3)汇编语句的基本用法;对基本I/O口的赋值方法;程序的具体流程等。 2.实验目的及要求: 1) 课前预习好编程的基本知识。程序的基本概念、*.asm、*.c、*.hex、*.uv2 所表示的文件类型等。 2) 熟练掌握不同数据类型之间的相互转换,不同类型的数据在程序中的表示方 法等。 3)课前弄清楚单片机I/O口的基本驱动方式,理解何谓上拉及下拉方式,单片机驱动电流、灌入电流等概念。 4)复习数码管的相关知识,弄清数码管需显示某个字符应如何对其进行控制等。 ORG 0000H AJMP MAIN MAIN: MOV P0,#0FH JMP MAIN END 4.实验的实施: 1)实验前准备:基础知识的统计学习 A.程序:完成某种任务的计算机代码。 B.文件类型: *.asm:汇编语言编写的程序文件。 *.c: c语言编写的程序文件。 *.hex:机器语言文件,指通过*.asm、*.c等程序编译成功后转换而得到的hex文件。 *.uv2:表示keil c软件的工程文件。 C.对源程序的相关阐释:

ORG 0000H 定义程序起始地址 AJMP MAIN 直接跳到main(主程序) MAIN: MOV P0,#0FH 对p0口赋初值 JMP MAIN 跳转到main END 程序结束 2)通过keil c进行程序编译,生成正确的*.hex机器语言文件: A.打开keil c,建立工程文件: a.在主菜单下右键点击选中project 再点击New Project新建工程文件,弹出下面对话框: b选择保存位置,定义文件名,点击保存,弹出下面对话框

软件开发工具与环境(考试必备)

1.原型工具:事件,动作,场景之间的关系 1.用户操作界面时,就会触发事件(如鼠标的(onclick事件、onmouse 事件)); 2.每个时间可以包含多个场景,场景也就是事件触发后满足地条件; 3.每个场景可以执行多个动作,例如:打开连接、显示面板。移动面板等。 2.瀑布模型的特点 瀑布模型的优缺点 1、瀑布模型有以下优点: 1)为项目提供了按阶段划分的检查点。 2)当前一阶段完成后,您只需要去关注后续阶段。 3)可在迭代模型中应用瀑布模型。 迭代模型中应用瀑布模型 增量迭代应用于瀑布模型。迭代1解决最大的问题。每次迭代产生一个可运行的版本,同时增加更多的功能。每次迭代必须经过质量和集成测试。 2、瀑布模型有以下缺点: 1)在项目各个阶段之间极少有反馈。 2)只有在项目生命周期的后期才能看到结果。 3)通过过多的强制完成日期和里程碑来跟踪各个项目阶段。 3.概念模型到物理模型的转化的步骤 如果CDM不存在错误,就可以使用将CDM转换为PDM的工具进行模型转换。 由于PDM是某种具体DBMS的物理结构,因此进行模型转换时需要选择DBMS,并设置需要进行转换的内容。 在PowerDesigner的主窗体中,选择“Tools”→“Generate Physical Data Model”命令启动模型转换工具,进入模型转换选项设置界面。该界面包括多个选项卡,General设置转换生成PDM的基本属性。 4.找错题 5.编写程序,求满足条件12+22+…+n2≤1000的最大的n.(n=13) using System; namespace zhaocuo { class Program { static void Main(string[] args) { int n = 1, m=0; while (m <= 1000) { m += n * n; n++; } Console.WriteLine ("n={0}", n - 2); } } } 1.编程求1!+2!+3!+…….+n! using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication5 { class Program { static void Main(string[] args) { Console.WriteLine("请输入你要算的数"); String a = Console.ReadLine(); int b = Convert.ToInt32(a); int sum = 0, n = 1; for (int i = 1; i <= b; i++) { n = n * i; sum += n; } Console.WriteLine("sum={0}", sum); } } } 2.编写如下窗体 using System; using System.Collections.Generic; using https://www.doczj.com/doc/1014069476.html,ponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace 考试编程 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void label1_Click(object sender, EventArgs e) { } private void listBox2_SelectedIndexChanged(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { int a, b, c; a = Convert.ToInt16(listBox1.SelectedItem); b = Convert.ToInt16(listBox2.SelectedItem); c = a + b; listBox3.Items.Add(Convert.ToString(a) + "+" + Convert.ToString(b) + "=" + Convert.ToString(c)); } private void listBox3_SelectedIndexChanged(object sender, EventArgs e) { } } } 3. 编写控制台程序:输入矩形的长和宽,输出矩形的面积和周长。 static void Main(string[] args) { int a, b; Console.WriteLine("请输入长方形的长:"); a = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("请输入长方形的宽:"); b = Convert.ToInt32(Console.ReadLine()); int s,l; s = a * b; l = 2 * a + 2 * b; Console.WriteLine("长方形的面积为:{0}", s); Console.WriteLine("长方形的周长为:{0}", l); } 4.编写控制台应用程序,输入正整数n,输出s=1+(1+2)+(1+2+3) +…+(1+2+3+…+n)的计算结果。 static void Main(string[] args) { int n, m = 0; long sum = 0; Console.WriteLine("请输入一个正整数:"); n = int.Parse(Console.ReadLine()); for (int i = 1; i <= n; i++) { m += i; sum += m; } Console.WriteLine("Sum={0}",sum); } 5.编写控制台应用程序,输出所有这样的三位数:这个三位数本身恰好等 于其每个数字的立方和(例153=13+53+33)。 static void Main(string[] args) { int i, a, b, c, count = 0; for (i = 100; i <1000; i++) { a = i / 100; b = (i - a * 100) / 10; c = i % 10; if (i==a * a * a + b * b * b + c * c * c) { Console .WriteLine ("N={0}", i); } } } 8.读程序date.Time类 DateTime dt1 = new DateTime(2014, 11, 12); Console.WriteLine(dt1); DateTime a =DateTime.Now; a.ToLongDateString(); Console.WriteLine(a); 9.选择题 1.在定义命名空间时,使用的关键字是namespace在使用命名空间的时候。 使用的关键字是using 2.Console.writeLine(x%y); 和Console.writeLine(x/y); Int X=-3,int y=-5; 前者等于-3. 后者等于0; 3.C#下拉列表框DropDowmList ,selectedItem属性(获取索引最小的选定 项) 4.组合框ComboBox,DropDownStyle属性(DropDownList文本内容只能从 其的列表框中选择;Simple文本内容既可以通过键盘输入,也可以从其的 列表框中选择,但列表部分总可见) https://www.doczj.com/doc/1014069476.html,数据验证控件有几种?6种。(CompareValidator、CustomValidator、 RangeValidator、RegularExpressionValidator、RequiredFieldValidator、 ValidationValidator) 6.C#值类型(byte、short、int、long、float、double、decimal、char、bool、 枚举enum、结构strut)引用类型(class、委托delegate、interface、数 组array) 7.什么依赖于DBMS?物理结构 8.修饰类成员的访问修饰符?public protect private internal 9.VS是集成开发环境。没有java环境 10.Uml图5静4动 11.原型法模型可以看到未来概貌。 12.Word属于应用软件 13. 类成员修饰符:public、protected、private、internal、sealed、abstract、 virtual、override、readonly、const 14.文本框控件(TextBox)t.Enabled=Ture 15.文本框控件(TextBox)PasswordChar属性(允许输入一个字符,用户在 文本框中输入的所有字符都显示为这个字符) 16. C#和.NET的关系(选最长的那句) 17.定时器控件(Timer)以重复时间间隔产生一个事件(Interval设置定时 器触发的时间周期(以毫秒计)) 18.原型工具在(载入页面)时触发log事件。 19.swith语句中的表达式类型必须是:整数、字符或枚举量值。 20.windows应用程序,窗体启动时引发事件顺序:Load事件、Shown事件、 Paint事件、Activated事件。 21.白盒测试是根据程序的(内部逻辑结构)来设计测试用例,黑盒测试是根 据软件的规格说明来设计测试用例。 22.软件测试的目的是(以最少的时间和人力找出软件中尽可能多的错误 和缺陷) 23.利用https://www.doczj.com/doc/1014069476.html,进行Web应用开发时,首先要安装、管理和配置好Web 服务器,这里的Web服务器实际上就是(IIS)服务器。 24. 需纳入配置管理的工作成果一般分为两类,即:(属于产品组成部分的 工作成果)和(管理过程中产生的文档),前者主要包括源代码、需求文档、 测试用例等,后者主要包括各种计划和监控报告。 25.(基线)由一组配置项组成,这些配置项构成了一个相对稳定的逻辑实体。 26.LoadRunner是一款(性能测试)工具,Project是一款(项目管理软件程 序)工具,VSS是一款(软件配置管理)工具,Axure是一款(界面原型设 计)工具,这些工具都可以辅助软件开发过程。

单片机上位机界面编程软件一览(精)

目前用在单片机嵌入式上位机编程的开发工具有很多,让很多刚入门的工程师们无所适从。那么用来编写单片机嵌入式上位机的工具有那几款呢?下面小编为大家细数一下使用最普遍的几款。 (1LabVIEW:是NI推出的,和C和BASIC开发环境类似,但是LabVIEW与其他计算机语言有很大区别,其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。特点是:采用了通用的硬件,可以通过改变软件在计算机上实现多种仪器的功能。被公认为测试之王。 2VB:是由Microsoft公司开发的结构化的、模块化的、面向对象的、包含协助开发环境的事件驱动为机制的可视化程序设计语言。从任何标准来说,VB都是世界上使用人数最多的语言——不仅是盛赞VB的开发者还是抱怨VB的开发者的数量。它源自于BASIC编程语言。VB拥有图形用户界面(GUI和快速应用程序开发(RAD系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。程序员可以轻松的使用VB提供的组件快速建立一个应用程序。 (3VS:它是微软提供的一个工具集,由各种各样的工具组成。VS可以支持 C/C++、VB、JAVA、C#编程。然了一次只能支持一种编程方式。在VS安装完成,第一次运行的时候会让你选择常用语言,如果你选择C/C++,那么他就成了能够进行C/C++编程的平台也许就是你所说的VC了。如果不想用C/C++的话,只需要修改一下他的初始化设置,选择别的编程语言,就成为了另一种的语言的编程环境了。所以总的来说它是一个集成平台。 (4VC:是微软的C++开发工具,有集成开发环境,可提供编辑C语言,C++以及 C++/CLI 等编程语言。VC++有便利的除错工具,特别是包含了微软视窗程式设计(Windows API、三维动画DirectX API,Microsoft .NET框架,开发速度比较快。 (5Delphi:是一个集成开发环境(IDE,使用的核心是由传统Pascal语言发展而来 的Object Pascal,以图形用户界面为开发环境,透过IDE、VCL工具与编译器,配合连结数据库的功能,构成一个以面向对象程序设计为中心的应用程序开发工具。似乎

几种常用软件开发工具的区别与联系分析

几种常用软件开发工具的区别与联系分析 1、java:分三大平台java se (j2se),java ee(j2ee),java me(j2me) java se是java ee和java me的基础 java ee是目前位置企业级开发平台中最牛的 java me是用来开发移动嵌入式程序的,例如手机游戏 java 的优点是非常适合用于开发大型企业级项目,我们曾为网通公司开发过的上千万级的项目,用的后台程序就是java ee。 java的主要领域还有开源技术,那要学的东西就太多了,比如(Spring,Ibatis,DWR,Hibernate,Tapestry等) 缺点是要学的技术太多,二是在底层开发中不行 2、C:经久不衰的语言 主要应用在嵌入式编程,硬件驱动程序设计中,说白了是计算机底层的编程设计 优点是可以嵌入汇编,可以直接与硬件打交道,做底层开发 缺点是在企业级开发中,几乎无用武之地 我朋友是做这个的,在长沙这种小地方,年薪也能达到10万以上 与北京的java程序员收入差不多 在北京的话,年薪20万不是大问题。 3、c++ :我非常钦慕的语言,又A T&T的贝尔实验室研发 主要开发工具是微软的Visual C++和Borload的BCB(Borload C++ Builder) 优点在于含有大量的库,如MFC,可直接调用windows库函数干很多事情 其中的消息处理机制令我感觉尤为经典 缺点是,要想精通真不容易 主要领域一是做桌面程序,像QQ,迅雷这种桌面软件 领域二是做游戏后台开发,大部分游戏(包括魔兽等)后台语言就是使用C++ 精通的话,收入和C程序员差不多 4、vc :刚说过了,vc全名是(Microsoft Visual C++) 是微软研发的一种开发C++的开发工具(IDE) 5、vc++:同vc 注意c++是语言,vc++是工具,是一门使用c++语言的工具,记清楚,以后不要问这样肤浅的话。 以上几种,对比一下学java,学的不仅仅是技术,而是一种思想,架构项目的思想 所以java是培养架构师,培养System Designer,Project Manager的 c语言和c++只能培养技术专家,资深程序员 6、vb:曾经很流行的一种桌面程序开发技术 微软研发的(Visual Basic)是一种工具,用的语言是Basic

相关主题
文本预览
相关文档 最新文档