
ARM嵌入式相关
文章平均质量分 73
Amao_come_on
这个作者很懒,什么都没留下…
展开
-
操作系统为用户提供了哪些接口?他们的区别是什么?
我只在LINUX下说说大概的,详细的用法可以自己去查查创建进程:fork,IPC(进程间通信):管道(pipe),消息,共享内存线程:pthread_create pthread_cancle ...并发控制:锁、事件、信号量、自旋锁、原子锁 读写锁 (很多)io操作:read、write、ioctl、fcntl(很多)网络:这个很大,去查udp tcp这块资料时钟、定时器我只能转载 2013-05-18 10:59:10 · 18409 阅读 · 0 评论 -
Linux内核之旅
http://www.kerneltravel.net/?page_id=21转载 2013-05-18 10:35:02 · 547 阅读 · 0 评论 -
寄存器编址
寄存器编址存储器,I/O端口,寄存器分析这几个容易混淆的概念. 引用一段资料: 几乎每一种外设都是通过读写设备上的寄存器来进行操作的。外设寄存器也称为“I/O端口”,通常包括:控制寄存器、状态寄存器和数据寄存器三大类,而且一个外设的寄存器通常被连续地编址。CPU对外设IO端口物理地址的编址方式有两种:一种是I/O映射方式(I/O-mapped),另一种是内存映射方式(Memor转载 2014-04-12 15:37:45 · 2043 阅读 · 0 评论 -
《Linux内核设计与实现》读书笔记(十九)- 可移植性
linux内核的移植性非常好, 目前的内核也支持非常多的体系结构(有20多个).但是刚开始时, linux也只支持 intel i386 架构, 从 v1.2版开始支持 Digital Alpha, Intel x86, MIPS和SPARC(虽然支持的还不是很完善).从 v2.0版本开始加入了对 Motorala 68K和PowerPC的官方支持, v2.2版本开始新增了 ARM转载 2014-06-02 22:34:45 · 641 阅读 · 0 评论 -
Android架构分析之硬件抽象层(HAL)
http://www.2cto.com/kf/201306/221632.html转载 2014-06-02 23:29:49 · 581 阅读 · 0 评论 -
DMA寄存器设置
1.设置DMA模式: 寄存器名:DMAMODE0 寄存器类型:DMA配置寄存器 寄存器地址:PCIBAR0+80h(LCS) 寄存器值:DMAMODE0[1:0]=11:定义DMA总线宽度为32位; DMAMODE0[9]=0:设置DMA传输模式为BLOCK模式; DMAMODE0[6]转载 2014-06-24 00:10:44 · 4772 阅读 · 0 评论 -
Android源码分析:硬件适配层HAL(1)之总述
Android源码分析:硬件适配层HAL(1)之总述红狼博客硬件模块库的通用写法将Android移植到不同的硬件平台上,这些平台可能包含诸如GSenor、 Compass、Light和overlay等。Android Framework通过JNI通过调用这些硬件模块库来使用操控这些硬件。Google已经为这些提供了一个完整的框架,移植开发者只需编写相应的函数即可,不需考虑太转载 2014-06-24 08:43:40 · 2848 阅读 · 0 评论 -
堆栈桢的生成原理
一直比较好奇,调试器是如何生成堆栈的调用过程的,比如如下代码:int add(int a, int b){ return a + b;}int main(){ int c = add(1, 2); system("pause"); return 0;}调用Add时的堆栈截图如下:调试器究竟是如何生成这个转载 2014-06-25 00:53:17 · 1187 阅读 · 0 评论 -
将整数的第n位清零或置1,其他位不变
假设有一个整数为x,编写两个函数将x的二进制位的第n位置1或清零,其他位不变如有x=10,二进制表示为:00000000 00000000 00000000 00001010,二进制位的最右边称为第一位,比如将第二位的1清为0,则为:00000000 00000000 00000000 00001000 = 8,将第三位置为1,则为: 00000000 00000000 000转载 2014-06-24 00:13:38 · 7012 阅读 · 0 评论 -
怎样实现Android系统的HAL(硬件适配层)
你实现自己硬件平台的硬件适配层,那么 Android系统将会调用你的硬件适配层来为系统加速。如果你未定义自己平台硬件适配层(HAL),那么Android系统将调用软实现,这样的话不会 发挥出你的硬件平台的最大效能。本文简略介绍一下Android系统的HAL层,进而介绍怎样实现HAL层,以起到抛砖引玉的作用。 Android系统HAL层位于hardware目录下面。HAL层是转载 2014-06-24 00:20:33 · 1952 阅读 · 0 评论 -
ARM体系结构介绍
下图所示的是ARM构架图。它由32位ALU、若干个32位通用寄存器以及状态寄存器、32×8位乘法器、32×32位桶形移位寄存器、指令译码以及控制逻辑、指令流水线和数据/地址寄存器组成。1. ALU:它有两个操作数锁存器、加法器、逻辑功能、结果以及零检测逻辑构成。2. 桶形移位寄存器:ARM采用了32×32位的桶形移位寄存器,这样可以使在左移/右移n位、环移n位和算术右移n位等都可以转载 2014-06-24 00:09:10 · 2327 阅读 · 0 评论 -
操作系统的硬件环境
一、中央处理器 CPU1. 每个CPU都拥有自己的指令系统。2. CPU由运算器、控制器、寄存器和高速缓存组成。3. 寄存器具有最快的访问速度,高速缓存位于CPU和内存之间,访问速度大于内存,低于寄存器。4. CPU中的寄存器分为:用户可见寄存器、控制和状态寄存器。5. 用户可见寄存器有:数据寄存器、地址寄存器和条件码寄存器。6. 控制和状态寄存器有转载 2014-06-24 00:11:58 · 756 阅读 · 0 评论 -
ARM寄存器总结:
ARM有16个32位的寄存器(r0到r15)。 r15充当程序寄存器PC,r14(link register)存储子程序的返回地址,r13存储的是堆栈地址。ARM有一个当前程序状态寄存器:CPSR。一些寄存器(r13,r14)在异常发生时会产生新的instances,比如IRQ处理器模式,这时处理器使用r13_irq和r14_irq ARM的子程序调用是很快的,因为子程序的返回地址转载 2014-06-25 00:57:53 · 558 阅读 · 0 评论 -
读《程序员的自我修养-链接装载与库》
本书内容宛如其副标题——链接、装载与库。比较清晰的介绍了程序从编译到链接到最后由操作系统加载并结合运行时库执行起来的过程,对程序的产生和运行流程剖析的可算是入木三分。计算机组成原理讲的是硬件如何转起来的,而本书则讲的是软件如何转起来的。 不喜欢主标题扣上“程序员的自我修养”这顶大帽子,貌似不懂本书所讲的就不是程序员了?或者说至多算个没修养的程序员?书中对某些细节过于追究,当然也反映出了作转载 2014-05-29 22:01:29 · 1417 阅读 · 0 评论 -
嵌入式实时操作系统中断延时
由于外部事件的发生常常是以一个中断申请信号的形式来通知处理器,然后才运行中断服务程序中来处理该事件,所以中断延时是影响系统实时性的一个重要因素。那么都有哪些问题影响中断延时呢? 一般情况下,都认为处理器是随时可以响应中断申请的。其实并非如此,首先在处理器关闭中断时不能响应中断申请;另外处理器在正在执行一条指令时也不能响应中断申请。因此,当某个事件向处理器发出中断请求时,处理器可转载 2014-06-14 08:54:13 · 2584 阅读 · 0 评论 -
中断解析
中断解析一、中断是什么中断的汉语解释是半中间发生阻隔、停顿或故障而断开。那么,在计算机系统中,我们为什么需要“阻隔、停顿和断开”呢?举个日常生活中的例子,比如说我正在厨房用煤气烧一壶水,这样就只能守在厨房里,苦苦等着水开——如果水溢出来浇灭了煤气,有可能就要发生一场灾难了。等啊等啊,外边突然传来了惊奇的叫声“怎么不关水龙头?”于是我惭愧的发现,刚才接水之后只顾着抱怨这份无聊的差事,居然转载 2014-06-14 09:24:55 · 713 阅读 · 1 评论 -
DMA控制器
DMA控制器是一种在系统内部转移数据的独特外设,可以将其视为一种能够通过一组专用总线将内部和外部存储器与每个具有DMA能力的外设连接起来的控制器。它之所以属于外设,是因为它是在处理器的编程控制下来执行传输的。值得注意的是,通常只有数据流量较大(kBps或者更高)的外设才需要支持DMA能力,这些应用方面典型的例子包括视频、音频和网络接口。 一般而言,DMA控制器将包括一条地址总线、一条转载 2014-04-17 23:23:15 · 1263 阅读 · 0 评论 -
影响操作系统实时性的要素
嵌入式所谓的实时性,也就是从事件发生到系统响应的时间。或者更广泛一点,也就是从用户输入一个信息到系统处理完返回给用户的这个反应时间。这个时间可以划分为几个阶段:1.中断响应时间;2.RTOS进程调度响应时间;3.应用程序响应时间; 细分:1.中断响应时间: 一般情况下所有外部消息都是通过中断方式来触发的。外部硬件给处理器一个中断,告诉处理器说外部有一个事件转载 2014-06-14 09:07:39 · 2937 阅读 · 0 评论 -
操作系统的硬件环境
一、中央处理器 CPU1. 每个CPU都拥有自己的指令系统。2. CPU由运算器、控制器、寄存器和高速缓存组成。3. 寄存器具有最快的访问速度,高速缓存位于CPU和内存之间,访问速度大于内存,低于寄存器。4. CPU中的寄存器分为:用户可见寄存器、控制和状态寄存器。5. 用户可见寄存器有:数据寄存器、地址寄存器和条件码寄存器。6. 控制和状态寄存器有转载 2014-06-14 09:40:00 · 941 阅读 · 0 评论 -
linux系统下操作硬件寄存器
经过一两天的摸索,基本上对在linux控制硬件有了个初步的认识:在linux下控制硬件和在无操作系统下控制硬件的不同主要在于硬件的地址不一样,在linux下要使用va(虚拟地址),而在无操作系统下可以直接使用硬件的pa(物理地址)。在linux-2.6.8.1/include/asm-arm/arch-s3c2410/map.h中定义了大部分硬件的物理地址和他们的虚拟地址。现以gpio F转载 2014-06-15 00:08:03 · 3361 阅读 · 0 评论 -
驱动中读写硬件寄存器的方式
1.驱动中读写硬件寄存器的方式比如想控制某寄存器。先查找datasheet中该寄存器的物理地址。然后调用ioremap()函数。该函数返回一个虚拟地址。内核空间可以直接访问它。比如我们要访问s3c2410平台上的I2S寄存器, 查看datasheet 知道IIS物理地址为0x55000000,我们把它定义为宏S3C2410_PA_IIS,如下:#define S3C2410转载 2014-06-15 00:09:01 · 5172 阅读 · 0 评论 -
《Linux内核设计与实现》读书笔记(五)- 系统调用
主要内容:什么是系统调用Linux上的系统调用实现原理一个简单的系统调用的实现1. 什么是系统调用简单来说,系统调用就是用户程序和硬件设备之间的桥梁。用户程序在需要的时候,通过系统调用来使用硬件设备。系统调用的存在,有以下重要的意义:1)用户程序通过系统调用来使用硬件,而不用关心具体的硬件设备,这样大大简化了用户程序的开发。 比如:用户转载 2014-06-02 22:31:09 · 713 阅读 · 1 评论 -
总线
技术指标1、总线的带宽(总线数据传输速率)总线的带宽指的是单位时间内总线上传送的数据量,即每钞钟传送MB的最大稳态数据传输率。与总线密切相关的两个因素是总线的位宽和总线的工作频率,它们之间的关系:总线的带宽=总线的工作频率*总线的位宽/8或者 总线的带宽=(总线的位宽/8 )/总线周期2、总线的位宽总线的位宽指的是总线能同时传送的二进制数据的位数转载 2014-06-15 10:54:38 · 1026 阅读 · 0 评论 -
AMBA、AHB、APB、ASB总线简介
AMBA简介随着深亚微米工艺技术日益成熟,集成电路芯片的规模越来越大。数字IC从基于时序驱动的设计方法,发展到基于IP复用的设计方法,并在SOC设计中得到了广泛应用。在基于IP复用的SoC设计中,片上总线设计是最关键的问题。为此,业界出现了很多片上总线标准。其中,由ARM公司推出的AMBA片上总线受到了广大IP开发商和SoC系统集成者的青睐,已成为一种流行的工业标准片上结构。AMBA规范主转载 2014-06-15 10:45:03 · 6468 阅读 · 0 评论 -
从PC的总线到ARM内部总线
从PC的总线到ARM内部总线我在学习《Linux设备驱动程序(第3版)》的 第九章 与硬件通信 时,对 I\O总线的概念 不是很清晰,所以查找了有关资料。现在总结如下:本文的参考资料:1、 《AMBA、AHB、APB总线简介》 作者 adamzhao 日期 2006-11-16 19:33:00转载网址:http://www.openhard.org/myspace/blo转载 2014-06-15 10:36:41 · 717 阅读 · 0 评论 -
位运算
http://www.cnblogs.com/qkhhxkj/archive/2011/06/29/2093894.html转载 2014-07-09 10:56:44 · 331 阅读 · 0 评论 -
FIQ和IRQ区别
FIQ和IRQ是两种不同类型的中断,ARM为了支持这两种不同的中断,提供了对应的叫做FIQ和IRQ处理器模式(ARM有7种处理模式)。一般的中断控制器里我们可以配置与控制器相连的某个中断输入是FIQ还是IRQ,所以一个中断是可以指定为FIQ或者IRQ的,为了合理,要求系统更快响应,自身处理所耗时间也很短的中断设置为FIQ,否则就设置了IRQ。如果该中断设置为了IRQ,那么当该中转载 2014-06-15 10:01:08 · 922 阅读 · 0 评论 -
ARM公司相关讲解
ARM 公司本身并不靠自有的设计来制造或出售CPU,而是将处理器架构授权给有兴趣的厂家。ARM 提供了多样的授权条款,包括售价散播性等项目。对于授权方来说,ARM 提供了ARM内核的整合硬件叙述,包含完整的软件开发工具(编译器、debugger、SDK),以及与内核的整合硬件叙述,包含完整的软件开发工具(编译器、debugger、SDK),以及针对内含ARM CPU硅芯片的销售权。对于无晶圆厂的授转载 2013-05-11 17:58:04 · 684 阅读 · 0 评论 -
ARM中,总线如何连接?
ARM中,总线如何连接? 在ARM系统中,总线要连接很多东西,如FLASH,RAM,SD卡等等.我的问题是:系统设计中,各芯片地址如何分配,分配后总线的各控制pin又如何连接(重点问题)?为什么ARM的地址位和外部芯片的地址位会错位(例如ARM接A15--A0而FLASH接A17--A2)(重点问题)?转载 2014-06-19 00:37:46 · 926 阅读 · 0 评论 -
操作系统怎样控制硬件
一:BIOS和驱动程序是如何工作的1:当你选择一个命令.比如说,让你的文字处理软件保存一个文档时,应用程序不需要知道如何控制硬盘驱动器.取而代之的是,文档处理软件将命令和需要保存的数据传送给WINDOWS.2:操作系统要通过检查确认保存数据的命令没有问题.例如,它要确定文件名是否合法,同时你不能在一个标记着只读的文件上保存.3:如果一切就绪了,操作系统就会检查保存文件的操作系统是否需要转载 2013-05-11 20:37:06 · 3871 阅读 · 0 评论 -
普及ARM架构芯片的知识
关于ARM架构芯片的知识 嵌入式设备的芯片常采用ARM的架构,它通常包括三个部分,即CPU+GPU+DSP。 EPISODE ONE CPU常用的架构有ARM9,ARM11,诺基亚的手机多采用的是ARM11架构的CPU。这两转载 2013-05-13 10:52:06 · 1836 阅读 · 1 评论 -
操作系统与应用程序的关系
操作系统与应用程序的关系操作系统主要可以分为两大部分:内核和内核之外的一些程序。内核就是直接控制最底层的硬件,而我们日常所用到的软件,大都是通过内核之外一些程序与内核之间的接口完成的,例如WINDOWS API就是为我们提供了应用程序与内核的接口,以实现硬件上的一些操作。操作系统(Operating System,简称OS)是一管理电脑硬件与软件资源的程序,同时也是计算机系统的内核与基石。操作转载 2013-05-18 11:24:54 · 12099 阅读 · 1 评论 -
手机芯片中的AP与BP
话说前几日换工作,去了一家采用高通方案的终端厂商,之前咱没怎么接触过终端开发啊,看到高通的芯片里面又分什么AP、BP,甚是不解,于是百度之,终于知其大概。AP:Application Processor,即应用芯片BP:Baseband Processor,即基带芯片搞什么嘛,双核就双核呗,怎么又搞出个AP和BP啊原来,FCC(美国联邦通信委员会)认证要求将AP和B转载 2013-05-28 22:23:58 · 1099 阅读 · 0 评论 -
Linux 进程间通信 - 共享内存
共享内存区域是被多个进程共享的一部分物理内存。如果多个进程都把该内存区域映射到自己的虚拟地址空间,则这些进程就都可以直接访问该共享内存区域,从而可以通过该区域进行通信。共享内存是进程间共享数据的一种最快的方法,一个进程向共享内存区域写入了数据,共享这个内存区域的所有进程就可以立刻看到其中的内容。这块共享虚拟内存的页面,出现在每一个共享该页面的进程的页表中。但是它不需要在所有进程的虚拟内存中都有相同转载 2014-02-26 21:32:33 · 587 阅读 · 0 评论 -
linux 软中断(经典)
http://www.douban.com/note/245433620/转载 2014-04-15 18:38:27 · 467 阅读 · 0 评论 -
中断解析
http://www.kerneltravel.net/journal/viii/01.htm转载 2013-07-05 01:46:33 · 482 阅读 · 0 评论 -
完全看懂ARM 处理器:RISC 与CISC 是什么?历史、架构一次看透
http://www.techbang.com/posts/10678-fully-understand-arm-processors-cisc-and-risc-are-what-history-structure-a-see-through-the-computer-96-issues-cover-story-the-king?page=4转载 2013-05-11 12:22:52 · 1066 阅读 · 0 评论 -
ARM与DSP的区别?
我只知道arm是单片机,dsp是专用的做数字信号处理的芯片,由于是硬件处理。所以速度很快,主要是用在通讯方面。不懂通讯就别搞dsp了,会死人的。 第一部分:一、DSP(digitalsingnal processor)是一种独特的微处理器,是以数字信号来处理大量信息的器件。其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回转载 2013-04-26 02:00:55 · 1028 阅读 · 0 评论 -
ARM Cortex-M3
http://wenku.baidu.com/view/8fc3c75d312b3169a451a41d.html转载 2013-05-11 23:48:40 · 569 阅读 · 0 评论 -
揭秘TI移动AP中ARM核的应用演变
约两年后,TI推出了其新一代OMAP系列移动应用处理器(AP)——备受关注的OMAP3530。广受欢迎的OMAP系列移动AP还包括OMAP2420,它已被用在诸如诺基亚N93和N95等多种移动消费应用中。TechInsight分支机构Semiconductor Insights最近进行了一个初步分析以比较OMAP3530与OMAP2420之间的异同。OMAP平台是为包括手机、G转载 2013-05-11 15:23:00 · 818 阅读 · 0 评论