arm soc
linxi_hnh
这个作者很懒,什么都没留下…
展开
-
基于ARM的SoC设计入门
我们跳过所有对ARM介绍性的描述,直接进入工程师们最关心的问题。要设计一个基于ARM的SoC,我们首先要了解一个基于ARM的SoC的结构。图1是一个典型的SoC的结构: 图1从图1我们可以了解这个的SoC的基本构成: ARM core:ARM966E AMBA 总线:AHB+APB 外设IP(Peripheral IPs):VIC(Vector Inte转载 2012-11-02 14:06:47 · 1256 阅读 · 0 评论 -
uboot 下 FDT的支持
doc/README.update#define CONFIG_FIT#define CONFIG_FIT_VERBOSE#define CONFIG_OF_LIBFDT原创 2013-01-04 18:16:21 · 1033 阅读 · 0 评论 -
GNU ARM汇编 - (1)
[原文:http://www.rosoo.net/a/201004/9110.html]1. 特殊字符 代码行中的注释符号: ‘@’ 整行注释符号: ‘#’ 语句分离符号: ‘;’ 直接操作数前缀: ‘#’ 或 ‘$’ .arm 以arm格式编译,同code32 .thumb 以thumb格式编译,同code1转载 2013-01-06 13:51:15 · 436 阅读 · 0 评论 -
GNU ARM汇编 - (2)
本连载的2/3/4/5部分,如无特别说明,均出自:北师大课件1. 数据定义伪操作 // ltorg =>用于在当前段的当前地址,产生一个data buffer的开始地址,可以分配很大的空间 .ltorg /*产生一个文字池的伪操作*/ src: /*定义一个字(word=32bit)数据区*/转载 2013-01-06 14:06:00 · 528 阅读 · 0 评论 -
Ubuntu 下qemu的安装
1. 安装命令比较简单,如果之前没有安装过qemu的话,通过下面两个命令进行安装: add-apt-repository ppa:linaro-maintainers/tools apt-get update apt-get install qemu-user-static qemu-system 安装完通过以下命令查看所支持的机器: $qemu转载 2013-01-06 14:11:36 · 700 阅读 · 0 评论 -
ARM MPCore -- (2)
1. NOP NOP不一定会占用CPU执行时间,可能在执行该指令前,CPU已将其从管道中移除。 可以用NOP进行填充,使后续指令处于64bit边界上。2. SEV 向所有CPU Core发送事件信息。 3. WFE (Wait For Event) 如果未设置事件寄存器,则 WFE 会暂时中断挂起执行,直至发生任一以下转载 2013-01-06 13:41:12 · 1374 阅读 · 0 评论 -
ARM MP-core启动流程
1. iROM启动MP Core时,通常的做法: (1)让CPU0执行主要开机流程,其它的处理器进入WFI. (在启动时,每个处理器可以透过CPU ID得知自己是否为CPU0,如果不是,就进入WFI的程序代码中.) 即:让AP进入Sleep (2) 初始化外部内存与执行系统的初始化 (3) 设定 Stack 在转载 2013-01-06 14:09:27 · 646 阅读 · 0 评论 -
GNU ARM汇编 - (3)
1. .req伪操作 用于为特定的寄存器定义名称。 方便程序员记住该寄存器的功能 .reg COUNT, R7 ; 定义R7为COUNT 2. ADS与GNU伪操作对照表转载 2013-01-06 14:06:35 · 374 阅读 · 0 评论 -
ARM MPCore --(1)
在ARM世界,MP Init目前没有一个统一的规范。(Andrew Fish said) 1. Barriers and Synchronization DSB -- Data Synchronization Barrier DMB -- Data Memory Barrier 2. Cluster Cortex-A15 M转载 2013-01-06 14:08:16 · 1079 阅读 · 0 评论 -
ARM Architecture C 语言寻址解析—— 从U-Boot relocation所展开的探索(一)
ARM Architecture C 语言寻址解析——从U-Boot relocation所展开的探索(一)by 蔡于清文章的名字有点长也有点拗口,但它却很好的表达了本文的主题和来历。这个主题将讨论和分析ARM架构上C语言对变量和函数的寻址方式,为什么要讨论这个主题?或者说为什么会想到去讨论这个主题?答案就在文章的副标题,没错,因为U-Boot。这段时间本人在移植U-Bo转载 2012-12-23 15:43:28 · 459 阅读 · 0 评论 -
ARM Architecture C 语言寻址解析—— 从U-Boot relocation所展开的探索(三)
ARM Architecture C 语言寻址解析——从U-Boot relocation所展开的探索(三)by蔡于清ARMArchitecture C语言PIC寻址方式解析(续)继续讨论上一篇文章的问题,GOT所记录的是C的对象地址,但一个工程中往往还存在汇编代码定义的变量(事实上汇编语言中并不存在“变量”这一说法,这些所谓的“变量”更准确的讲是一个"Lable",C转载 2012-12-23 15:42:21 · 440 阅读 · 0 评论 -
DQ与DQS [转]
A.关于内存设计的几个方面 我们以目前应用广泛的184pin DDR内存为例。 DDR一个很重要的方面就是使用了Delay-Locked Loop (DLL,延时锁定回路即数据琐向环,锁定和调整内部时钟)来提供数据滤波信号(DataStrobe signal)。数据有效时,存储控制器使用这个数据滤波信号来精确定位数据。每16位做一次输出(内存核心中的I/O寄存器在时钟信号上升沿转载 2012-11-02 14:22:42 · 21605 阅读 · 1 评论 -
C 和 ARM 汇编
1 在ARM C语言程序设计中使用关键字__asm来标识一段汇编指令程序,其格式如下: __asm { }2 在C++程序中使用C程序的用户自定义的头文件时,必须将其放在伪指令“extern ”C" { }"中。范例如下: extern "C"{ #include "my_c_header.h" }原创 2012-11-05 11:28:53 · 517 阅读 · 0 评论 -
arm assemble and gnu assemble
ARM與GNU Assembler差異到底有多大,只能說非常的大!用過就知道,之前就將GNU 可成功Make的程式丟到ADS(他用的是ARM Assembler,自家開發的嘛)上模擬,看看中斷點、暫存器數值、程式流程。錯誤居然有309個(組合語言部分,C語言倒是沒什麼問題)Google了ADS_Errors_and_Warnings、An Introduction to the G转载 2012-11-20 20:33:11 · 579 阅读 · 0 评论 -
arm gnu 汇编
1 adr 指令: ADR R4, SSA2 + 0x20 ;把语句标号SSA2的地址加上0x20赋值给R4 LDR R5,=SSA2+0x20 ;把“SSA2 + 0x20"处的地址赋值给R5. LDR R9,#800原创 2012-11-03 18:21:56 · 431 阅读 · 0 评论 -
linux源码中,.org 0x2000,ENTRY(pg1)表示的是什么意思?org是什么意思,ENTRY是什么意思啊?
.org 0x2000表示内容填充至地址0x2000。如:你的文件有0x1000字节,你指定链接器ld将该文件的内容加载到内存地址0x0000,这样文件最末就在地址0x0FFF上,你承认吧。如果在文件的末尾有.org 0x2000这条指令,就说明你要求汇编器用“0x0”填充从地址0x1000到0x2000的内容。 填充的内容可由你自己决定,默认应该是0x0。ENTRY(pg1)是一个宏1.转载 2012-11-25 14:56:04 · 1606 阅读 · 0 评论 -
Linux下的一个简单汇编程序, .long声明数据的长度问题!
[c-sharp] view plaincopy#PURPOSE: This program finds the maximum number of a # set of data items. # #VARIABLES: The registers have the following uses: # # %edi - Hol转载 2012-11-25 14:52:49 · 484 阅读 · 0 评论 -
ARM Architecture C 语言寻址解析—— 从U-Boot relocation所展开的探索(二)
ARM Architecture C语言寻址解析——从U-Boot relocation所展开的探索(二)by蔡于清ARMArchitecture C语言PIC寻址方式解析承前文所述,可不可以产生一种可以运行在任意地址段的代码呢?可以,这种代码被称之为Position-IndependentCode,简称PIC(windows DLL,Linux ShareObjec转载 2012-12-23 15:42:56 · 566 阅读 · 0 评论 -
good 网址
uboot 分析http://chxxxyg.blog.163.com/blog/static/15028119320128179370659/视频http://hi.baidu.com/mrxzwang原创 2012-12-23 15:57:21 · 777 阅读 · 0 评论 -
如何在Ubuntu中利用Qemu运行BeagleBoard firmware
1. 准备工作 (1). 安装 Linaro qEmu: ----------------------- cd $(WORKROOT) git clone git://git.linaro.org/qemu/qemu-linaro.git cd $(WORKROOT)/qemu-linaro ./con转载 2013-01-06 14:10:48 · 881 阅读 · 0 评论