ARM嵌入式系统基础与应用:基于Proteus和IAREWARM

ARM嵌入式系统基础与应用:存储器加速模块

LPC2138在运行位于Flash中的程序代码时,可以依靠存储器加速模块MAM最大限度的提高处理器性能。存储器加速模块MAM分为以下几个功能部件:●1个Flash地址锁存器和1个增量器,用于预取指地址。所有存储器请求都将导致Flash的读操作,没有指令预取。处理器复位后,MAM默认为禁止状态,软件可以随时将存储器访问加速功能打开或关闭。存储器加速模块MAM通过2个寄存器进行操作。
理论教育 2023-11-03

用DS18B20和LPC2138实现数字温度计

DS18B20内部有三个主要数字部件:64位激光ROM、温度传感器、非易失性温度报警触发器TH和TL。④跳过ROM,代码为CCH,命令发出后系统将对所有DS18B20进行操作,通常用于启动所有DS18B20转换之前,或系统中仅有一个DS18B20时。第5个字节为配置寄存器,其内容用于确定温度值的数字转换分辨率,DS18B20工作时,按此寄存器中的分辨率,将温度转换为相应精度的数值。温度转换命令被执行后,DS18B20保持等待状态。⑥读电源,代码为B4H,用于将DS18B20的供电方式信号发送到主机。
理论教育 2023-11-03

ARM嵌入式系统基础与应用:10ARM伪指令

ARM伪指令不是ARM指令集中的指令,而是编译器设置的一种为方便编程的“假”指令。指令格式:式中,reg为加载的目的寄存器;expr为相对偏移表达式,非字对齐时取值范围为255~255B。NOP伪指令在汇编时将会被替换为ARM指令中的空操作,例如:可能是MOV R0,R0指令等。另外,NOP指令还可以用于软件延时。
理论教育 2023-11-03

ARM嵌入式系统基础与应用:项目选项配置编译链接

创建新项目和添加文件后还需要为项目配置选项。配置项目选项是非常重要的一步,如果配置不当,编译、链接就会出错而无法生成正确的程序代码。前面在创建新项目时我们选择了Empty project模板,表示采用默认的项目选项配置,这些默认配置还要根据具体项目进行修改。图2-37 链接器Output选项配置至此,关键项目配置已经完成,下面就可以进行项目编译了。
理论教育 2023-11-03

Proteus和IAREWARM集成环境

Proteus软件包提供一种界面友好的人机交互式集成环境ISIS,其设计功能强大,使用方便。图2-9 ISIS环境界面下拉菜单提供如下功能选项:File菜单包括常用的文件功能,如创建一个新设计、打开已有设计、保存设计、导入/导出文件、打印设计文档等。View菜单包括是否显示网格、设置网格间距、缩放原理图、显示与隐藏各种工具栏等。
理论教育 2023-11-03

ARM嵌入式系统:程序状态寄存器

ARM处理器包含1个当前程序状态寄存器CPSR和5个程序状态保存寄存器SPSR。所有运行模式下都可以访问当前程序状态寄存器。表1-2 条件码标志的具体含义2.控制位程序状态寄存器的低8位称为控制位,当发生异常时,这些位可以被改变。程序状态寄存器中的其余位为保留位,保留位用于将来ARM版本的扩展。
理论教育 2023-11-03

基于Proteus和IAREWARM的ARM嵌入式系统应用

原理图绘制完成后,还要给ARM处理器装入应用程序,才可以进行虚拟仿真调试。需要注意的是,装入到原理电路图LPC2138中的Hex文件,可以进行虚拟仿真并观察程序运行结果,但不能进行源代码调试,只有装入的是包含DWARF2调试信息的ELF文件,才能进行源代码调试。源代码调试窗口右上角提供的调试按钮功能如下:全速运行。
理论教育 2023-11-03

ENC28J60主要特性详解

ENC28J60主要特性如下:1.以太网控制器特性●IEEE802.3兼容的以太网控制器。
理论教育 2023-11-03

ENC28J60在ARM嵌入式系统中的应用实例

Proteus提供了ENC28J60以太网接口模型,它具备以下的仿真功能:●SPI接口。在使用ENC28J60发送和接收数据包前,必须先进行初始化设置。例5-7图5-20所示为LPC2138与ENC28J60的接口应用电路。LPC2138通过SPI1与ENC28J60接口,P0.16、P0.17、P0.18、P0.19、P0.29和P0.31分别连接ENC28J60的INT、SCK、SI、SO、RESET和CS端。本例中ENC28J60的驱动程序包括在ENC28J60.C模块中,具体如下:进入主程序后首先进行引脚配置,规定ENC28J60的片选、复位等端口信号,完成SPI1初始化,以及ENC28J60芯片的初始化,并实现HTTP服务器功能。
理论教育 2023-11-03

ARM嵌入式系统基础与应用:寄存器分类,直观解读

ARM处理器共有37个32位寄存器,分为如下两类:●31个通用寄存器,包括程序计数器PC。寄存器被安排成部分重叠的组,每种处理器模式使用不同的寄存器组。在任何时候,15个通用寄存器R0~R14、程序计数器PC、程序状态寄存器CPSR都是可访问的。图1-6 Thumb状态寄存器映射到ARM状态寄存器在Thumb状态下,高位寄存器R8~R15并不是标准寄存器集的一部分,但可使用汇编语言程序受限制的访问这些寄存器,将其用作快速的暂存器。
理论教育 2023-11-03

双I2C接口,可配置为主机或从机

LPC2138具有具有两个标准的硬件I2C接口,I2C0和I2C1,可配置为主机或从机,总线时钟速率可调整,最高可支持400Kbit/s总线速率。I2C接口的主要特性如下:●标准的I2C总线接口。LPC2138是字节方式的I2C接口,只要把一个字节数据写入I2C数据寄存器I2DAT后,即可由I2C接口自动完成所有的数据位发送。
理论教育 2023-11-03

ARM嵌入式系统:SSP接口寄存器描述

SSP接口包含9个寄存器,分别介绍如下。表4-34 SSPDR寄存器功能4.SSP状态寄存器SSPSRSSPSR寄存器的功能如表4-35所列,这是一个只读寄存器,反映SSP控制器的当前状态。表4-35 SSPSR寄存器功能(续)5.SSP时钟预分频寄存器SSPCPSRSSPCPSR寄存器的功能如表4-36所列,该寄存器控制VPB时钟Fpclk得到预分频器时钟因子,同时,预分频时钟被SCR分频后得到位时钟。
理论教育 2023-11-03

编写ARM嵌入式OS_CPU.H文件

软中断功能号分配如表6-2所列,未列出的为保留功能。表6-2 软中断功能3.设置堆栈的增长方向,堆栈由高地址向低地址增长μC/OS-II使用结构常量OS_STK_GROWTH中指定堆栈的生长方式:置OS_STK_GROWTH为0表示堆栈从下往上长。虽然ARM处理器核对于两种方式均支持,但ADS的C语言编译器仅支持一种方式,即从上往下长,并且必须是满递减堆栈,所以OS_STK_GROWTH的值通常设置为1:
理论教育 2023-11-03

异常响应和返回处理-ARM嵌入式系统基础与应用

当一个异常出现以后,ARM处理器会执行以下几步操作进入异常:1)将下一条指令的地址存入相应链接寄存器LR,以便程序在处理异常返回时,能从正确的位置重新开始执行。3)根据异常类型,设置CPSR的运行模式位。为了保证ARM处理器在发生异常时不会出于未知状态,应用程序设计中必须确保对异常的处理。当异常处理完成之后,返回到主程序继续执行。
理论教育 2023-11-03

EWARM集成开发环境项目创建与配置

在IAR EWARM集成开发环境中用户需要建立一个工作区,用于创建项目,每个项目都可以建立以组为级别的结构,用户源程序文件可以分别添加到各个组中。图2-24 创建工作区接下来要创建新项目。EWARM提供了几种不同应用程序和库程序的项目模板,用户可以按照模板创建自己的新项目。图2-25 创建新项目窗口在Project Template栏内,选择Empty project,表示采用默认的项目配置。项目名称中的星号表示当前的修改还没有保存。
理论教育 2023-11-03

Proteus和IAREWARM中的UART主要特性

LPC2138具有2个符合550工业标准的通用异步接收发送器UART0和UART1,两者具有很多相似之处,但外设基地址不同,UART1还增加了一个调制解调器接口。中断接口接收几个由UxTx和UxRx发出的单时钟宽度的使能信号。UxTx和UxRx的控制信息保存在UxLCR中。通用异步接收发送器UART主要特性如下:●16字节收发FIFO。
理论教育 2023-11-03
-已经加载完成-