推荐阅读最新更新时间:2024-11-12 10:47
ARM处理器系统初始化编程注意事项
在上述系统初始化过程中有以下两点需要注意,如果处理不好就可能出现程序跑飞的情况。 1)如果需要将程序从flash搬移到DRAM中运行 在现代嵌入式系统中,由于DRAM的速度比flash的速度快很多,所以除了极少数对性能要求不高但对成本要求很高的系统把程序放在flash中并一直在flash中运行外,大部分嵌入式系统都是将程序从flash芯片搬到DRAM芯片中运行,这样就会存在一个问题,因为我们编译链接程序都是将程序链接到程序最后运行的场所DRAM中的地址上,但是系统启动时只能从flash中读取指令,所以从系统启动读取的第一条指令到进入到DRAM运行前的程序代码是与地址无关的,如果要跳转到某个标号处运行,必须是基于pc的,不能是绝对跳转
[单片机]
LCD显示文字的函数-ARM体系-2440
/* *lcd显示汉字 *输入参数: * x:开始位置横坐标 * y:开始位置纵坐标 * color:字体颜色 * ch :文字 * */ void Draw_Text16(int x, int y, int color, const unsigned char ch ) { unsigned short i, j ; unsigned char mask, tem ; for(i=0; i 16; i++) { mask= 0x80 ; tem = ch ; //俩个字节一组16位,取第一个字节 for(j=0; j 8; j++) { if(
[单片机]
ARM在嵌入式系统中的应用
随着ARM处理器的流行,为了使更多工程师了解ARM傅立叶撰写了系列开发文章,主要解决什么是ARM,ARM在产品项目中的开发流程,LINUX,WINCE,VXWORKS等操作系统在ARM处理器上的应用等内容。希望对初学者有所帮助。 1.嵌入式系统概述 应该肯定地讲我们每一位都已经使用过嵌入式系统有关的产品,嵌入式系统已经深入到我们生活的每一个角落。他所涉及的领域广泛到我们的想象力能及的任何地方。嵌入式系统是相对桌面系统来讲的,凡是带有微处理器的专用软硬件系统都可以称为嵌入式系统。作为系统核心的微处理器又包括三类:微控制器(MCU)、数字信号处理器(DSP)、嵌入式微处理器(MPU)。嵌入式比较准确一个定义如下:系统以
[单片机]
【ARM】gpio·arm体系结构之gpio
GPIO Gerneral-Purpose IO ports,即通用IO口。 在嵌入式系统中常常有数量众多,但是却比较简单的外部设备/电路。 对这些设备/电路,有的需要CPU为之提供控制手段,有的则需要被CPU用做输入信号。 许多这样的设备/电路只要求一位,即只要有开/关两种状态就够了,比如控制某个LED灯亮与灭;或者通过获取某个管脚的电平属性来达到判断外围设备的状态。 对这些设备/电路的控制,使用传统的串行口或并行口都不合适,所以在微控制器芯片上一般都会提供一个“通用可编程IO接口”,即GPIO。 接口至少有两个寄存器,即“通用IO控制寄存器”与“通用IO数据寄存器”。 数据寄存器的各位都直接引致芯片外部,
[单片机]
ARM与GPRS网络构成家庭医疗监护系统
摘要: 介绍了一个由ARM 处理器S3C44B0X 与M590E GPRS 模块构成的家庭远程医疗监护系统。笔者介绍了S3C44B0X 以及M590 的性能特点,主要外围接口电路的设计,以及软件设计架构和系统的组成原理,并给出了GPRS模块的软件配置方法。经过实验测试,本系统在应用中取得了比较好的效果。 近年来,在家庭修养的病人由于不能得到及时看护和抢救,死亡的人数大量提高。而随着老年化的加剧,老年人在家中的健康状况也得到了更高的重视。本文研究的医疗服务系统可以极大的降低运送病人的时间和成本,并能及时的看护老年人的健康状况,对提高我国全民的健康水平有着重要作用。本论文提出了一种基于GPRS 网络的家庭医疗服务系统,本系
[单片机]
基于运行嵌入式Linux操作系统的ARM/DSP多机I2C通信设计方案
引言 在很多嵌入式控制系统中,系统既要完成大量的信息采集和复杂的算法,又要实现精确的控制功能。采用运行有嵌入式Linux操作系统的ARM9微控制器完成信号采集及实现上层控制算法,并向DSP芯片发送上层算法得到控制参数,DSP芯片根据获得的参数和下层控制算法实现精确、可靠的闭环控制。 1 多机系统组成 该多机控制系统以ARM9微控制器s3c2440为核心,采用I2C总线挂载多个DSP芯片TMS320F28015作为协控制器,构成整个控制系统的核心。 1.1 S3C2440及TMS320F28015简介 Samsung公司的处理器S3C2440是内部集成了ARM公司ARM920T处理器内核的32位微控制器,资源
[单片机]
ARM之一 分散加载文件(scatter)详述
1. 基础知识 为了充分理解分散加载文件的魅力,需要对工程编译后的内容有详细的了解。 Keil 编译后的内容如下所示: 1)Code:为程序代码部分; 2)RO-Data:表示程序定义的常量及 const 型数据; 3)RW-Data:表示已经初始化的静态变量,变量有初值; 4)ZI-Data:表示未初始化的静态变量,变量无初值。 当 Keil 工程编译完成后,查看其 map 文件,可得到结果如下程序清单。 ==================================================================== Code (inc. data) RO Da
[单片机]
原子操作--ARM架构
说明:内核版本号为3.10.101 一、ARM架构中的原子操作实现 在原子操作(一)中我们已经提到,各个架构组织为“复仇者”联盟,统一了基本的原子变量操作,这里我们就拿atomic_dec(v)来看看通天ARM的实现。 首先是atomic_dec(v)原子减一操作的宏定义。这个宏的定义在文件arch/arm/include/asm/atomic.h中: #define atomic_dec(v) atomic_sub(1, v) 对于ARM架构不同的版本,stomic_sub(i,v)的实现是不一样的。具体而言,在ARMv6之前的版本定义如下: #define atomic_sub(i, v)
[单片机]