ImageVerifierCode 换一换
格式:DOCX , 页数:92 ,大小:1.07MB ,
资源ID:2965398      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2965398.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Zworld培训教材中文.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Zworld培训教材中文.docx

1、Zworld培训教材中文Z-world技术培训教材第一章 Dynamic C介绍1.1导言Dynamic C是用于编写嵌入式应用软件的一套集成的开发系统。它可运行在IBM兼容机上,是专为Z-World控制器和基于Rabbit微处理器的控制器而设计的。Rabbit 2000是高性能的8位微处理器,可以处理大约50,000句C语句或1M字节的C语言应用程序。1.1.1 Dynamic C的特点Dynamic C集成 了以下开发功能: 编辑 编译 链接 装载 调试事实上,编译、链接和装载是同一项功能。Dynamic C有一个简单易用的内置文字编辑器,可以在源代码级或机器代码级交互式执行或调试程序。下

2、拉菜单和指令快捷键使得Dynamic C的使用更为简单。Dynamic C还支持使用汇编语言编程,编写汇编指令时不需要离开C或开发系统环境,并且C和汇编语言还可以混合应用。Dynamic C环境下的调试可以使用Printf命令、监视表达式、设置断点以及其它高级调试方法。监视表达式可用于计算C语言中包括目标程序变量和函数的表达式。其中。当执行到断点处或系统处在运行程序状态,可以计算出监视表达式的值。Dynamic C在标准C语言的基础上又进行了扩展(比如共享变量、保护变量,costatement和 cofunction),来支持实时的嵌入式系统的开发。中断服务程序可直接由C语言编写。而且,Dyn

3、amic C支持协作多任务及抢先多任务处理。Dynamic C带有许多函数库,并且全部为源代码形式。这些库支持实时编程、芯片级I/O,并提供标准字串和数学函数。1.1.2 速度Dynamic C能够直接对内存进行编译,函数和库则可进行远程编译、链接及下载。在速度较快的PC机上,当波特率达到115,200bps时,Dynamic C可在5秒种之内下载30,000个字节的代码。1.1.3 Dynamic C版本的发展目前Dynamic C的版本共有以下三种:Dynamic C 32 for Z180Dynamic C SE for Rabbit2000Dynamic C Premier for R

4、abbit2000因为Z-world早期的产品使用的是ZILOG 公司的产品Z180作为嵌入式产品的微处理器,而相应的开发环境就是Dynamic C 32,它是专为基于Z180微处理器的单板机设计的。Dynamic SE 版本是为基于Rabbit微处理器的单板机设计的。 Dynamic C 在Z180板和Rabbit板上的操作是不同的。Dynamic C SE是经济开发包的一部分。 有关于硬件和软件的文档,标准C库函数文档,FFT文档和驱动库文档。这些开发包对于ZWORLD的产品是一个性价比非常高的手段。Dynamic C SE 是一个完整的开发平台,但是不包括所有Dynamic C Prem

5、ier的性能。Dynamic C Premier是完全版的基于Rabbit 2000的Z-world单板机的开发平台,功能主要有: 内嵌Micro C/OS-II RTOS系统 支持TCP/IP,包括FTP、PPP、HTTP(SSI、CGI、COOKIES、)、DHCP Client、SMYP mail Client、POP3、TFTP。 Realtek以太网芯片驱动程序包 快速傅立叶变换(FFT)函数库 丰富的函数库、程序实例原代码、Z-world全系列产品文档及手册 SPI及I2C驱动 AES(高级加密算法) 便利的软件网上下载升级。1.2 Dynamic C相对标准C的提高和不同之处Dy

6、namic C与运行于PC机或UNIX环境下的标准C有所不同。其改进是为了帮助用户编写更为可靠的嵌入式控制软件。如果不对标准C做任何改动的话,是不能够将其应用于嵌入式环境中的。标准C的许多规则不适于嵌入式系统的开发,例如,标准C只能在已有当前操作系统,并且程序开始时执行记录应为空的情况下才能够运行,而嵌入式系统的存储器可能是电池供电型,并且在经过一个电池周期后保持数据不变。Z-World已经在一些领域中实现了对C语言的扩展。1.2.1 Dynamic C在功能上的提高Dynamic C在许多功能上都有所提高,下面列出其中的一部分: 函数链,这是一个Dynamic C特有的概念,它允许在一个或多

7、个函数中包含特殊的代码块。当程序执行到指定的函数链时,将执行该串中所有的代码块。函数链支持软件的初始化、数据恢复以及其它多种请求任务。 Costatement,可以实现在一个程序中模拟多个并发事件。 Cofunction,允许在一个程序中模拟协作的过程。 Slice语句支持单个程序中的抢先过程。 Dynamic C中的中断关键字允许程序员使用标准C来编写中断服务程序。 Dynamic C支持嵌入汇编指令及独立汇编指令。 Dynamic C含有共享和保护关键字,用于实现受保护数据在不同区域的共享或将其存储在电池供电的存储器中。Dynamic C的特征之一就是允许程序员最大限度的使用扩展内存。它支

8、持微处理器内的1M地址空间,由内存管理单元对这些地址空间进行分段。一般由Dynamic C实现内存管理,但有时也由程序员自己控制。Dynamic C的关键字和指令有助于将代码和数据存放在适当的位置。关键字root选择了根内存(地址在64K物理地址空间内),关键字xmem选择的是扩展内存,可以是1024K或1M代码空间中的任意位置。在函数原型中,关键字root和xmem有着重要的用途,可用来生成更多的高效指令。它们在使用过程中必须保证函数原型与函数定义之间的一致。指令#memmap支持进一步控制。详情参见第九章“内存管理”。1.2.2 Dynamic C与标准C的不同之处这里概述了Dynamic

9、 C与标准C的主要不同之处,详细讨论请参见语言及关键字两章。 如果在声明中初始化了一个变量(如int x=0),则它将被存储在闪存中,而且在程序中不能使用赋值语句改变它的值。在使用Dynamic C 7.x版本运行时,这种声明将引发警告信息,通过使用const关键字:const int x=0可以消除这个警告。如果要在RAM中初始化静态变量,则要使用#GLOBAL INIT。 默认值存储类是static的,而非auto。这就避免了嵌入式系统中许多由于使用动态变量而引发的的错误。当使用Dynamic C 7.x版本运行时,默认值存储类可通过编译指令#class auto变为动态。 Dynamic

10、 C摒弃了标准C所包括的大量头文件,因为Dynamic C有一个系统库,并能在用户程序编译之前,自动为编译器提供函数原型及相似的头文件信息。这些可以通过指令#use来实现。这对于自己编写库文件的用户来说十分重要,详情请参见语言篇中的模块部分。一定要注意#use指令代替了#include指令,Dynamic C中已经不支持#include指令了。 用户在声明函数指针时不能使用变量,只有当使用指针进行间接调用时才可以使用变量,但在调用过程中,编译器不会检查变量列表以确保其准确性。 Dynamic C不支持位域和枚举类型,也不支持对程序中不同部分的单独编译,但能够很容易的引用关键字extern和re

11、gister。1.2.3 用于Rabbit的Dynamic C与用于Z180的Dynamic C之间的区别与Z180或386EX相比,Rabbit使用Dynamic C时的一个重要特征在于启动时不要求在对象中包含BIOS核心程序。这是因为BIOS核心程序已经作为一段C源程序存储在Dynamic C中了。启动时,Dynamic C可实现对BIOS核心程序进行编译并把它装载到对象中,这一过程可以通过使用Rabbit CPU的引导程序方法和由Rabbit产品开发工具包所提供的特殊编程电缆来完成。这种方法有着以下诸多优点。 不需要使用插槽式flash。由于Dynamic C可以与含空白flash EP

12、ROM的对象实现通讯,因而BIOS的更新可在无flash-EPROM烧制的情况下进行。空白flash EPROM可被安装于电路板表面,因而节省了Z-World及其它电路板生产商的生产成本,并且在Web上实现了BIOS更新。 高级用户可以直接查看和修改BIOS核心程序。 电路板设计者能够设计出基于Rabbit CPU的Dynamic C兼容电路板,这一设计可以通过遵循简单的设计原则并运用Z-World提供的BIOS程序框架来完成。 Dynamic C 7.x版本的一个重要特征就是它可以通过因特网或当地以太网进行编程和调试。这需要单独使用Rabbit链接电路板,也可作为Rabbit开发工具包中一个

13、的选项。1.3 特征概述本节提供了Dynamic C运行界面的简单介绍以及在嵌入式编程时非常有用的一些选项。开发功能程序载入后将显示在编辑窗口中。单击任务栏中的Compile或使用Compile菜单可进行程序编译。编译之后的程序将被译成机器语言并通过串行口下载到对象中。程序的执行从main函数中的第一条语句开始,运行请按F9 键或在Run菜单中选择Run。如果想按键一次就完成编译和运行,应使用F9 键(运行键);如果程序还未编译,运行键可自动对其进行编译。单步是通过使用F8键实现的。使用F7键也可以实现程序的单步执行。使用F7键时,子程序也将按步执行;而使用F8键时,子程序将快速的一步执行完毕

14、。设置断点如果程序已经编译通过,可使用F2键来设置/去除断点。无论程序遇断点停止或是正在运行当中都可以对其设置断点。当程序执行到断点处时暂停。监视表达式监视表达式是一种C表达式,可在监视窗口中依照指令进行求值。基本上,表达式可以是C中任意类型的公式,包括运算符、变量以及函数调用,但不包括for或 switch之类的多行语句。在监视窗口中有一个监视表达式列表,如果使用了单步执行,那么在每一步执行过程中都会求取这些表达式的值。另外,还可以通过使用来对监视表达式进行求值。如果你的程序中包含runwatch ( )语句并经常执行它的话,那么即使是在运行过程中也可以使用来求取监视表达式的值。注意:在这种

15、情况下,只能包含全局变量的表达式可以进行求值,而且对这个表达式的求值就像对不带局部变量的独立函数求值一样。CostatementCostatement是Dynamic C的一种扩展,允许用户编写协作多任务程序。关键词(如abort和 waitfor)可用于控制多任务操作。1.3.1 Complier/Edit简介 Coldload.binPolit.binBIOS应用程序1.3.2 编译和运行模式编译模式:Compile include debug codeCompile without debug code运行模式:Polling 模式/调试模式非调试模式1.4 BIOS1.4.1 BIOS的功能 Dynamic C把用户的程序编译到开发板时,会首先编译BIOS(基本输入输出系统),它将作为用户程序一个完整的部分存在。BIOS是一个独立的程序文件,包含连接Dynamic C所需要的所有程序。通常它还包含一个面向用户特定硬件的软件接口。Dynamic C库文件的特定的驱动器需要BIOS程序来实现对硬件相独立的任务。BIOS支持以下服务:系统启动,包括内存配置、等待状态和时钟速度。读并对实时时钟编程。操作和管理周期性中断

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1