![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ARM硬件
jianchi88
这个作者很懒,什么都没留下…
展开
-
不同体系结构的处理器的大小端模式 .
所谓的大端模式,是指数据的低位(就是权值较小的后面那几位)保存在内存的高地址中,而数据的高位,保存在内存的低地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放; 所谓的小端模式,是指数据的低位保存在内存的低地址中,而数据的高位转载 2011-10-11 10:39:46 · 965 阅读 · 0 评论 -
U-boot分析与移植(6)----U-boot--Makefile
主要参考韦东山的《嵌入式Linux应用开发完全手册》 如果要使用开发板 board/,就先执行“make_config”命令进行配置,然后执 行”make all“,就可以生成 如下3个文件:U-boot.bin:二进制可执行文件,它就是可以直接烧入ROM,NORFlash的文件u-Boot:ELF格式的可执行文件,U-Boot.srec:Motorla S-Record格式的原创 2011-12-15 10:37:11 · 1942 阅读 · 0 评论 -
U-boot分析与移植(4)----U-boot 添加命令
我们初步了解U-Boot执行流程后,知道U-Boot的每一个命令都是通过U_BOOT_CMD宏定义的。这个宏在include/command.h头文件中定义,每一个命令定义一个cmd_tbl_t结构体。/*命令宏U_BOOT_CMD*/#define U_BOOT_CMD(name,maxargs,rep,cmd,usage,help) \cmd_tbl_t __u_原创 2011-12-14 12:31:18 · 2661 阅读 · 0 评论 -
s3c2440硬件学习笔记----存储控制器
一、使用存储控制器访问外设的原理 1、S3C2440的地址空间S3C2440对外引出27根地址线ADDR0-ADDR26,访问范围只有128MB,CPU对外还引出8根片选信号nGCS0-nGCS7,对应BANK0-BANK7,当访问BANKx的地址空间时,nGCSx引脚输出低电平来选中外接设备。 这样每个128MB空间,共8个片选,对应1GB的地址空间。空间分布图如下:转载 2011-12-15 10:03:45 · 3657 阅读 · 0 评论 -
U-boot分析与移植(3)----U-boot stage2分析 .
.一来到void start_armboot (void)函数,马上出现两个很重要的数据结构gd_t和bd_t1、gd_t : global data数据结构定义,位于文件 include/asm-arm/global_data.h。其成员主要是一些全局的系统初始化参数。typedef struct global_data { bd_t *bd; // struct b原创 2011-12-13 17:43:01 · 2383 阅读 · 0 评论 -
U-boot分析与移植(2)----U-boot stage1分析
我们要生成u-boot.bin文件,它首先依赖于很多.o文件和.lds链接脚本文件我们只要找到对应的.lds链接脚本文件就可以分析u-boot的启动流程。1、打开u-boot-1.1.6\u-boot-1.1.6\board\smdk2410\打开链接脚本boot.lds 看看:OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm",原创 2011-12-12 11:51:03 · 3001 阅读 · 1 评论 -
U-boot分析与移植(1)----bootloader分析
一、Boot Loader 概念就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境,他就是所谓的引导加载程序(Boot Loader)。嵌入式软件在Flash存储器中的分布图 二、为什么需要BootLoader?BootLoader的终原创 2011-12-12 10:40:49 · 5611 阅读 · 1 评论 -
GNU-ARM程序开发(一)----GNU开发环境和工具
什么是GNUGNU计划,又称革奴计划。是由Richard Stallman在1983年9月27日公开发起的。目标是创建一套完全免费、自由的操作系统,基本原则是源代码共享及思想共享。所有在GNU计划下开发的软件均为GNU软件。为保证GNU软件可以自由地“使用、复制、修改和发布”,所有GNU软件都在一份在禁止其他人添加任何限制的情况下授权所有权利给任何人的协议条款,GNU通用公共许可证(G原创 2011-12-08 12:42:14 · 7629 阅读 · 0 评论 -
U-boot分析与移植(1)----之bootloader分析
一、Boot Loader 概念就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境,他就是所谓的引导加载程序(Boot Loader)。嵌入式软件在Flash存储器中的分布图 二、为什么需要BootLoader?BootLoader的终原创 2011-12-11 10:35:07 · 141 阅读 · 0 评论 -
GNU-ARM程序开发(二)----GNU下的跑马灯
我们一般在Windows下的MDK环境或者是ADS环境下开发裸机程序下面来体验一下Linux下GNU-ARM的裸奔程序开发GNU ARM裸奔程序的开发步骤如下:1)编写程序(汇编/C程序)2)编写链接脚本3)编译、汇编程序文件,生产目标文件(.o)4)利用链接脚本链接目标文件,生产可执行文件(elf格式)5)利用格式转换工具(objcopy)将elf格式文件转换为bin原创 2011-12-08 17:38:13 · 2338 阅读 · 0 评论 -
ARM系统中断向量表的动态配置
通常情况下32位ARM嵌入式系统的中断向量表是程序编译前设置好的。在编写32位ARM 嵌入式系统的中断服务程序、设置和修改ARM体系结构的中断向量表时,常感到相当麻烦,不得不修改汇编代码,对不喜欢使用汇编代码编程的程序员尤其如此。 当需要在程序运行过程中动态修改中断向量的程序时会感到更为不便,不得不增加很多分支处理指令才能实现。为此本文提出一种简便高效的配置方法,实现了 R转载 2011-11-11 11:24:19 · 1562 阅读 · 0 评论 -
裸机触摸屏定位程序
#include "2440.h"#include #include // vsprintf defined void Port_Init(void){ //GPIO GPH2->TXD0 GPH3->RXD0 rGPHCON |= (0xa<<4); rGPHUP |= (0x3<<2); // The pull up function原创 2011-11-07 10:05:06 · 999 阅读 · 0 评论 -
理解嵌入式开发中的一些硬件相关的概念
理解嵌入式开发中的一些硬件相关的概念 做嵌入式系统开发,经常要接触硬件。做嵌入式开发对数字电路和模拟电路要有一定的了解。这样才能深入的研究下去。下面我们简单的介绍嵌入式开发中的一些硬件相关的概念。电平(Level) 在数字电路中,分为高电平和低电平,分别用1和0表示。一个数字电路的管脚,总是存在一个电平的,要么高要么低,或者说要么1要到0(其实,还有另一转载 2011-11-24 10:58:31 · 2059 阅读 · 2 评论 -
s3c2440硬件学习笔记----GPIO接口
一、GPIO介绍GPIO(General Purpose Input Output)意为通用输入输出端口,简单说就是一些引脚,通过它们输出高低电平或者通过它们读取引脚高低电平状态S3C2440有130个I/O端口,分为A-J共9组:GPA、GPB、、、、GPJ,可以通过设置寄存器来确定某个引脚用于输入、输出还是特殊功能。比如:可以设置GPH6作为输入、输出、或者用于串口。 1、转载 2011-11-22 18:00:54 · 4489 阅读 · 1 评论 -
s3c2440硬件学习笔记----嵌入式Linux基础知识和开发环境的构建
注:所有内容基于友善之臂Mini2440开发板一、嵌入式Linux开发环境的构建嵌入式开发一般分为三个步骤:1、编译bootloader,烧到开发板2、编译嵌入式Linux内核,烧到开发板3、编译各类应用程序,烧入开发板软件环境构建 采用主机windows,虚拟机CentOS上作为开发环境,虚拟机的安装和Linux安装就不说了。安装好后Linux应该配置samb转载 2011-11-22 16:54:17 · 2374 阅读 · 1 评论 -
ARM9五级流水线 .
Arm9的流水线分为:取值,译码,执行,仿存,回写取值从指令存储器取指令译码读取寄存器操作数执行产生ALU运算结果或产生存储器地址仿存访问数据存储器回写完成结果写寄存器五级流水线技术的问题:如果当前指令(A) 的目的操作原创 2011-11-01 10:17:52 · 3476 阅读 · 0 评论 -
s3c2440硬件学习笔记----内存管理单元MMU
本篇基本是韦东山书上的一、内存管理单元MMU介绍 内存管理单元简称MMU,它负责虚拟地址到物理地址的映射,并提供硬件机制的内存访问权限检查。MMU使得每个用户进程拥有自己独立的地址空间,并通过内存访问权限的检查保护每个进程所用的内存不被其他进程破坏。重点就在于地址映射:页表的结构与建立、映射的过程。 1、S3C2440 MMU地址变换过程 1)地址的分类一个程转载 2011-11-18 13:39:46 · 4292 阅读 · 0 评论 -
ARM7与ARM9区别
有一道题是ARM7与ARM9区别,并说出其中有性能提高的地方。 ARM7内核是0.9MIPS/MHz的三级流水线和冯·诺伊曼结构; ARM9内核是5级流水线,提供1.1MIPS/MHz的哈佛结构。 ARM7TDMI提供了非常好的性能-功耗比。它包含了THUMB指令集快速乘法指令和ICE调试技术的内核。ARM9的时钟频率比ARM7更高,采用哈佛结构区分了数据总线和指令总线。原创 2011-11-01 10:24:11 · 1537 阅读 · 0 评论 -
U-boot分析与移植(5)----U-boot移植
网上很多很好很详细的手册可以参考如:mini2440之U-boot移植详细手册-20100419.pdf移植u-boot-1.1.6到TQ2440文档.pdf移植u-boot-1.3.4到GT2440(第二版)-guolele出品.pdfARM79出品-u-boot移植手册.pdf 移植一个功能简单的U-boot并不难我的开发板平台:board:gec2440; cpu原创 2011-12-14 14:06:50 · 2075 阅读 · 0 评论