STM开发环境(工具)之Keil MDK 介绍

STM开发环境(工具)之Keil MDK 介绍
STM开发环境(工具)之Keil MDK 介绍

STM32开发环境(工具)之Keil MDK 介绍

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

1.1 Keil MDK介绍

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

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

1. Keil的软件开发周期

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

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

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

3. 编译应用程序。

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

5. 联机调试。

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

2. uVision3 集成开发环境

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3. ULINK USB-JTAG接口适配器

ULINK USB-JTAG是一个用于连接PC USB口和开发板JTAG口的小硬件适配器。通过ULINK你可以在真实的目标板上创建,下载和测试嵌入式应用。ULINK支持如下操作:

下载目标程序。

检查内存和寄存器。

单步运行程序。

插入多个断点。

实时运行程序

烧写FLASH存储器

1.1.2 工程管理

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

1.1.

2.1 新建工程

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

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

你可以根据你使用的处理器来选择,如果您所使用的处理器型号在列表中找不到,也可以找一款与您使用的相兼容的型号来代替。这里我们选择STM32F103C8,如图所示,右边一栏是对这个芯片的基本的说明,然后点击―OK‖。

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

1.1.

2.2 配置工程

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

首先用鼠标右键(注意用右键)点击左边工程窗口的―Target 1‖,会出现一个菜单,选择―Options for Target 'Target 1'‖(也可以通过点击工程窗口的Target 1‖,然后使用菜单―Project‖->―Options for Target 'Target 1'‖),即出现工程配置的对话框,如下图所示:

这个对话框很复杂,而且根所选择的芯片有关,这里共有10个页面,绝大多数选择默认配置即可,下面将对一些需要注意的配置简单介绍一下。

1. 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++标签页的设置

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

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

3. Debug标签页的设置

左边是对应uVision3的模拟环境,右边是针对仿真器,这里选择右边的ULINK Cortex Debugger仿真器为例进行说明。

如果已经将ULINK仿真器连接到你的电脑,点击―Settings‖你将进入ARM Target Driver Setup 界面。

ULINK - JTAG/SWD Adapter:

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

ULINK Version,Device Family以及Firmware Version分别列出了当前选择的ULINK适配器的版本,设备家族和固件版本。

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

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

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

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

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

Debug:

Cache Options:

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

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

Download Options:

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

Download to Flash:将代码下载到所有的存储器区域,如果不选中,调试器不会把代码下载到Flash Download Setup中制定的存储器地址范围。

Misc Options:

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标签页的设置

Configure Flash Menu Command

Use Target Driver for Flash Programming:列表选择和调试接口一致的驱动。Init File的设置也和前面调试设置一致。点击Settings将进入Flash Download Setup界面。

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你将看到如下的选择列表,可以根据你选用的芯片选择合适的,也可以自己手动添加。

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

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

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

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

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

1.1.

2.3 打开工程

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

选择你要打开的工程的路径,然后点击―Open‖打开工程。我们还可以和打开其他文件一样,找到一个

后缀为―uv2‖的uVision3工程文件,直接双击,Windows会自动调用uVision3打开这个文件,前提是你电脑已经安装了uVision3并且和―uv2‖文件建立了关联。

1.1.3 编写源程序

选择菜单―File‖->―New‖或者点击工具栏的新建文件按钮,即可在项目窗口的右侧打开一个新的文本编辑窗口,在该窗口可以输入程序代码。

需要说明的是,源文件就是一般的文本文件,不一定使用Keil软件编写,可以使用任意文本编辑器编写,而且Keil的编辑器对汉字的支持不好,建议使用UltraEdit之类的编辑软件进行源程序的输入。每一个程序至少有一个原型为int main(void)的主函数,这是程序的入口地址,程序将从这里开始运行。此外,我们还需要对开发板做一些时钟和中断方面的初始化工作,这些工作将在函数

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

1.#include "stm32f10x_lib.h"

2.GPIO_InitTypeDef GPIO_InitStructure;

3.void Delay (vu32 nCount);

4./******************************************************************************* Funct

ion Name : main

5.* Description : 主程序

6.* Input : None

7.* Output : None

8.* Return : None

9.******************************************************************************/

10.int main (void)

11.{

12. RCC_APB2PeriphClockCmd(RCC_APB2Periph_ GPIOB, ENABLE);

13. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;

14. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;

15. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

16. GPIO_Init (GPIOB, &GPIO_InitStructure);

17.while (1)

18. {

19. GPIO_WriteBit (GPIOB, GPIO_Pin_9,

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

21. Delay (1000000);

22. }

23.}

24.void Delay (vu32 nCount)

25.{

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

27.}

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

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

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

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

注意,该对话框下面的―文件类型‖默认为C source file(*.c),我们可以通过调整这个来选择过滤我们想要格式的文件,从而帮助我们快速查找文件。如果是汇编文件,就选择―asm source file‖;如果是目标文件,选择―Object file‖;如果是库文件,选择―Library file‖。最后点击―Add‖,也可以双击要添加的文件进行加入。注意:点击―Add‖之后,窗口不会消失,如果要添加多个文件,可以不断添加,添加完毕此时再点击―Close‖关闭该窗口。初学者时常误认为操作没有成功而再次双击同一文件或者再次点击―Add‖,这时会出现如下的对话框。

在这里我们把刚新建的HelloWorld.c添加进去,文件添加进去之后,我们点击―Source Group 1‖前面的―+‖号,就会发现我们刚刚添加的文件HelloWrold.c已在其中了,双击文件名,即在代码区打开该源程序文件。

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

Group‖,这时就会在工程窗口看到新加的Group。对Group和添加文件的操作我们还可以通过点击工具栏上的彩色品字按钮进入―Components,Environment and Books‖窗口,如下图所示。

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

1.1.4 编译程序

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

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

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

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

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

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

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

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

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

很遗憾,有不少错误,也许你早就发现我们的代码中使用了很多我们没有定义的而且也不属于标准C 的一些函数,没错这就是ST固件库给我们提供的函数,我们要做的就是把固件库添加到我们的工程中,和其他的开发环境一下,我们可以直接添加固件库的源文件和工程一起编译,也可以通过添加已经编译好的静态连接库(*.lib)文件。这里我们以后者为例,这些库在我们安装好Keil开发环境的时候已经提供了,路径一般在你安装目录下的ARM/RV31/LIB/中,例如我这里的路径是

D:/Keil/ARM/RV31/LIB/ST。这里我们将添加一个新的Group,取名为FWLIB。然后将库文件添加到这个Group中,具体的操作过程可以参照编写源程序章节。添加库之后我们再次编译。

问题解决了,当出现―0 Error(s), 0 Warning(s)‖的时候也就意味着我们的程序已经通过了语法检查,有时候一些Warning也不影响程序执行,但是我们要慎重对待,仔细分析每一个Warning。如果是源程序中有语法错误或者警告,我们可以通过双击输出窗口的该行,快速定位到出错的位置。

1.1.5 调试程序

编译通过只是说明我们的代码没有语法错误,至于源程序中存在的其他错误,必须通过调试才能发现并解决,事实上,除了极简单的程序以外,绝大部分的程序都要通过反复调试才能得到正确的结果,因此,调试是软件开发接下来我们需要运行我们的程序来验证是否达到了预期的目的。也就是程序调试,程序调试往往是程序开发过程中最难的阶段,尤其是对一些比较大型的程序。下面我们就来看看uVision3对调试的支持。

1.1.5.1 常用的调试命令

在对工程成功进行汇编、连接之后,按Ctrl+F5或者使用菜单Debug->Start/Stop Debug Session即可进入调试状态。进入调试状态后,界面与编辑状态相比有明显的变化,Debug才单项中原来不能用的命令现在已经可以使用了,工具栏会多出一个用于运行和调试的工具栏,如下图所示,Debug菜单上的大部分命令可以在此找到对应的快捷按钮。

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

Start/Stop Debug Session:开始或者停止调试。

Run:一直执行下一个活动的断点。

Step:单步执行。

Step Over:过程单步执行,即将一个函数作为一个语句来执行。

Step out of current Function:跳出当前的函数。

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

Stop Running:停止运行。

Breakpoints:打开断点对话框。

Insert/Remove Breakpoint:在当前行插入/删除一个断点。

Enable/Disable Breakpoint:激活当前行的断点或者使断点无效。

Disable All Breakpoints:使程序中所有的断点都无效。

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

学习程序调试,必须明确两个重要的概念,即单步执行与全速执行。全速执行是指一行程序执行完了以后紧接着执行下一行程序,中间不停止,这样程序执行的速度就很快,并可以看到该段程序执行的总体效果,即最终结果正确还是错误,但如果程序有错,则难以确认错误出现在哪些程序行。单步执行是每次执行一行程序,执行完该行程序执行完以后即停止,等待命令执行下一行程序,此时我们可以观察该行程序执行完以后得到的结果,是否与我们写程序行所想要得的结果相同,借此可以找到程序中问题所在。程序调试中,这两种运行方式都要用到,要灵活应用,可以大大提高调试效率。

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

1.1.5.2 断点设置

程序调试时,有些程序行往往很难确认什么时候能够执行到,这类问题就不适合单步调试,这是我们需要使用程序调试中另一种非常重要的方法——断点设置。断点设置的方法有多种,常用的是在某一程序行设置断点,设置好断点之后可以全速运行程序,一旦执行到该程序行即停止,可在此观察有关的变量值,以确定问题所在。设置断点的命令请参考上一节常用调试命令介绍。一旦某一行被设置了断点,我们可以在程序行的左端看到一个红色方框(如图5.24调试窗口图所示),如果该断点被禁用,方框将会变为白色。

除了在某程序行设置断点这一基本方法以外,uVision3还提供了多种设置断点的方法,按

Debug->Breakpoints,即出现一个对话框,该对话框用于对断点进行详细的设置,如下图所示。

图5.26中的Expression后的编辑框用于输入表达式,该表达式用于确定程序停止运行的条件,功能强大,涉及到uVision3内置的一套调试算法,这里不做详细说明,请查阅相关帮助文档。

1.1.5.3 调试窗口

前面讲了调试的一些方法,里面多次提到检查程序的执行状态。调试窗口就是用于查看程序执行状态的。uVision3提供了多种调试窗口,如寄存器窗口,存储器窗口,反汇编窗口,外设窗口等,下面将会一一作介绍。

1. 寄存器窗口

图5.26是工程窗口寄存器页的内容,寄存器页包含了当前所有的工作寄存器和系统寄存器,每当程序中执行到对某个寄存器的操作时,该寄存器会反色显示,用鼠标单击然后按F2(鼠标连续单击两

次),即可修改该值。

2. 存储器窗口

存储器窗口可以显示系统中各种内存中的值,通过在Address后的编辑框中输入―字母:数字‖即可显示相应内存值,其中字母C、D、I、X,分别代表代码存储空间、直接寻址的片内存储空间、间接寻址的片内存储空间、扩展的外部RAM单元值、键入C:0即可显示从0开始的ROM单元中的值,即查看程序的二进制代码。该窗口的显示值可以以各种形式显示,如十进制、十六进制、字符型等。改变显示方式的方法是点鼠标右键,在弹出的快捷菜单中选择。除了显示,还可以修改内存中的值,如下图所示。

3. 查看和调用栈窗口

这个窗口可以帮助我们查看当前调用树的情况,我们还可以通过这个窗口查看和修改一些变量的值。鼠标停留在某个变量的时候点右键,在弹出的浮动菜单中选择Add ***to Watch window,Local 窗口显示当前一些局部变量的值,变量值的现实方式可以在十六进制和十进制之间切换,方式是在查看窗口点右键,在某个变量的Value栏用鼠标单击然后按F2(鼠标连续单击两次),即可修改该值。如下图所示。

4. 反汇编窗口

点击View->Dissambly Window可以打开反汇编窗口,该窗口可以显示反汇编后的代码、源代码和相应反汇编代码的混合代码,可以在该窗口进行在线汇编、利用该窗口跟踪已找行的代码、在该窗口按汇编代码的方式单步执行。点击鼠标右键,出现快捷菜单,如图5.29所示,其中Mixed Mode是以混合方式显示,Assembly Mode是以返回编码方式显示。

5. 外设窗口

为了能够比较直观地了解单片机中各种外设的使用情况,uVison3提供了一个外围接口对话框。通过Peripherals菜单,下拉菜单中的内容和你选择的芯片有关,会列出你所选择的芯片上所有的外设。选择一项你可以进入查看或修改该外设的一些状态。例如在这里我们是通过GPIO中的PB9来控制LED闪烁,我们可以打开GPIOB的状态对换框,如图5.30所示。

现在我们可以调试我们的HelloWorld了。程序运行时,你将看到开发板上的L1不停闪烁。

软件开发项目配置管理工具的选择

软件开发项目配置管理工具的选择 通过软件配置管理,将对软件系统中的多重版本实施系统的管理;全面记载系统开发的历史过程,包括为什么修改,谁作了修改,修改了什么;管理和追踪开发过程中危害软件质量以及影响开发周期的缺陷和变化。并对开发过程进行有效地管理和控制,完整、明确地记载开发过程中的历史变更,形成规范化的文档,不仅使日后的维护和升级得到保证,而且更重要的是,这还会保护宝贵的代码资源,积累软件财富,提高软件重用率,加快投资回报…… 每一个软件项目,无论是工程类项目,还是产品类项目,都必须经历需求分析、系统设计、编码实现、集成测试、部署、交付、维护和支持的过程。在这个过程中,将生成各种各样不同的工件,包括文档、源程序、可执行代码、支持库。更可怕的是,频繁出现的变更是不可避免的,因此面向如此庞大且不断变动的信息集,如何使其有序、高效地存放、查找和利用就成为了一个突出的问题。 针对这一问题,最早的开发人员尝试过的解决办法是通过手工来实现: 1)文档:每次修改时都另存为一个新的文件,然后通过文件名进行区分,例如"XXX 软件需求说明书V1.0,XXX软件需求说明书V1.1,XXX 软件需求说明书V2.0.",并且在文件中注明每次版本变化的内容; 2) 源代码:每次要修改时就将整个工程目录复制一份,将原来的文件夹进行改名,例如"XX 项目V1.0、XX 项目1.01、.",然后在新的目录中进行修改; 但是这种方法,不仅十分繁琐,容易出错,而且会带来大量的垃圾数据。如果是团队协同开发或者是项目规模较大时,还是会造成很大的混乱。很显然,这样简陋的方法是无法应对这一问题的。后来,有人尝试从制造工业领域引入了"配置管理"这一概念,通过不懈的研究与实践,最终形成了一套管理办法和活动原则,这也就是软件配置管理。 通过软件配置管理,将对软件系统中的多重版本实施系统的管理;全面记载系统开发的历史过程,包括为什么修改,谁作了修改,修改了什么;管理和追踪开发过程中危害软件质量以及影响开发周期的缺陷和变化。并对开发过程进行有效地管理和控制,完整、明确地记载开发过程中的历史变更,形成规范化的文档,不仅使日后的维护和升级得到保证,而且更重要的是,这还会保护宝贵的代码资源,积累软件财富,提高软件重用率,加快投资回报。 常见的配置管理工具 正如前面所述,由于软件配置管理过程十分繁杂,管理对象错综复杂,如果是采用人工的办法不仅费时费力,还容易出错,产生大量的废品。因此,引入一些自动化工具是十分有裨益的,这也是做好配置管理的必要条件。 正是因为如此,市场上出现了大量的自动化配置管理工具,这些工具的实现原理与基本机制

2021年如何选择autocad二次开发的工具

如何选择autocad二次开发的工具AutoCAD提供了三种主要的开发工具,分别是:使用C/C++的ObjectARX,VB/VBA的ActiveX开发,以及AutoLISP/VisualLISP开发工具。每一个开发者都有自己的爱好,但是抛开所有的偏爱,人们经常想知道哪一种最好,我到底应该选择哪种工具?给这些人的答案是:“它取决于你要完成什么工作。”每一种开发工具都有不同的东西,在某谢情况下都有不可比拟的优点。当决定究竟使用什么开发工具时,你可以问自己四个问题:哪种语言让我感觉最顺手(舒服)?我有多少时间?谁是我的目标用户,他们有多少使用AutoCAD的经验?我到底需要对AutoCAD控制到什么程度,需要多少可能的窗口类型来尽快完成工作?当我介绍不同开发工具所具有的不同功能时,你可能会明白为什么这四个问题是重要的。在谈及这几种开发工具时,我仅仅将它们看作在AutoCAD中使用的功能,而不将它们看作独立的应用程序。 ObjectARX: 在三种开发工具中,这种工具拥有对AutoCAD最深入的控制能力,能够提供最多类型的窗体。使用ARX可以向AutoCAD注册自己的命令,用户运行你的程序时无需了解关于AutoCAD更多的知识。这种便利的代价就是编制ARX程序比VBA和LISP程序需要花费更多的时间,因此用来编制简单的绘图工具有点浪费了。要掌握ARX的前提是你对C和C++非常熟悉,从个人观点来说,我最喜欢这种工具,但那是因为我做的99%的程序都是用C和C++语言,选择ARX意味着我

不用学习一门新语言。对我来说,回答“哪种语言让我感觉最顺手?”就足够了。ARX能够访问很多的AutoCAD底层工具(这些东西可能VBA和LISP并不能访问),这是大多数开发者选择ARX的主要原因,他们需要作一些用其他两种开发工具不能完成的工作。此外,这也是唯一一种能够确保你的代码安全(不被别人阅读或非法复制)的开发工具。如果你需要开发自定义实体,使用空间过滤,扩展一个使用其他开发工具的应用程序的功能,正在开发用于销售的第三方工具,或者用到一大堆用VBA和LISP不能访问的东西(或者费很大力气去实现的东西),那么ObjectARX是你的最佳选择。 VBA: 如果你是第一次开发AutoCAD应用程序,那么这就是最适合你的工具!这种工具对初学者来说非常友好,Visual Basic的代码阅读起来非常容易,很多初学者仅读了函数的名称就能理解一个问题。无论如何创建或者执行LISP命令来扩充你的访问手段,这种开发工具没有ARX和LISP那么多对AutoCAD访问的方式(译者注:这也有情可原,毕竟VBA和另外两种开发工具比起来年轻得多!)如果你对VBA非常精通,可以通过再对AutoCAD命令行进行仔细研究和分类(这句话可能不太通顺,原文是:you can subclass the AutoCAD command line),这样你就能实现LISP所能完成的所有功能!对VBA来说,最大的遗憾就是不能向AutoCAD注册命令,必须先用各种加在应用程序的方法将其对应的dvb文件加载,然后通过“工具/宏/宏”菜单项执行,或者在菜单项和自定义的工具栏按钮中执行,如果你的用户的基础知

实验一 Keil C51集成开发环境的使用练习、仿真与调试

实验一Keil C51集成开发环境的使用练习、仿真与调试 一、实验目的 1、熟悉Keil C51集成开发环境的使用方法 2、熟悉Keil C51集成开发环境调试功能的使用和DP-51PROC单片机综合 仿真实验仪的使用。 二、实验设备及器件 IBM PC机一台 DP-51PROC单片机综合仿真实验仪一台 三、实验内容 1、进行Keil C51集成开发环境的安装和使用练习。然后按照以下内容建立 文件并编译产生HEX文件。 ORG 0000H LJMP Main ORG 00F0H Main: MOV R7, #0 Loop: MOV R6, #0 DJNZ R6, $ DJNZ R6, $ DJNZ R6, $ DJNZ R6, $ DJNZ R7, Loop CPL P1.0 ; P 1 .0 取反 CPL P1.1 ; P 1 .1 取反 CPL P1.2 ; P 1 .2 取反 CPL P1.3 ; P 1 .3 取反 CPL P1.4 ; P 1 .4 取反 CPL P1.5 ; P 1 .5 取反 CPL P1.6 ; P 1 .6 取反 CPL P1.7 ; P 1 .7 取反 SJMP Main ; END 2、进行Keil C51集成开发环境的仿真调试练习。然后按照以下内容建立文 件并编译仿真调试。 ORG 8000H LJMP Main ORG 80F0H Main: MOV R7, #0 Loop:

MOV R6, #0 DJNZ R6, $ DJNZ R6, $ DJNZ R6, $ DJNZ R6, $ DJNZ R7, Loop CPL P1.0 ; P 1 .0 取反 CPL P1.1 ; P 1 .1 取反 CPL P1.2 ; P 1 .2 取反 CPL P1.3 ; P 1 .3 取反 CPL P1.4 ; P 1 .4 取反 CPL P1.5 ; P 1 .5 取反 CPL P1.6 ; P 1 .6 取反 CPL P1.7 ; P 1 .7 取反 SJMP Main END 四、实验要求 1、熟练掌握Keil C51集成开发环境的工程建立、编辑与编译功能。 2、熟练掌握结合DP-51PROC单片机综合仿真实验仪和Keil C51集成开发 环境进行仿真调试。 五、实验步骤 (1)用40针排线把DP-51PROC实验仪上 的A1区J76接口和A2区J79接口相 连,然后使用排线把A2区的J61接口 与D1区的J52接口相连。如右图所示。 (2)对DP-51PROC实验仪上电,然后设置 TKSMonitor5仿真器和使用软件 DPFLASH把MON51监控程序下载到 TKSMonitor5仿真器。 (3)关闭DPFLASH软件。把TKSMonitor5 仿真器的工作模式选择开关切换到 RUN处,然后按一下复位键(RST), MON51程序就开始运行了。此时,TKSMonitor5仿真器进入调试状 态。 (4)用户使用Keil C51集成开发环境建立工程、编辑与编译“实验内容” 所列的程序。然后按照(软件调试环境的设置)设置好,然后在编译 一次。 (5)此时用户就可以进行仿真调试。如果用户在退出仿真调试模式后想再进入仿真调试,可以先按一下TKSMonitor5仿真器的复位键(RST)。 用户可以在仿真调试环境下设置断点,单步,全速运行等。在调试过 程中用户可以看见D1区LED的亮灭是由用户程序来控制的。 六、实验思考题

实验一Keil集成开发环境的使用

实验报告纸 (院、系)自动化专业班组单片机与嵌入式系统课 实验一Keil集成开发环境的使用一、实验目的 熟悉Keil C51集成开发环境的使用方法 二、实验内容 学习如何使用Keil编译器编写单片机程序并调试 三、实验设备 PC机 四、实验步骤 1.新建文件夹 2.新建工程 3.配置工程 (1)按以下内容新建experiment_1.asm文件 ORG 0000H AJMP MAIN ORG 0100H MAIN: MOV SP, #60 ;给堆栈指针赋初值 LIGHT:

CPL P1.0 CPL P1.1 CPL P1.2 ACALL DELAY AJMP LIGHT DELAY: MOV R7,#10H DELAY0: MOV R6,#7FH DELAY1: MOV R5,#7FH DELAY2: DJNZ R5,DELAY2 DJNZ R6,DELAY1 DJNZ R7,DELAY0 RET END (2)在工程窗口的Source Group 1处单击鼠标右键弹出菜单,点其中的选项Add Files to Group ‘Source Group 1’;添加文件。 (3)在Project菜单的下拉选项中,单击Option for Target ‘Target 1’.在弹出的窗口中要完成以下设置: A.选择单片机芯片。不需要向工程添加启动代码;

B. 晶振频率的设置 C. Output标签下的Create HEX File 前小框中要打勾D.Debug标签选择Use Simulator(软件模拟) 4.编译工程 5. 查看结果(要求截图写进实验报告) (1)进入调试状态 (2)选择单步方式运行,观察Port 1窗口状态变化 (3)在Project Workspace观察R5、R6、R7、SP等的变化进入调试时的初始界面

实验报告:软件系统开发和工具的选择

软件系统开发和工具的选择 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。官方网站上称其能满足最苛刻的用户的需求。虽有点夸张,但既然敢这样说,也说明它的功能肯定不差。可扩展插件,有插件向导功能,让你很方便的创建自己的插件。 JAVA开发工具 1、JDK(JavaDevelopmentKit)Java开发工具集 从初学者角度来看,采用JDK开发Java程序能够很快理解程序中各部分代码之间的关系,有利于理解Java面向对象的设计思想。JDK的另一个显著特点是随着Java(J2EE、J2SE以及J2ME)版本的升级而升级。但它的缺点也是非常明显的就是从事大规模企业级Java应用开发非常困难,不能进行复杂的Java软件开发,也不利于团体协同开发。 2、JavaWorkshop 3、NetBeans与SunJavaStudio5 NetBeans是开放源码的Java集成开发环境(IDE),适用于各种客户机和Web应用。 SunJavaStudio是Sun公司最新发布的商用全功能JavaIDE,支持Solaris、Linux和Windows 平台,适于创建和部署2层JavaWeb应用和n层J2EE应用的企业开发人员使用。NetBeans 是业界第一款支持创新型Java开发的开放源码IDE。开发人员可以利用业界强大的开发工具来构建桌面、Web或移动应用。同时,通过NetBeans和开放的API的模块化结构,第三方能够非常轻松地扩展或集成NetBeans平台。NetBeans3.5.1主要针对一般Java软件的开发者,而JavaOneStudio5则主要针对企业做网络服务等应用的开发者。Sun不久还将推出ProjectRave,其目标是帮助企业的开发者进行软件开发。NetBeans3.5.1版本与其他开发工具相比,最大区别在于不仅能够开发各种台式机上的应用,而且可以用来开发网络服务方面的应用,可以开发基于J2ME的移动设备上的应用等。在NetBeans3.5.1

KeilC51开发系统基本知识.

Keil C51开发系统基本知识 Keil C51开发系统基本知识 1. 第一节系统概述 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编 相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇 编语言后再使用C来开发,体会更加深刻。 Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。 下面详细介绍Keil C51开发系统各部分功能和使用。 2. 第二节 Keil C51单片机软件开发系统的整体结构 C51工具包的整体结构,如图(1)所示,其中uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。 图(1) C51工具包整体结构图 3. 第三节 Keil C51工具包的安装 1. 1. C51 for Dos 在Windows下直接运行软件包中DOS/C51DOS.exe然后选择安装目录即可。完毕后欲使系统正常工作须进行以下操作(设C:/C51为安装目录): 修改Autoexec.bat,加入 path=C:/C51/Bin Set C51LIB=C:/C51/LIB Set C51INC=C:/C51/INC 然后运行Autoexec.bat 2. 2. C51 for Windows的安装及注意事项: 在Windows下运行软件包中WIN/Setup.exe,最好选择安装目录与C51 for Dos相同,这样设 置最简单(设安装于C:/C51目录下)。然后将软件包中crack目录中的文件拷入C:/C51/Bin目录下。 4. 第四节 Keil C51工具包各部分功能及使用简介 1. 1. C51与A51 1. (1) C51 C51是C语言编译器,其使用方法为: C51 sourcefile[编译控制指令] 或者 C51 @ commandfile 其中sourcefile为C源文件(.C)。大量的编译控制指令完成C51编译器的全部功能。包控C51输出文件C.LST,.OBJ,.I和.SRC文件的控制。源文件(.C)的控制等,详见第五部分的具体介绍。 而Commandfile为一个连接控制文件其内容包括:.C源文件及各编译控制指令,它没有固定的名字,开发人员可根据自己的习惯指定,它适于用控制指令较多的场合。

Keil C51集成开发环境的使用汇编

Keil C51集成开发环境的使用 Keil C51软件可以从相关网站下载并安装。安装好后,双击桌面快捷图标或在“开始”菜单中选择Keil μVision3,启动Keil μVision3集成开发环境,启动后界面如图4-3所示。 图4-3 Keil μVision3启动后的集成开发环境界面 (一)创建项目 Keil μVision3中有一个项目管理器,用于对项目文件进行管理。它包含了程序段环境变量和编程有关的全部信息,为单片机程序的管理带来了很大的方便。创建一个新项目的操作步骤如下: (1)启动μVision3,创建一个项目文件,并从器件数据库中选择一款合适的单片机型号。 (2)创建一个新的源程序文件,并把这个源文件添加到项目中; (3)为该单片机芯片添加或配置启动程序代码; (4)设置工具选项,使之适合目标硬件; (5)编译项目并创建一个*.hex文件。 下面以本章任务为例分别介绍每一步的具体操作。 1.新建项目文件 单击菜单“Project”→“New Project”命令,弹出如图4-4所示的新建项目对话框,指定保存路径,建议每个项目使用一个独立文件夹,例如本项目保存在“第4章”文件夹;然后,在“文件中名”输入项目名称,例如“4-1”,单击“保存”按钮即完成新项目的创建(系统默认扩展名为“.uv2”)。

保存路径 输入文件名 图4-4 新建项目对话框 此时弹出选择单片机的型号对话框,如图4-5所示,展开Atmel系列单片机,选择“AT89C51”,单击“确定”按钮完成设备的选择。 图4-5 选择单片机的型号对话框 单片机型号选择结束后,在μVision3工作界面左边的项目管理器中新增加了一个“Target 1”目标1文件夹,如图4-6所示。

软件开发工具与试题答案最新

系部 专业 班级 姓名 学号 第 1错误!未找到引用源。错误!未找到引用源。 页 共错误!未找到引用源。 10 页 第 2错误!未找到引用源。错误!未找到引用源。 页 共 10 页 装 线 订 考试方式:闭卷 考试时间:50分钟 卷面总分:150 分 一 选择题 (每小题2分,共40分) 1.高级程序设计语言实现了 A .计算机系统的各种资源自动管理 B.计算机语言对机器的独立性 C .由机器自己去安排执行的顺序 D.用自然语言描述人们设想的处理过程 2.软件工具的思想与方法得到了广泛的宣传是在20世纪的 A.50年代 B.60年代 C .70年代 D.80年代 3.在软件开发过程中,直接与变更要求关联的界面是 A .分析界面 B.编程界面 C .用户界面 D.管理界面 4.在软件开发过程中,确定子系统或模块划分的阶段是 A .需求分析阶段 B.分析设计阶段 C .程序编码阶段 D.系统维护阶段 5.软件开发工具的基础是 A .数据库 B.工具软件 C .信息库 D.文档 6.购买市场上已有的软件开发工具的优点是 A .减轻工作负担 B.比较便宜 C .发展水平较高 D.可靠程度较高 7.以下几种较有代表性的语言及其开发工具中支持面向对象非常好的是 A .VC B.PB C.C++Builder/Delphi D.JAVA 8.不属于...软件开发工具概念模式的是 A .数据流程图 B.实体关系图 C .关键路线图 D.数据字典 9.以下几种较有代表性的语言及其开发工具中发展潜力最差的是 A .VC B.VB C .PB D.JAVA 10.用来打开网页文件的编辑器是 A.C/C++编辑器 B.文本编辑器 C .任务编辑器 D.Web 浏览器 11.出现最早的软件开发工具是 A .计划工具 B.分析工具 C .设计工具 D.集成化工具 12.一个好的项目组应当具备的条件是 A .有事先制定详细的时间表,并且得到严格执行 B.成员有程序设计所需要的基本知识与技能 C .成员深入了解本项目所在的领域 D.成员熟悉软件开发的技术环境 13.在Eclipse 设置调试属性时,应选择Preferences 菜单中的选项是 A.General B.Install/Update C.Tasks D.Run/Debug 14.不属于...Eclipse 调试透视图的是 A .触发器 B.变量视图 C .编辑器 D.大纲视图 15.在Eclipse 代码模板编辑中,变量的开头字符和括起来的符号分别是 A.$和[ ] B.&和{ } C .¥和( ) D.$和{ } 16.在版本控制软件中,对程序冻结和解冻的操作人员只能是 A .程序员 B.程序员和管理员 C .管理员 D.用户 17.在Eclipse 的插件清单中,提供插件id 的标签是 A.plugin B.runtime C.requires D.extensions 18.在Eclipse 插件中,属于代码管理类插件是 A .CDT B.Lomboz C.PDT D.Log4E 19.在Rational Rose 建模的逻辑设计中,使用的图是 A .活动图 B.状态图 C .交互图 D.关联图 20.在Rational Rose 建模的设计中,系统中与实现无关的视图是 A .用例图 B.活动图 C .顺序图 D.协作图 题 号 一 二 三 四 五 总成绩 合分人 得 分 得 分 评阅人 软件开发工具考试试题 课程代码:03173

实验一KeilC集成开发环境的使用练习仿真调试和蜂鸣器驱动实验

实验一Keil C51集成开发环境的使用练习、仿真、调试 和蜂鸣器驱动实验 第一部分Keil C51集成开发环境的使用练习、仿真与调试 一、实验目的 1、熟悉Keil C51集成开发环境的使用方法 2、熟悉Keil C51集成开发环境调试功能的使用和DP-51PROC单片机综合仿真实验仪的使用。 二、实验设备及器件 1、IBM PC机一台 2、DP-51PROC单片机综合仿真实验仪一台 三、实验步骤 1、用40针排线把DP-51PROC实验仪上的A1区J76接口和A2区J79接口相连,然后使用排线把A2区的J61接口与D1区的J52接口相连。 2、用串口通信电缆连接TKSMonitor51仿真器的RS-232串行通信口,另一端连接PC机的串行口,把TKSMonitor51仿真器上的开关拨到LOAD模式,即下载状态下,用户应将TKSMonitor51仿真器的仿真头插入DP-51PROC单片机综合仿真实验仪的U13锁紧座上;然后ISP跳线JP14跳开(即不短接),按下复位按键“RESET”。此时,DP-51PROC单片机综合仿真实验仪即进入下载状态。对DP-51PROC实验仪上电,然后按照本书的第2章的2.5.1小节设置TKSMonitor5仿真器和使用软件DPFLASH把MON51监控程序下载到TKSMonitor5仿真器。 3、关闭DPFLASH软件。把TKSMonitor5仿真器的工作模式选择开关切换到RUN处,然后按一下复位键(RST),MON51程序就开始运行了。此时,TKSMonitor5仿真器进入调试状态。 4、新建工程文件和文件的编译、链接 (一)新建工程文件 1)打开“keil uvision2”软件,点击工具栏Project选项,在下拉菜单中选择New Project命令,弹出项目文件保存对话框,输入项目名后,点击保存按钮。 2)在工程建立完毕以后,uVision会弹出器件选择窗口,选择相应的器件型号。 例如:philips公司的p80/p87c52x2型单片机。 3)点击工具栏File选项,选中New命令,新建文件,输入源程序。 例如: ORG 8000H LJMP Main ORG 80F0H Main: MOV R7, #0 Loop: MOV R6, #0 DJNZ R6, $ DJNZ R6, $ DJNZ R6, $

各种软件系统开发工具

软件系统开发和工具的选择 一、实验目的与要求 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。官方网站上称其能满足最苛刻的用户的需求。虽有点夸张,但既然敢这样说,也说明它的功能肯定不差。可扩展插

GoogleChrome开发人员工具详解

G o o g l e C h r o m e开发人 员工具详解 集团企业公司编码:(LL3698-KKI1269-TM2483-LUI12689-ITT289-

G o o g l e C h r o m e浏览器开发人员工具,让网页开发变得更轻松无论是IE6/7的InternetExplorerDeveloperToolbar或者是IE8自带的DeveloperTools,还是Firefox的Firebug,以及Safari的WebInspector和Opera的Dragonfly,他们的宗旨只有一个——帮助程序员方便、更高效地进行网页开发。 作为浏览器中生力军,GoogleChrome浏览器(4.0及以上版本)也自带了丰富的开发人员工具,让您可以随时随地对任何网页的CSS、HTML和JavaScript进行实时编辑、调试以及监控。 GoogleChrome浏览器开发人员工具不仅仅能帮助您诊断、修复在网页加载、脚本执行以及页面呈现中出现的问题,还可以帮助您最大限度地了解您的网页或网络应用程序对CPU以及内存的使用情况。 本篇教程将从以下几部分系统地讲解如何使用GoogleChrome浏览器开发人员工具来帮助您的开发: 准备工作 如何使用元素(Elements)面板 如何使用资源(Resources)面板 如何使用脚本(Scripts)面板 如何使用时间轴(Timeline)面板 如何使用剖析(Profiles)面板

如何使用存储(Storage)面板 如何使用审计(Audits)面板 如何使用JavaScript控制台(Console) 准备工作 要开始使用开发人员工具,请先下载。(如果您想试用最新版本的的开发人员工具,可以下载(英文网页)GoogleChrome浏览器。) 在GoogleChrome浏览器安装完成后,您可以打开自己感兴趣的网页或网络应用程序,然后通过下面任何一种方式进入开发人员工具:点击位于浏览器用户界面右上角的“页面”下拉菜单,然后选择“开发人员”→“开发人员工具”。 右键点击网页上的任一元素,在弹出菜单中选择“审查元素”。 在Windows或Linux操作系统上,使用Ctrl+Shift+I快捷键打开 开发人员工具(或使用Ctrl+Shift+J直接进入JavaScript控制 台)。 在Mac上,使用Command+Option+I快捷键打开开发人员工具(或 使用Command+Option+J直接进入JavaScript控制台)。 现在您应该已经看到开发人员工具的窗口了吧?在窗口的最上方的工具栏里排列着8个图标,分别对应不同的功能,每一个图标点击后都会打开相应的调试面板,帮助您获取各种不同的信息,如DOM树、资源占用

Keil C51 集成开发环境的使用实验报告

Keil C51 集成开发环境的使用 姓名:专业:学号:成绩: 一、实验目的 1、熟悉Kei C51集成开发环境的基本操作; 2、掌握简单Kei C51和汇编程序的编写、调试。 二、实验内容 1、仔细阅读教材相关内容,掌握KeiC51集成开发环境的基本功能; 2、分别用汇编和C51编写清零程序,把片外RAM中的7000H-70FFH单元 中内容清零; 3、分用汇编和C51编写查找相同个数程序。统计片外RAM7000H-700FH中 “00H”的个数并保存在片内RAM30H单元中。 三、实验原理与步骤 1、清零程序 (1)汇编语言程序设计框图 (2)实验步骤 用连续或单步方式运行程序,检查7000H-70FFH单元中执行内容变化。 (3)假使把7000H-70FFH中的内容改成FFH,如何修改程序。 (4)用C51 重新编写该程序,运行并查看结果。 2、查找相同数个数 (1)汇编语言程序设计框图

(2)实验步骤 ①在7000H-700FH单元中放入随机数,其中几个单元输入0; ②用连续或单步方式运行程序; ③观察片内RAM 30H的内容,应显示“00H”的个数。 (3)用C51重新编写程序,运行并查看结果。 四、实验程序 1、清零程序 (1)汇编语言 ORG 0000H MOV R0,#0100H MOV DPTR,#7000H MOV A,#0 LOOP:MOVX @DPTR,A INC DPTR DJNZ R0,LOOP END (2) C语言 #include void main() { char xdata *p=0x7000; int t=0x7100-0x7000 ; while(t--) {*p=00; p++; } } 2、查找相同数个数

系统软件开发的挑选方式

软件系统开发到哪里做 当前,软件系统开发俨然成了企业圈的新潮流。别说企业太小,不论大小,它们都需要APP来延伸业务。然而,由于时间、人工成本高昂,中小企业并不适合自己组建开发团队,它们的最好选择就是找一个靠谱的软件开发商。 于是,如何选择一个靠谱的软件开发商,就成了中小企业APP开发中最为关心的问题。何为靠谱?能解决核心需求就是靠谱! 数据显示,超过三分之一的客户,都会担忧以下3个问题: 1、数据迁移 有些公司原先已经有一套系统,但又有换系统的打算。当公司需要的不止是一套新系统,还有旧数据时,就需要数据迁移。 迁移过程中,不仅要求数据要完整、迁移快,最重要的是数据够安全。大数据时代,数据本身就是企业竞争力的重要部分。 2、软件稳定性 随着日常使用的用户逐渐增加,不稳定的系统容易在使用过程中超过界线,完全奔溃,并且修复起来往往更加复杂。软件最好在运行前就测试长期稳定能力,防患于未然。 然而,在实际使用中,我们只能尽可能提高测试的可靠性,却仍然很难保证通过测试的系统就绝对稳定。 3、标准化 经过时间沉淀,行业必然生成一个默认的标准。且企业往往不需要太多太先进的功能,因此,标准化软件系统适合企业使用。作为行业模版,它凝聚了前人屡屡试错之后得出的宝贵经验,软件设计更合理实用。 那么,企业该怎么选择适合自己的软件开发商呢? 一、选择有定制化服务的软件系统开发商 大大神上面就全是这样的软件服务产品经理,它提供免费的定制化方案,提供软件系统开发服务。在方案设计时,就把数据迁移放在计划中,成本和风险都降到最低。 二、选择提供后续服务的软件系统开发商 大大神深知软件需要稳定,却很难保证绝对地稳定,所以只能反复测试软件临界点,试探出其响应时间、应用延迟时间、最大吞吐量和同时使用的用户数以保证系统的正常运行。然而,对用户来说,性能就是响应时间。他们不关心响应时间跟软件硬件有什么关系,只关心体验。 三、选择耐心细致的软件系统开发商 就像一个家,家具总会随居住时间增加,企业软件也一样。在使用过程中,随着业务增加,其数据和信息量也不断增加。 四、选择具备“标准化”条件的软件系统开发商 不仅行业有默认的标准,软件系统开发商自身也有。拥有一个标准的开发流程,说明该开发商开发经验相对丰富,沿用这一套标准开发出来的系统BUG少,这对软件开发商和企业来说是双向选择。 对企业来说,开发自己的软件系统,势在必行。中小企业要选软件开发商,成本够不够低是一回事,如果开发出来的软件错漏百出,填补起来势必要花更多成本和精力,可谓得不偿失。 挑靠谱的软件开发商,才是对自己负责。至于怎么挑,就看这四点。 你们的所有疑虑担心,大大神能够解决,大大神整合了行业领先的产品经理资源,为用户层层严选,为的就是让大家更安心的做出更好的项目。 感谢看到这里的你。

嵌入式LINUX开发工具选择

嵌入式Linux具有稳定、可伸缩及开放源代码等特点,可兼容多 种处理器和主机,广泛适用于各种产品和应用。但是,交叉编译、 设备驱动程序开发/调试,以及更小尺寸等要求对嵌入式Linux开 发者来说都是严峻的挑战。为应对这些挑战,针对嵌入式Linux开 发的专用工具应运而生,而且发展十分迅猛。 但是,许多这类开发工具都不兼容非X86平台,而且也没有很好 地实现归档备案或集成。在其它开发环境下,组件间的高度集成并 没有完全兑现。因此,要想完全从这些免费的软件组件开始创建 一个完整的跨平台开发环境,开发者应意识到这将需要大量的调 研、实施、培训和维护方面的工作。 Linux 是少数既可以在嵌入式设备上运行也可作为开发环境的操 作系统之一。这一特性可让开发者在转向此开发系统之前于常用硬 件(比如X86桌面系统)之上开发、调试和测试应用程序和库,因 此可减少对标准参考平台和指令集仿真器的依赖。这一技术仅适用于应用程序和库,但不适用于设备驱动程序,因为后者的开发依赖于 Linux架构。 开放源代码团体及一些软件供应商可提供设备驱动程序开发工具。由于设备驱动程序比标准应用程序距离硬件更近,因此它们的开发比较困难。所幸的是,Linux 桌面系统可以利用一些Windows及其它操作系统所没有的工具。有足够经验开发设备驱动程序的开发人员可能已经习惯将Linux作为他们的桌面开发系统了。 Linux的快速发展及其桌面方案的不断涌现提出了一个重要问题:所选择的工具方案怎样在不同的Linux分布式系统上运行?它们依赖于主机平台的软件配置吗? 有些Linux工具提供独立于主机平台的开发环境,包括一系列可支持开发工具的应用软件、库和实用程序。这一方法几乎将开发环境与主机配置完全隔离开来,因此主机可以是任何Linux分布式系统,而且任何更新和修改都不会影响开发环境的功能。 这种方法的主要缺点是对存储空间的要求有所增加――约200MB,因为它自己实际上相当于一个微型Linux分布式系统。 可用的工具 一个嵌入式Linux产品的开发需要几个阶段,包括为目标板配置和构建基本Linux OS;调试应用程序、库、内核及设备驱动程序/内核模块;出货前最终方案的优化、测试和验证。 有数百种开放源代码开发工具可供选择。只要开发者原意花时间和精力去调研、实施和维护一系列各不相同的工具,总能找出一个完整的解决方案,完成几乎任何开发任务。

Keil C51集成开发环境的使用

实验题目:实验一Keil C51集成开发环境的使用姓名:专业:学号:成绩 一、实验目的 1.熟悉Keil C51集成开发环境的基本操作; 2.掌握简单C51和汇编程序的编写、调试。 二、实验内容 1.仔细阅读附录2及教材(陈海宴编著)相关内容,掌握Keil C51集成开发环境的基 本功能。 2.分别用汇编语言和C51语言编写清零程序。把片外RAM中的7000H-70FFH单元内容清零。 3.分别用汇编语言和C51编写查找相同数个数的程序。统计片外RAM 7000H-700FH 中“00H”的个数并保存在片内RAM 30H单元。 三、实验原理及步骤 1.清零程序 (1)汇编语言程序设计框图如图1.1 (2)实验步骤: 用连续或单步方式运行程序,检查7000H-70FFH单元中执行程序前后的内容变化。 (3)把7000H-70FFH中的内容改成FF (4)用C51重新编写该清零程序,运行程序并查看结果。 2.查找相同数个数 (1)汇编语言程序设计框图如图1.2

图1.1 图1.2 (2)实验步骤: ①在7000H-700F单元中放入随机数,其中几个单元输入0; ②.用连续或单步方式运行程序; ③.观察片内RAM 30H的内容,并显示“00H”的个数。 (3)用C51重新编写该清零程序,运行程序并查看结果。 四、电路设计及调试程序设计与调试 (1)实验程序: 清零汇编程序ORG 0000H 清零C程序#include CLEAR:MOV R0,#00H main() { MOV DPTR,#7000H char xdata *p=0x7000; CLEAR1:CLR A int t=0x7100-0x7000 ; MOVX @DPTR,A while(t--) INC DPTR INC R0 {*p=01; CJNE R0,#00H,CLEAR1 p++; SJMP $ } END }

论软件开发平台的选择和应用

论软件开发平台的选择和应用 摘要: 软件开发平台是一种软件开发工具,以通用技术架构(如MV)为基础,集成常用建模工具、二次开发包、基础解决方案等而成。可以大幅缩减编码率,使开发者有更多时间关注客户需求,在项目的需求、设计、开发、测试、部署、维护等各个阶段均可提供强大的支持。这里我们注重说.Net和Java EE. 关键字: 软件开发平台建模工具开发需求 早期的软件开发没有系统的方法可以遵循,基本是一个个体化的过程。但随着软件的数量不断增长,需求日趋繁多,开发成本急剧提高,维护难度也越来越大,而失败的软件开发项目却屡见不鲜,导致大量的财产流失。“软件危机”就这样被提出来了:1968年北大西洋公约组织的计算机科学家在联邦德国召开的国际学术会议上第一次提 出了“软件危机”(software crisis)这个名词。软件开发人员在不断的找更适合软件开发的平台,开发性能更优质的软件。 1软件开发以及软件开发平台 1.1什么是软件开发 软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。软件开发是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程。软件一般是用某种程序设计语言来实现的。通常采用软件开发工具可以进行开发。软件分为系统软件和

应用软件,并不只是包括可以在计算机上运行的程序,与这些程序相关的文件一般也被认为是软件的一部分。软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法、软件的总体结构设计和模块设计、编程和调试、程序联调和测试以及编写、提交程序。 软件开发平台源于繁琐的实践开发过程中。开发人员在实践中将常用的函数、类、抽象、接口等进行总结、封装,成为了可以重复使用的“中间件”,而随着“中间件”的成熟和通用,功能更强大、更能满足企业级客户需求的——软件开平台应运而生。 1.2软件开发平台的种类 目前国内的软件开发平台,除国际品牌如IBM,国内平台商比较成熟的有Justep、普元、昕友亿方、创恒信、北京百特安茂信息技术有限公司提供的VisualSet开发平台,以及山东金现代信息技术有限公司出品的轻骑兵软件开发平台等,部分管理软件企业也开始借平台提升企业竞争力,如用友。 2如何选择软件开发平台? 由于开发环境、开发人员、功能定位、行业背景等的不同,不同品牌的平台存在较大差异。如何选择软件开发平台是我们值得关注的。 2.1软件开发中需要用的工具 项目管理:Project,TeamLab,Trello

Keil c51集成开发环境入门及常用指令

熟悉Keil c51集成开发环境及常用指令实验 一、实验目的: ⑴了解80C51典型应用系统的开发过程,熟悉Keil c51集成开发环境。 ⑵掌握单步执行程序,查看专用寄存器和单片机RAM的执行结果。 ⑶掌握80C51的寻址方式及常用指令的使用方法。 二、实验内容: (1)基本指令练习 (2)数据传送(循环方式) 三、实验步骤: (1)启动计算机; (2)进入Keil c51集成开发环境; (3)在Keil c51集成开发环境中, 编辑源程序; (4)源程序编辑好后,就可对源文件进行编译,生成目标代码。 (5)运行、调试程序和结果检查。 (6)分别采用单步、宏单步执行到光标处等命令运行程序,观察有关单元中的内容。 (7)修改有关单元中的内容,再观察有关单元中的内容。 四、思考题 1、分别执行如下3段程序,并在调试状态下观察有关单元中的内容。 汇编程序1:顺序执行的程序 ORG 0000H SJMP MAIN ORG 0030H MAIN: MOV SP,#6FH MOV R0,#40H MOV R1,#30H MOV 30H,#50H MOV A,#40H MOV @R0, A ;说明哪一个存储单元的内容与A中内容相等。 INC A MOV A,@R1 ;说明A中的内容,哪一个存储单元的内容传输给A PUSH ACC POP 32H ;说明SP指针的变化,32H中的内容 MOV A,#5FH SWAP A ;说明A中的内容 MOV DPTR, #0030H MOVX @DPTR,A 汇编程序2:循环程序

XUNHUAN1: MOV R0,#30H MOV R2,#10H CLR A ;这3条指令的作用 LOOP1: MOV @R0,A INC A INC R0 DJNZ R2,LOOP1 ;R2的作用; ;循环程序执行完之后,指出32H,37H,3BH,3FH存储单元中的值。 XUNHUAN2: MOV R0,#30H MOV R1,#40H MOV R2,#10H LOOP2: MOV A,@R0 MOV @R1,A INC R0 INC R1 DJNZ R2,LOOP2 ;说明这段程序的功能 汇编程序3: PANDUAN1: MOV 30H,#10H MOV 31H,#4BH MOV R0,#30H MOV R1,#31H PAN0: MOV A,@R0 CLR C SUBB A,@R1 JNC PAN1 MOV A,@R0 MOV 40H,@R1 MOV @R0,40H MOV @R1,A PAN1: NOP ; END ;说明这段程序的功能 2、编程完成:单片机内部RAM40H-4FH置初值AOH~AFH,然后将40H~4FH 的内容传送到外部RAM中的2000H~200FH单元,再把外部数据RAM中的 2000H~200FH单元的内容传送到单片机内部RAM中的50H~5FH单元。 五、预习要求:1、阅读教科书中单片机汇编语言指令系统,重点掌握的指令有数据传 送、判断跳转指令的使用方法。 2、阅读Keil c51集成开发软件说明书,掌握集成开发软件的进入、退出 方法。重点掌握单步运行程序的方法和执行到光标处运行程序的方法。 六、实验报告: 1回答思考题1 2写出调试通过的思考题2的程序

相关文档
最新文档