ARM
Da Liu
电子世界是讲科学的!!
展开
-
006_mini2440裸机异常和中断
006_mini2440裸机异常和中断基于ARM920T的S3C2440的7种操作模式1、User (usr): The normal ARM program execution state2、 FIQ (fiq): Designed to support a data transfer or channel process3、 IRQ (irq): Used for general-pu...原创 2019-11-09 16:13:57 · 253 阅读 · 0 评论 -
005_mini2440裸机读写sdram
1、查看sdram原理图由上图我们看出使用了两片16位数据宽度sdram芯片构成了一个32位数据宽度,读写数据都是以32位来操作。从上图中我们还可以恶获取到sdram的片选信号nSCS连接在nGCS6,即对应着bank 6。2、sdram寄存器配置1)BUS WIDTH & WAIT CONTROL REGISTER (BWSCON)该寄存器用于配置内存的位宽,...原创 2019-10-27 13:49:37 · 244 阅读 · 0 评论 -
004_Makefile编写
1、make概述Make 工具是 20 世纪 70 年代发明的用于编程项目编译的辅助工具。make 的编译思路很简单,如果源程序发生了改变,并需要重新构建程序或者其它输出文件时,make 先查看时间戳哪些改变了,并按照要求重新构建这些文件,而不浪费时间重新构建其它文件。 2、make基本规则一个简单的Makefile规则如下:TARGET... : PREREQUISITES......原创 2019-10-25 20:09:41 · 128 阅读 · 0 评论 -
003_arm-linux-gcc使用
1、概述arm-linux-gcc 是交叉编译器,基本用法与 gcc 相同,目的是将编译的程序放在目标机(ARM)上运行。2、用法举例(1)预处理:C/C++源文件中,以“#”开头的命令被称为预处理命令,如包含命令“#include”、宏定义命令“#define”、条件编译命令“#if”、“#ifdef”等。预处理就是将要包含(include)的 文件插入原文件中、将宏定义展开、根据条...原创 2019-10-24 21:30:25 · 1299 阅读 · 0 评论 -
002_GCC使用
为了能够让编写的C/C++程序能够在目标系统上运行我们需要一款编译器来编译源程序以得到能够在目标系统上运行的程序。而GCC就是常用Linux系统下的编译器。GCC是一个编译器套件,包含很多软件包,主要的软件包如下所示:名称 功能描述 cpp C 预处理器 gcc C 编译器 g++ C++...原创 2019-10-24 20:53:31 · 264 阅读 · 0 评论 -
ARM常用汇编指令
1、ldr:读内存例如:ldr r0,[r1]表示读取r1地址上的数据保存到r0中例如:ldr r0,=0x12345678相当于r0=0x123456782、ldm:读内存并写入多个寄存器例如:ldmia sp,{fp,sp,pc}按照高编号寄存器存放高地址内存值的原则,分别将fp,sp,pc所对应内存上的数据写到栈空间3、str:写内存命令例如:str...原创 2019-10-15 16:51:51 · 283 阅读 · 0 评论