Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

嵌入式系统启动例程

嵌入式系统启动例程

通常PC在开机之后,会进入带有PC机厂商信息的BIOS画面,并且会显示出当前PC机的硬件信息,比如:内存大小,CPU信息等,它其实是PC机启动之后运行的第一段程序,它主要完成一些基本硬件初始化操作和硬件检测工作,保证拥有操作系统正常运行的软硬件环境,随后会加载并且启动操作系统。该段小程序是烧制到主板上的BIOS存储硬件里的。由此可见计算机系统在启动过程中必须依赖软硬件,在嵌入式系统中同样需要软硬件互相协调来完成启动过程。1. 嵌入式系统启动 - 硬件支持在...
S3C2440看门狗定时器(Watchdog)

S3C2440看门狗定时器(Watchdog)

看门狗定时器(Watchdog)相信大家都看过中国移动前些时间做的一个广告,从城市到山村,到青藏高原,在哪儿都有中国移动的网络,到哪儿都能打电话,由此可以联想到中国移动在全国有无数个信号基站,很多基站建设在环境比较恶劣的地方,我们来思考一个问题?假如,有一天某个基站出了问题不能正常工作了,毫无疑问,移动的工作人员会带各种检测设备去进行修理,如果是出现非硬件故障(如用户电话服务突然巨增,造成繁忙死机或电磁干扰造成CPU运行出错等),导致基站服务器出现异常死机...
S3C2440 SDRAM内存驱动

S3C2440 SDRAM内存驱动

SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存储器)也就是通常所说的内存。内存的工作原理、控制时序、及相关控制器的配置方法一直是嵌入式系统学习、开发过程中的一个难点。我们从其硬件的角度来分析其原理,然后再引出SDRAM的驱动编写过程。内存是代码的执行空间,以PC机为例,程序是以文件的形式保存在硬盘里面的,程序在运行之前先由操作系统装载入内存中,由于内存是RAM(随机访问存储器),可以通过地址去定...
S3C2440 UART串口驱动

S3C2440 UART串口驱动

1.1 UART串口通用异步接收器和发送器(Universal Asynchronous Receiver and Transmitter) 简称UART。通常是嵌入式设备中默认都会配置的通信接口。这是因为,很多嵌入式设备没有显示屏,无法获得嵌入式设备实时数据信息,通过UART串口和超级终端相连,打印嵌入式设备输出信息。并且在对嵌入式系统进行跟踪和调试时,UART串口了是必要的通信手段。比如:网络路由器,交换机等都要通过串口来进行配置。UART串口还是许多...
ARM处理器工作模式

ARM处理器工作模式

1.1 ARM处理器工作模式ARM处理器共有7种工作模式,如表3-1所示: 表3-1 ARM处理器工作模式处理器工作模式特权模式异常模式说明用户(user)模式用户程序运行模式系统(system)模式该组模式下可以任意访问系统资源运行特权级的操作系统任务一般中断(IRQ)模式通常由系统异常状态切换进该组模式普通中断模式快速中断(FIQ)模式快速中断模式管理(supervisor)模式提供操作系统使用的一种保护模式,swi命令状态中止(abort)模式虚拟内...
ARM处理器寄存器

ARM处理器寄存器

1.1.1 ARM处理器不同模式下寄存器CPU的模式不同,在其对应模式下可以使用的寄存器也不相同,如表3-2所示:表3-2 ARM处理器模式下寄存器寄存器类别寄存器在汇编中的名称各模式下实际访问的寄存器用户系统管理终止未定义中断快中断通用寄存器和程序计数器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8(v5)R8R8_fiqR9(SB,v6)R9R9_fiqR10(SL,...
ARM处理器模式切换(含MRS,MSR指令)

ARM处理器模式切换(含MRS,MSR指令)

1.1.1 ARM处理器模式切换(含MRS,MSR指令)除了用户模式和系统模式,其余模式下都有一个私有SPSR保存状态寄存器,用来保存切换到该模式之前的执行状态,之所以用户模式和系统模式没有SPSR是因为,通常CPU大部分时间执行在用户模式下,当产生异常或系统调用时会分别切换进入另外几种模式,保存用户模式下的状态,当切换回原先模式时,直接回复SPSR的值到CPSR就可以了,因此,用户模式和系统模式下不需要SPSR,其详细操作查看下节异常处理。以上几种模式通...
S3C2440系统中断

S3C2440系统中断

1.1 S3C2440系统中断CPU和外设构成了计算机系统,CPU和外设之间通过总线进行连接,用于数据通信和控制,CPU管理监视计算机系统中所有硬件,通常以两种方式来对硬件进行管理监视:l 查询方式:CPU不停的去查询每一个硬件的当前状态,根据硬件的状态决定处理与否。好比是工厂里的检查员,不停的检查各个岗位工作状态,发现情况及时处理。这种方式实现起来简单,通常用在只有少量外设硬件的系统中,如果一个计算机系统中有很多硬件,这种方式无疑是耗时,低效的,同时还大...
ARM处理器异常处理

ARM处理器异常处理

1.1 ARM处理器异常处理所谓异常就是正常的用户程序被暂时中止,处理器就进入异常模式,例如响应一个来自外设的中断,或者当前程序非法访问内存地址都会进入相应异常模式。1.1.1 异常分类(1)复位异常当CPU刚上电时或按下reset重启键之后进入该异常,该异常在管理模式下处理。(2)一般/快速中断请求CPU和外部设备是分别独立的硬件执行单元,CPU对全部设备进行管理和资源调度处理,CPU要想知道外部设备的运行状态,要么CPU定时的去查看外部设备特定寄存器,...
ARM系统中断产生流程

ARM系统中断产生流程

中断源按照硬件位置分为外部中断源和内部中断源,外部中断源和内部中断源又包含子外部中断源和子内部中断源,如上图所示(画了一整天)。1. 子内部中断源的产生以UART0接收数据产生INT_RXD0中断为例,INT_RXD0产生后进入SUBSRCPND子中断源暂存寄存器,设置INT_RXD0对应的中断位,中断信号经过INTSUBMSK子中断屏蔽寄存器,如果INT_RXD0信号对应位没有被置位(屏蔽掉),中断信号继续向前传递,经过子内部中断源聚合器,将INT_RX...
ADS semihosting与硬件重定向

ADS semihosting与硬件重定向

应用程序在执行过程中经常会和主机有IO交互请求,例如C程序中的printf,该系统函数被执行时,会通过软件中断将printf请求提交给操作系统内核,内核将printf要打印的数据拷贝到内核空间,通过调用显示器驱动程序接口,将数据显示到显示器上。如下图所示:图3-10本地主机IO请求示意图上述应用程序IO请求是最常见的一种本地主机请求方式,在嵌入式系统开发过程中还存在一种半主机请求模式semihosting。1 semihosting半主机调试Semihos...
硬件重定向

硬件重定向

由semihosting知识可知,semihosting只是将目标系统中的IO请求交给了调试环境来处理,但是在嵌入式系统实际应用中,往往嵌入式系统和主机调试环境是独立的,而嵌入式系统又想使用标准输入输出中的库函数,这时就要使用硬件重定向技术。应用程序中对外设的IO请求实际是对低层最基本IO硬件的封装,例如printf()函数,其实是对将数据写入到显示器相应寄存器的抽象封装,用户不用关心具体使用了什么硬件机制,也不用关心具体怎么将其打印到屏幕上。在ADS开发...
系统调用与软件中断SWI的实现

系统调用与软件中断SWI的实现

1 系统调用操作系统的主要功能是为应用程序的运行创建良好的环境,保障每个程序都可以最大化利用硬件资源,防止非法程序破坏其它应用程序执行环境,为了达到这个目的,操作系统会将硬件的操作权限交给内核来管理,用户程序不能随意使用硬件,使用硬件(对硬件寄存器进行读写)时要先向操作系统发出请求,操作系统内核帮助用户程序实现其操作,也就是说用户程序不会直接操作硬件,而是提供给用户程序一些具备预定功能的内核函数,通过一组称为系统调用的(system call)的接口呈现给...
Android ril移植-6410开发板SIM300模块

Android ril移植-6410开发板SIM300模块

环境介绍: 1. Ubuntu 10.10,作为Android编译环境同时作为NFS让6410开发板挂载作为根文件系统。 2. Android使用的是友善给的源码,使用./build-android命令编译出来,使用./genrootfs.sh命令在主源码主目录下生成rootfs,删除掉data/app下的安装包(不删除也可以) 3. 将rootfs里的文件系统拷贝到NFS挂载目录下,我的NFS目录是/work/nfs_root,安装并开启NFS,通过ex...
Android RIL结构分析与移植

Android RIL结构分析与移植

介绍本文档对Android RIL部分的内容进行了介绍,其重点放在了Android RIL的原生代码部分。包括四个主题:1.Android RIL框架介绍2.Android RIL与 WindowsMobile RIL3.Android RIL porting4.Android RIL的java框架在本文档中将Android代码中的重要模块列出进行分析,并给出了相关的程序执行流程介绍,以加深对模块间交互方式的理解。对于java代码部分,这里仅进行简单的介绍...
S3C6410,Tiny6410,Mini6410,MoblieDDR内存驱动

S3C6410,Tiny6410,Mini6410,MoblieDDR内存驱动

1. 概述S3C6410内存控制器是采用的PL340内存控制芯片。AMBA APB3.0接口协议规定,可以通过编程将AXI从总线接口和APB主总线接口进行桥接,实现二者总线上的数据的传输。DRAM控制器可以通过配置兼容SDRAM类型芯片。通过向DRAM控制器中PL340写入内存芯片配置参数,内存时序,来控制内存工作。DRAM控制器可以直接从SDRAM或DRAM接收一个控制命令。通过将操作命令写入direct_cmd寄存器,操作SDRAM进行对应操作。通过向...
<< 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 >>