
ARM嵌入式
TYW----子曰小玖
人生最重要的不是所在的位置,而是所朝的方向。
展开
-
S3C2440与SDRAM的地址连线分析
S3C2440有27根地址线ADDR[26:0],8根片选信号ngcs0-ngcs7,对应bank0-bank7,当访问bankx的地址空间,ngcsx引脚为低电平,选中外设。2^27=2^7 * 2^10 * 2^10 = 128Mbyte8*128Mbyte = 1Gbyte所以S3C2440总的寻址空间是1Gbyte。市面上很少有32位宽度的单片SDRAM,一般选择2片16位转载 2017-04-18 11:29:22 · 472 阅读 · 0 评论 -
AAPCS、ATPCS
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.kui0097a/armcc_bcfgdbhg.htm1. 基本概念ATPCS (ARM-Thumb Procedure Call Standard)规定了一些子程序间调用的基本规则,这些规则包括子程序调用过程中寄存器的使用规则,数据栈的使用规则,参数的传递规则。有了这...转载 2019-04-08 11:27:39 · 908 阅读 · 0 评论 -
搭建完整的arm-linux-gcc等交叉编译环境
https://www.cnblogs.com/uestc-mm/p/6656325.html安装环境 Linux版本:Ubuntu 12.04 内核版本:Linux 3.5.0 交叉编译器版本:arm-linux-gcc-4.4.3 这个版本的交叉编译器安装前的絮叨 首先简单介绍一下,所谓的搭建交叉编译环境,即安装、配置交叉编译工具链。在该环境下编译出...转载 2018-12-11 15:51:57 · 23239 阅读 · 1 评论 -
嵌入式开发建立交叉编译环境
https://www.ibm.com/developerworks/cn/linux/l-embcmpl/index.html随着消费类电子产品的大量开发和应用和Linux操作系统的不断健壮和强大,嵌入式系统越来越多的进入人们的生活之中,应用范围越来越广。在裁减和定制Linux,运用于你的嵌入式系统之前,由于一般嵌入式开发系统存储大小有限,通常你都要在你的强大的pc机上建立一个用于目标机...转载 2018-12-11 15:38:58 · 542 阅读 · 0 评论 -
ARM编程进阶之三 —— 裸机硬件的控制方法与例程
到目前为止,我们已经能够编写较复杂的ARM汇编程序了,遗憾的是这些程序是运行在ads自带的虚拟开发板ARMUL下的,(在axd界面下,单击options->configure target,可见到如下的目标板配置界面)而我们最终的目的是要让程序运行在实际的硬件产品上,并能控制硬件。本文将初步介绍如何建立真实硬件的开发和调试环境,编写控制硬件的程序的方法。第一部分内容:如何建转载 2017-11-24 13:50:02 · 575 阅读 · 0 评论 -
ARM编程进阶之二 —— ATPCS与混合编程
完全使用汇编语言来编写程序会非常的繁琐,因此通常情况下,只是使用汇编程序来完成少量必须由汇编程序才能完成的工作,而其它工作则由C语言程序来完成。这样一来,我们实际上就是在进行汇编和C的混合编程,甚至同一个程序的汇编源文件和C源文件是由不同的程序员编写的。在这种情况下,要想使不同程序员编写的汇编代码和C代码能耦合的很好,则必须有一个双方都必须遵守的规则,这就是ATPCS规则。第一部分内容:A转载 2017-11-24 13:49:06 · 738 阅读 · 0 评论 -
ARM编程进阶之一 —— ARM汇编伪指令
到目前为止,我们已经具备编写较为复杂的ARM汇编程序的能力,但要编写较为复杂且实用的程序,我们就不得不掌握ARM汇编的伪指令(pseudo-instruction)。千万别把汇编伪操作(directive)与汇编伪指令(pseudo-instruction)弄混了,directive不会被编译器编译为机器指令,但pseudo-instruction会。而pseudo-instruction与指令(转载 2017-11-24 13:48:26 · 606 阅读 · 0 评论 -
ARM汇编编程基础之六 —— 其它寻址模式与其它指令
现在我们已经掌握了所有知识,可以编写简单的ARM汇编程序,但如果要编写较为复杂的ARM程序,就必须掌握更多的寻址模式和指令,这就是本文的重点所在。我们在“基本寻址模式与基本指令”一文中学习了最常用的3种寻址方式。下面介绍其它寻址方式。1、基址寻址基址寻址就是将基址寄存器的内容与指令中给出的偏移量相加,形成操作数的有效地址。基址寻址用于访问基址附近的存储单元,常用于查表、数组转载 2017-11-24 13:46:02 · 1075 阅读 · 0 评论 -
ARM汇编编程基础之五 —— ADS开发环境的使用
掌握了基本的汇编指令和伪操作后,就具备了编写简单ARM汇编程序的基本理论能力,不过要实战得到真实可执行的程序,还需要可以对程序进行编辑和编译的开发环境(命令行编译器或IDE)的支持,同时程序在开发过程中免不了要进行调试,这就需要调试器的支持。一般而言,会有供应商将程序的编译器、编译器、调试器以及其它一些辅助工具组合在一起,形成程序的开发、调试集成开发环境(IDE)软件,提供给程序开发人员使用。对A转载 2017-11-24 13:45:21 · 4065 阅读 · 0 评论 -
ARM汇编编程基础之四 —— ARM汇编伪操作
掌握了基本的ARM汇编指令后,要写出简单的ARM汇编程序,还必须要掌握基本的ARM汇编伪操作(directive)。现在我们来看一个简单的汇编程序,该程序调用子程序完成了加法操作。1 ;文件名:TEST.S2 ;功能:实现两个寄存器相加3 AREA Example,CODE,READONLY ;声明代码段Example4 ENTRY ;标识程转载 2017-11-24 13:44:18 · 669 阅读 · 0 评论 -
ARM汇编编程基础之三 —— 基本寻址方式与基本指令
要想进行ARM的汇编编程,首当其冲要知道最基本、最常用的指令,而要了解指令则必须要了解寻址方式。所以本文将聚焦在——基本寻址方式和基本指令。首先,来看一看我们已经见过的2条指令:MOV pc, lr; BL addsub最简单的汇编指令格式是操作码(例如:MOV、BL)和操作数(例如:pc, lr, addsub)。操作码易于理解,例如MOV表示将某个值从一处传送到另一处,BL表示转载 2017-11-24 13:43:39 · 947 阅读 · 0 评论 -
ARM汇编编程基础之二 —— 流水线对PC值的影响
CPU模型图,源自http://teach.jwc.bupt.cn:4213/jsjzcyl/resource/cai/素材库/fig/Flash/5.1.swf从上图中我们看到CPU内部有3个主要组成部分:指令寄存器,指令译码器,指令执行单元(包括ALU和通用寄存器组)。CPU在执行1条指令的时候,主要有3个步骤:取指(将指令从内存或指令cache中取入指令寄存器);译码(指令译转载 2017-11-24 13:42:35 · 782 阅读 · 1 评论 -
ARM汇编编程基础之一 —— 寄存器
ARM的汇编编程,本质上就是针对CPU寄存器的编程,所以我们首先要弄清楚ARM有哪些寄存器?这些寄存器都是如何使用的?ARM寄存器分为2类,普通寄存器和状态寄存器寄存器类别寄存器在汇编中的名称各模式下实际访问的寄存器用户系统管理中止未定义转载 2017-11-24 13:41:37 · 1205 阅读 · 0 评论 -
ARM指令状态切换到Thumb指令状态
http://blog.csdn.net/u011449588/article/details/44634977[plain] view plain copy [plain] view plain copy AREA Arm_to_Thumb,CODE, READONLY转载 2017-11-22 17:10:50 · 1710 阅读 · 0 评论 -
UBOOT中start.S中源码的指令级的详尽解析
转自:http://www.crifan.com/files/doc/docbook/uboot_starts_analysis/release/htmls/index.html 在看的Uboot的start.S中文件时候,发现其最开始初始化系统,做的第一件事情,就是将CPU设置为SVC模式,但是S3C2440的CPU的核心是ARM920T,其有7种模式,为何非要设置为SVC模式,而不是设转载 2017-09-08 11:25:02 · 710 阅读 · 0 评论 -
S3C2440对Nand Flash操作和电路原理(基于K9F2G08U0A)
转自:http://www.cnblogs.com/idle_man/archive/2010/12/23/1915303.htmlS3C2440对Nand Flash操作和电路原理(基于K9F2G08U0A)S3C2440内部集成了一个Nand flash控制器。S3C2440的Nand flash控制器包含了如下的特性:l 一个引导启动单元转载 2017-09-08 10:49:09 · 676 阅读 · 0 评论 -
K9F2G08 nandflash 底层读写、控制驱动程序,可随机读写
转自:http://www.cnblogs.com/mylinux/p/3994764.html/****************************************************************************** Copyright (C), 2001-2011, DCN Co., Ltd. *******************转载 2017-09-08 10:46:36 · 776 阅读 · 0 评论 -
嵌入式系统 BootLoader 技术内幕
嵌入式系统 BootLoader 技术内幕1. 引言在专用的嵌入式板子运行 GNU/Linux 系统已经变得越来越流行。一个嵌入式 Linux 系统从软件的角度看通常可以分为四个层次:(1). 引导加载程序。包括固化在固件(firmware)中的 boot 代码(可选),和 Boot Loader 两大部分。(2). Linux 内核。特定于嵌入式板子的定制转载 2017-04-18 14:56:10 · 337 阅读 · 0 评论 -
ARM协处理器介绍
https://blog.csdn.net/silent123go/article/details/53169783什么是协处理器 协处理器是一种芯片,用于减轻系统微处理器的特定处理任务。例如,数学协处理器可以控制数字处理;图形协处理器可以处理视频绘制。例如,intel pentium微处理器就包括内置的数学协处理器。 协处理器可以附属于ARM处理器。一个协处理器通过扩展指令集或...转载 2019-04-25 16:34:26 · 5452 阅读 · 0 评论