MSP430系列C编译器编程指南第1章 安装和文档关系图本章说明如何安装和运行IAR 产品的命令行和Windwos Workbench 版本并给出与产品一起提供的用户指南的概述请注意某此产品只有命令行版本且根据用户正在使用的产品或平台资料可能稍有不同1.1 命令行版本本节叙述怎样安装和运得IAR 系统工具的命令版本1.1.1 用户需要什么 DOS 4.X 或更高版本此产品也和运行在Windows95, Windows NT 3.51 或更高版本或Windows 3.1 X 下的DOS 窗口相兼容 至少 10M 字节的自由磁盘空间 最少有 4M 字节的RAM 可供IAR 应用程序使用
上传时间: 2013-11-22
上传用户:agent
at91rm9200启动过程教程 系统上电,检测BMS,选择系统的启动方式,如果BMS为高电平,则系统从片内ROM启动。AT91RM9200的ROM上电后被映射到了0x0和0x100000处,在这两个地址处都可以访问到ROM。由于9200的ROM中固化了一个BOOTLOAER程序。所以PC从0X0处开始执行这个BOOTLOAER(准确的说应该是一级BOOTLOADER)。这个BOOTLOER依次完成以下步骤: 1、PLL SETUP,设置PLLB产生48M时钟频率提供给USB DEVICE。同时DEBUG USART也被初始化为48M的时钟频率; 2、相应模式下的堆栈设置; 3、检测主时钟源(Main oscillator); 4、中断控制器(AIC)的设置; 5、C 变量的初始化; 6、跳到主函数。 完成以上步骤后,我们可以认为BOOT过程结束,接下来的就是LOADER的过程,或者也可以认为是装载二级BOOTLOER。AT91RM9200按照DATAFLASH、EEPROM、连接在外部总线上的8位并行FLASH的顺序依次来找合法的BOOT程序。所谓合法的指的是在这些存储设备的开始地址处连续的存放的32个字节,也就是8条指令必须是跳转指令或者装载PC的指令,其实这样规定就是把这8条指令当作是异常向量表来处理。必须注意的是第6条指令要包含将要装载的映像的大小。关于如何计算和写这条指令可以参考用户手册。一旦合法的映像找到之后,则BOOT程序会把找到的映像搬到SRAM中去,所以映像的大小是非常有限的,不能超过16K-3K的大小。当BOOT程序完成了把合法的映像搬到SRAM的任务以后,接下来就进行存储器的REMAP,经过REMAP之后,SRAM从映设前的0X200000地址处被映设到了0X0地址并且程序从0X0处开始执行。而ROM这时只能在0X100000这个地址处看到了。至此9200就算完成了一种形式的启动过程。如果BOOT程序在以上所列的几种存储设备中找到合法的映像,则自动初始化DEBUG USART口和USB DEVICE口以准备从外部载入映像。对DEBUG口的初始化包括设置参数115200 8 N 1以及运行XMODEM协议。对USB DEVICE进行初始化以及运行DFU协议。现在用户可以从外部(假定为PC平台)载入你的映像了。在PC平台下,以WIN2000为例,你可以用超级终端来完成这个功能,但是还是要注意你的映像的大小不能超过13K。一旦正确从外部装载了映像,接下来的过程就是和前面一样重映设然后执行映像了。我们上面讲了BMS为高电平,AT91RM9200选择从片内的ROM启动的一个过程。如果BMS为低电平,则AT91RM9200会从片外的FLASH启动,这时片外的FLASH的起始地址就是0X0了,接下来的过程和片内启动的过程是一样的,只不过这时就需要自己写启动代码了,至于怎么写,大致的内容和ROM的BOOT差不多,不同的硬件设计可能有不一样的地方,但基本的都是一样的。由于片外FLASH可以设计的大,所以这里编写的BOOTLOADER可以一步到位,也就是说不用像片内启动可能需要BOOT好几级了,目前AT91RM9200上使用较多的bootloer是u-boot,这是一个开放源代码的软件,用户可以自由下载并根据自己的应用配置。总的说来,笔者以为AT91RM9200的启动过程比较简单,ATMEL的服务也不错,不但提供了片内启动的功能,还提供了UBOOT可供下载。笔者写了一个BOOTLODER从片外的FLASHA启动,效果还可以。 uboot结构与使用uboot是一个庞大的公开源码的软件。他支持一些系列的arm体系,包含常见的外设的驱动,是一个功能强大的板极支持包。其代码可以 http://sourceforge.net/projects/u-boot下载 在9200上,为了启动uboot,还有两个boot软件包,分别是loader和boot。分别完成从sram和flash中的一级boot。其源码可以从atmel的官方网站下载。 我们知道,当9200系统上电后,如果bms为高电平,则系统从片内rom启动,这时rom中固化的boot程序初始化了debug口并向其发送'c',这时我们打开超级终端会看到ccccc...。这说明系统已经启动,同时xmodem协议已经启动,用户可以通过超级终端下载用户的bootloader。作为第一步,我们下载loader.bin.loader.bin将被下载到片内的sram中。这个loder完成的功能主要是初始化时钟,sdram和xmodem协议,为下载和启动uboot做准备。当下载了loader.bin后,超级终端会继续打印:ccccc....。这时我们就可以下在uboot了。uboot将被下载到sdram中的一个地址后并把pc指针调到此处开始执行uboot。接着我们就可以在终端上看到uboot的shell启动了,提示符uboot>,用户可以uboot>help 看到命令列表和大概的功能。uboot的命令包含了对内存、flash、网络、系统启动等一些命令。 如果系统上电时bms为低电平,则系统从片外的flash启动。为了从片外的flash启动uboot,我们必须把boot.bin放到0x0地址出,使得从flash启动后首先执行boot.bin,而要少些boot.bin,就要先完成上面我们讲的那些步骤,首先开始从片内rom启动uboot。然后再利用uboot的功能完成把boot.bin和uboot.gz烧写到flash中的目的,假如我们已经启动了uboot,可以这样操作: uboot>protect off all uboot>erase all uboot>loadb 20000000 uboot>cp.b 20000000 10000000 5fff uboot>loadb 21000000 uboot>cp.b 210000000 10010000 ffff 然后系统复位,就可以看到系统先启动boot,然后解压缩uboot.gz,然后启动uboot。注意,这里uboot必须压缩成.gz文件,否则会出错。 怎么编译这三个源码包呢,首先要建立一个arm的交叉编译环境,关于如何建立,此处不予说明。建立好了以后,分别解压源码包,然后修改Makefile中的编译器项目,正确填写你的编译器的所在路径。 对loader和boot,直接make。对uboot,第一步:make_at91rm9200dk,第二步:make。这样就会在当前目录下分别生成*.bin文件,对于uboot.bin,我们还要压缩成.gz文件。 也许有的人对loader和boot搞不清楚为什么要两个,有什么区别吗?首先有区别,boot主要完成从flash中启动uboot的功能,他要对uboot的压缩文件进行解压,除此之外,他和loader并无大的区别,你可以把boot理解为在loader的基础上加入了解压缩.gz的功能而已。所以这两个并无多大的本质不同,只是他们的使命不同而已。 特别说名的是这三个软件包都是开放源码的,所以用户可以根据自己的系统的情况修改和配置以及裁减,打造属于自己系统的bootloder。
上传时间: 2013-10-27
上传用户:wsf950131
• 8255的控制字• 8255的工作方式1和工作方式2• DAC0832工作方式• ADC0809工作方式@ 要求 掌握 :• 8255接口芯片 • MCS-51单片机与D/A转换器的接口连接 • MCS-51单片机与A/D转换器的接口连接 • 初始化编程及应用了解:• I/O口扩展的原因 • 简单I/O口的扩展 • 单片机的键盘技术 8.1 I/O口扩展概述 8.2 简单I/O口扩展8.3 8255可编程通用并行接口芯片8.4 8155可编程通用并行接口芯片8.1 I/O口扩展概述 8.1.1 I/O口扩展的原因MCS-51系列单片机共有四个并行I/O口,分别是P0、P1、P2和P3。其中P0口一般作地址线的低八位和数据线使用;P2口作地址线的高八位使用;P3是一个双功能口,其第二功能是一些很重要的控制信号,所以P3一般使用其第二功能。这样供用户使用的I/O口就只剩下P1口了。另外,这些I/O口没有状态寄存和命令寄存的功能,因此难以满足复杂的I/O操作要求。由于MCS-51系列单片机I/O口数量和功能有限,所以在实际应用中不得不使用扩展的方法,来增加I/O口的数量,增强I/O口的功能。 8.1.2 I/O口的编址技术用户可以通过对I/O口进行读和写操作来完成数据的输入和输出。例如:P0口的地址为80H。用户可以使用MOV指令对P0口进行写操作。 MOV P0, A 8.1.3 单片机I/O传送的方式单片机为了实现数据的输入/输出传送,通常使用3种控制方式。1. 无条件传送方式 当外设和单片机能够同步工作时,可以采用无条件方式进行传送,即数据可以随时进行传送。2. 查询方式 查询方式又称为有条件传送方式,即数据的传送是有条件的。在进行I/O操作之前,用户要通过软件查询外设是否为数据传送做好准备,只有确认外设为数据传送做好准备。单片机才能执行数据的输入/输出(I/O)操作。3. 中断方式 当外设和计算机进行数据交换时,外设向单片机发出中断请求(即通知单片机)。单片机接到中断请求后,就作出响应,暂停正在执行的程序,而转去为设备的数据输入/输出服务。当服务完成后,程序返回,单片机再继续执行被中断的程序。 中断方式大大提高了单片机系统的工作效率,所以在单片机中被广泛应用。
上传时间: 2013-11-10
上传用户:yqs138168
可编程计数器/定时器的特点计算机及电子系统中需要定时信号,如系统的日历时钟,动态存储器的刷新,应用系统的定时中断、定时查询与检测等。可编程定时器芯片可以产生精确的时间间隔,形成各种脉冲序列,灵活性强。依所需时间间隔,设置计数器的时间常数,在一外部脉冲驱动下进行减1计数,计数值为0时,产生输出信号,供系统使用。
上传时间: 2013-11-17
上传用户:彭玖华
德州仪器 (TI) 处理器几乎能满足您所能想到的各种应用需求。我们阵营强大的处理器系列拥有各种价位、性能及功耗的产品可供选择,能满足几乎任何数字电子设计的要求。利用 TI 广博的系统专业知识、针对外设设计的全方位支持以及随时可方便获得的全套软件与配套模拟组件,您能够实现无穷无尽的设计方案。德州仪器 2008 年第二季度 数字信号处理选择指南TI 数字信号处理技术介绍1Ô数字媒体处理器OMAP应用处理器C6000数字信号处理器C5000数字信号处理器C2000数字信号处理器MSP430微控制器音频汽车通信工业医疗安全监控视频无线主要特性完整的定制型视频解决方案低功耗与高性能高性能低功耗与高性能结合高性能与高集成度可实现更环保的工业应用超低功耗达芬奇数字媒体处理器:针对数字视频而精心优化达芬奇 (DaVinci) 技术包括可扩展的可编程信号处理片上系统 (SoC)、加速器与外设,专为满足各种视频终端设备在性价比与特性方面的要求进行了优化。最新的 OMAP™ 应用处理器:最佳的通用多媒体与图形功能TI 高度可扩展的 OMAP 平台能够以任何单芯片组合实现业界通用多媒体与图形处理功能的最佳组合。最新推出的四款 OMAP35x 器件的目标应用非常广泛,其中包括便携式导航设备、因特网设备、便携式媒体播放器以及个人医疗设备等。最高性能:TMS320C6000™ DSP平台C6000™ DSP 平台可提供业界最高性能的定点与浮点 DSP,理想适用于视频、影像、宽带基础局端以及高性能音频等应用领域。低功耗与高性能相结合:TMS320C5000™ DSP 平台C5000™ DSP 平台不仅可提供业界最低的待机功耗,同时还支持高级自动化电源管理,能够充分满足诸如数字音乐播放器、VoIP、免提终端附件、GPS 接收机以及便携式医疗设备等个人及便携式产品的需求。结合类似 MCU 的控制功能与DSP 的高性能:TMS320C2000™数字信号控制器C2000™ 数字信号控制器 (DSC) 平台融合了控制外设的集成功能与微控制器 (MCU) 的易用性,以及 TI 先进DSP 技术的处理能力和 C 语言编程效率。C2000 DSC 理想适用于嵌入式工业应用,如数字马达控制、数字电源以及智能传感器等。MSP430 超低功耗微控制器平台TI MSP430 系列超低功耗 16 位 RISC 混合信号处理器可为电池供电的测量应用提供具有终极性能的解决方案。TI充分发挥自身在混合信号与数字技术领域卓越的领先优势, 推出的MSP430 使系统设计人员不仅能够同时实现与模拟信号、传感器与数字组件的接口相连,而且还能实现无与伦比的低功耗。轻松易用的软件与开发工具对于加速 DSP 产品开发而言,TMS320™ DSP 获得了 eXpressDSP™ 软件与开发工具的支持,其中包括Code Composer Studio™ IDE、DSP/BIOS™内核、TMS320 DSP 算法标准以及众多可重复使用的模块化软件等,均来自业界最大规模开发商网络。配套模拟产品TI 可提供各种配套的数据转换器、电源管理、放大器、接口与逻辑产品,能够充分满足您设计的整体需求。
上传时间: 2013-10-14
上传用户:jasson5678
本书供从事光纤通信的工程人员使用和参考,也可供电子器件研究和生产、光纤通信技术系统设计和制造、光电子器件和光纤通信系统销售等人员参考、学习。
上传时间: 2013-11-22
上传用户:ayfeixiao
本书首先介绍了C语言的基本知识,使读者能使用C语言进行程序设计;然后介绍了30个开发例子。全书主要通过实例的形式来介绍MSP430单片机在不同领域中的应用,从而使读者掌握MSP430单片机开发的流程、方法、技巧及设计思想。全书语言简洁,层次清晰,本书的所有程序代码都使用C语言实现,简单易学、易懂。本书比较适合计算机、自动化、电子及硬件等相关专业的院校学生进行学习,同时也可供从事单片机开发的科研设计人员参考使用。
上传时间: 2013-10-29
上传用户:whymatalab
本手册提供有关 RealView® 编译工具 汇编器(ARM 汇编器)的指导和参考信息。 其中包括 armasm、独立的汇编器以及 C 和 C++ 编译器中的嵌入式汇编器。本手册介绍汇编器的命令行选项,可供汇编语言程序员使用的汇编语言助记符、伪指令、宏和指令。
上传时间: 2013-10-28
上传用户:robter
当许多编程人员从事这项工作但又不使用源代码管理工具时,源代码管理几乎不可能进行。Visual SourceSafe是Visual Basic的企业版配备的一个工具,不过这个工具目的是为了保留一个内部应用版本,不向公众发布(应当说明的是,M i c r o s o f t并没有开发Visual SourceSafe,它是M i c r o s o f t公司买来的) 。虽然Visual SourceSafe有帮助文本可供参考,但该程序的一般运行情况和在生产环境中安装 Visual SourceSafe的进程都没有详细的文字说明。另外,Visual SourceSafe像大多数M i c r o s o f t应用程序那样经过了很好的修饰,它包含的许多功能特征和物理特征都不符合 Microsoft Wi n d o w s应用程序的标准。例如,Visual SourceSafe的三个组件之一(Visual SourceSafe Administrator)甚至连F i l e菜单都没有。另外,许多程序的菜单项不是放在最合适的菜单上。在程序开发环境中实现Visual SourceSafe时存在的复杂性,加上它的非标准化外观和文档资料的不充分,使得许多人无法实现和使用 Visual SourceSafe。许多人甚至没有试用 Vi s u a l S o u r c e S a f e的勇气。我知道许多高水平技术人员无法启动Visual SourceSafe并使之运行,其中有一位是管理控制系统项目师。尽管如此,Visual SourceSafe仍然不失为一个很好的工具,如果你花点时间将它安装在你的小组工作环境中,你一定会为此而感到非常高兴。在本章中我并不是为你提供一些指导原则来帮助你创建更好的代码,我的目的是告诉你如何使用工具来大幅度减少管理大型项目和开发小组所需的资源量,这个工具能够很容易处理在没有某种集成式解决方案情况下几乎无法处理的各种问题。
上传时间: 2013-10-24
上传用户:lgd57115700
软件名称:Commix混合串口调试工具软件版本:1.0 软件作者:周陈平作者邮件:ggenien@163.com 软件容量:193KB 软件语言:简体中文授权形式:免费软件应用平台:Win95/98/NT/2000 发布日期:2001年11月06日软件介绍: 很好的串口调试工具,能够混合输入、显示16进制数、10进制数、ASCII字符,能按多种常用方法(如Modbus等)自动加入校验,还可将设定好的参数保存为注册表文件,尤其适合做工业控制方面的通讯调试。使用说明按界面上的“?”就能看到。只有一个执行文件,不用安装。 打开程序后,有16个串口可供选择 Commix 混合输入串口调试工具 Commix设计为串口调试工具,最大特点是:能够混合输入16进制数、10进制数、ASCII字符,这种功能通过转义符“\”实现。 界面说明: 1、 HEX: 输入数据看作16进制字节,不区分大小写 ASCII: 输入数据看作ASCII字符 忽略空格输入: 是否忽略用户输入数据中的空格 自动换行: 是否在接收与发送的数据之间自动换行显示 2、 在HEX和ASCII方式输入时,转义符输入都有效 3、 在ASCII方式,20h到7Eh的字符直接显示,其他字符显示为转义符形式 4、 如果改变显示区的光标位置,新的显示将插入在光标处 5、 用户输入(从串口输出)的数据显示为绿色,从串口输入的数据显示为蓝色,发送到接收之间的间隔时间(毫秒)显示为灰色,用户在显示区输入的字符显示为黑色 6、 程序不检测串口状态,因此也能用于最简单的3线制(第2、3、5针)RS232通讯 7、 串口打开后,修改通讯参数时不必关闭,新参数立即生效 8、 程序结束时,参数自动保存到注册表;点击注册表图标,可将当前设置保存到注册表文件 校验使用: 1、 主界面上,“校验”复选框被选中时,会出现校验设置窗口 2、 选择不同的校验方式,会有不同的选项出现 HEX/ASCII: 选择校验结果的存放方式 3、 如果校验被允许,程序将按“数据 校验 结束符”的顺序发送,结束符的默认格式与主界面上的HEX/ASCII设置相同 转义符使用: 1、 16进制输入: \xhh 2、 10进制输入: \ddd 3、 预定义字符输入: \ccc 或 \cc 或 \\ 4、 显示字符输入: \ra 5、 转义符输入长度必须与上述相符,不区分大小写 转义符使用举例: \x1B 、\027 、\ESC 的值是 1Bh \x0d 、\013 、\cr 的值是 0Dh \rA 、\065 的值是 41h \\ 、\r\ 、\x5C 的值是 字符\ ASCII输入: \stx011234R01\etx57\cr\lf 与HEX输入:02 30 31 31 32 33 34 \rR 30 31 03 \r5 \r7 \cr\lf 是相同的 转义符中的预定义字符: 输入 值 \\ 字符\ \LF 0Ah \CR 0Dh \NUL 0 \SOH 1 \STX 2 \ETX 3 \EOT 4 \ENQ 5 \ACK 6 \NAK 15h \CAN 18h \ESC 27h
上传时间: 2013-11-20
上传用户:dalidala