- 博客(25)
- 资源 (53)
- 收藏
- 关注
转载 Linux 16进制查看命令、工具
1. 在 vi 或 vim 的命令状态下:%!xxd ——将当前文本转换为16进制格式。 :%!xxd -r ——将当前文件转换回文本格式。 2. od - dump files in octal and other formats 顾名思义是查看八进制,可以通过指定参数为查看十六进制 -A 指定左边侧栏显示的地
2012-09-27 18:42:35 741
转载 uboot分析之旅
首先给出uboot源码下载地址: http://www.icdev.com.cn/batch.viewlink.php?itemid=1694 1、uboot功能:1、硬件相关的初始化关看门狗、初始化时钟、初始化SDRAM(为了开发方便还需要加入以下功能:烧写flash、支持网卡、支持usb、支持串口)2、从flash读出内核 3、启动内
2012-09-26 10:08:53 836
转载 __attribute__机制介绍
1. __attribute__ GNU C的一大特色(却不被初学者所知)就是__attribute__机制。__attribute__可以设置函数属性(Function Attribute)、变量属性(Variable Attribute)和类型属性(Type Attribute)__attribute__前后都有两个下划线,并且后面会紧跟一对原括弧,括弧里面是相应的__attrib
2012-09-26 10:05:09 454
转载 uboot命令添加过程
uboot命令添加过程 U-Boot的命令为用户提供了交互功能,并且已经实现了几十个常用的命令。如果开发板需要很特殊的操作,可以添加新的U-Boot命令。 U-Boot的每一个命令都是通过U_Boot_CMD宏定义的。这个宏在头文件中定义#ifdef CFG_LONGHELP#define U_BOOT_CMD(name,maxargs,rep,cmd,usag
2012-09-26 09:59:49 798
原创 Makefile常用函数表
一、字符串处理函数1.$(subst FROM,TO,TEXT)函数名称:字符串替换函数—subst。函数功能:把字串“TEXT”中的“FROM”字符替换为“TO”。返回值:替换后的新字符串。2.$(patsubst PATTERN,REPLACEMENT,TEXT)函数名称:模式替换函数—patsubst。函数功能:搜索“TEXT”中以空格分开的单词,将否符合模式
2012-09-25 16:12:29 680
转载 C语言中的快速排序 qsort函数详解
qsort函数是ANSI C标准中提供的,其声明在stdlib.h文件中,是根据二分发写的,其时间复杂度为n*log(n),其结构为:void qsort(void *base,size_t nelem,size_t width,int (*Comp)(const void *,const void *));其中:*base 为要排序的数组nelem 为要排序的数组的长度wid
2012-09-19 19:40:36 1630
原创 各种情况下的编译
汇编程序的入口标签是_start, 而C程序的入口标签是main函数。(1)C程序的编译过程: gcc main.c -o main 过程: 预处理: gcc -E main.c -o main.i 编译: gcc -S main.i -o main.s 汇编: gcc -c main.s -o main.o 连接
2012-09-17 22:32:44 636
原创 链接脚本
链接脚本:=================什么是链接脚本,就是用于告诉链接器如何把输入文件内的各个段(section)放到输出文件中,并控制输出文件中的各个段在此程序运行时的地址空间布局。一个程序由多个段组成,那么这些段是如何在文件中存放的,以及是如何加载到内存的相应位置进行执行的呢,这个就是通过连接脚本进行控制的。链接脚本格式: 链接脚本由一系列命令组成,每一个命令由一个关键字
2012-09-17 22:31:24 750
原创 ARM所有常用指令的实例与说明
ARM所有常用指令的实例与说明:程序跳转类指令:====================BX, 语法: bx Rn 此指令执行程序跳转,执行后,cpu从Rn这个寄存器里面所存的内存地址处开始继续执行。由于是跳转,因此也会同时刷新管道线。另外,如果此Rn的最低位为1的话,随后的指令将被译作thumb指令,如果最低位为0的话,随后的指令将被译作arm32位指令。因此,
2012-09-17 22:30:25 4533
原创 ARM linux常用汇编语法
=============================汇编语言每行的语法: lable: instruction ; comment段操作: .section 格式: .section 段名 [标志] [标志]可以是如下: a 允许段 w 可写段 x 可执行段 常见段名: data, bss, text, rodata段,我们也可以定义我
2012-09-17 22:28:46 1237
原创 arm gcc内嵌汇编
arm gcc内嵌汇编=============================高级语言可以实现大部分编程功能,但是当我们需要对特定代码进行优化,写启动代码,或者操作特定硬件,或需要直接用CPU指令等等操作的时候我们需要用到汇编。但是我们只想在高级语言(比如C语言)中的某些特定部分插入某些汇编指令,这时候,我们就需要用高级语言提供的内嵌汇编功能。我们以arm gcc为例,用arm gcc进
2012-09-17 22:27:03 4450
转载 ARM_GCC内嵌汇编
关于这篇文档对于基于ARM的RISC处理器,GNU C编译器提供了在C代码中内嵌汇编的功能。这种非常酷的特性提供了C代码没有的功能,比如手动优化软件关键部分的代码、使用相关的处理器指令。这里设想了读者是熟练编写ARM汇编程序读者,因为该片文档不是ARM汇编手册。同样也不是C语言手册。这篇文档假设使用的是GCC 4 的版本,但是对于早期的版本也有效。GCC asm 声明让我们以一
2012-09-17 16:11:39 1298
转载 在 Visual C++ 中使用内联汇编- -
在 Visual C++ 中使用内联汇编- - 使用内联汇编可以在 C/C++ 代码中嵌入汇编语言指令,而且不需要额外的汇编和连接步骤。在 Visual C++ 中,内联汇编是内置的编译器,因此不需要配置诸如 MASM 一类的独立汇编工具。这里,我们就以 Visual Studio .NET 2003 为背景,介绍在 Visual C++ 中使用内联汇的相关知识(如果是早期的版本,可能
2012-09-15 18:09:06 1287
转载 Ubuntu NFS服务器的配置
这里对NFS服务器就不多加介绍,想要配置该服务器的朋友定然会知道这是用来做什么的,所以我们直接以下的介绍。1、安装Ubuntu nfs Ubuntu上默认是没有安装Ubuntu nfs服务器的,因此我们首先安装Ubuntu nfs服务器端: $sudo apt-get install nfs-kernel-server 在一些文档中,提出还需要使用apt-get来
2012-09-15 17:50:32 553
转载 U-Boot第一阶段关键代码理解
1.u-boot程序的入口地址要理解程序的入口地址,自然想到的是连接文件,首先看连接文件"/board/smdk2410/u-boot.lds"ENTRY(_start)SECTIONS{. = 0x00000000;. = ALIGN(4);.text :{cpu/arm920t/start.o (.text)*(.text)}. = AL
2012-09-15 17:49:54 1359
转载 嵌入式 C 中嵌套汇编的格式
在使用gcc编译的时候,可以在C语言程序中嵌套汇编指令,这样极大的方便在高级语言中使用跟配件相关的指令。(1) 在gcc中嵌套的汇编指令跟纯汇编文件的语法有一点不一样,在gcc中嵌套指令的格式是固定的: __asm__(code : output operand list : input operand list : clobber list);
2012-09-15 17:47:56 1141
转载 NOR和NAND flash区别,RAM 和ROM区别
ROM是Read Only Memory的缩写。RAM是Random Access Memory的缩写。典型的RAM就是计算机的内存。 RAM有两大类,一种称为静态RAM(Static RAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲。另一种称为动态RAM(Dynamic RAM/
2012-09-13 15:30:11 943
原创 nor flash 与 nand flash 区别
NandFlash和NorFlash都是Flash的一种,都是散存,都是磁盘存储介子,但是NandFlash一般比较大,而NorFlash都比较小,并且NorFlash比较贵,并且NorFlash写的速度比较慢,但读的速度比较快 ,而NandFlash读的速度比较慢,写的速度比较快一、类型理解 分为NOR(或非) NAND(与非)二、接口理解 NOR(或非)--
2012-09-13 15:26:49 923
转载 c运算符优先级
优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右 ()圆括号(表达式)/函数名(形参表) .成员选择(对象)对象.成员名
2012-09-12 23:52:24 446
转载 Linux下的lds链接脚本基础
今天在看uboot引导Linux部分,发现要对链接脚本深入了解,才能知道各个目标文件的内存分布映像,下面是我看到的一些资料 0. Contents 1. 概论 2. 基本概念 3. 脚本格式 4. 简单例子 5. 简单脚本命令 6. 对符号的赋值 7. SECTIONS命令 8. MEMORY命令 9. PHDRS命令 10. VE
2012-09-11 15:58:26 729
转载 ARM协处理器主要用途 及其 指令CDP LDC STC MCR MRC介绍
ARM协处理器主要用途 及其 指令CDP LDC STC MCR MRC介绍 ARM 微处理器可支持多达 16 个协处理器,用于各种协处理操作,在程序执行的过程中,每个协处理器只执行针对自身的协处理指令,忽略 ARM处理器和其他协处理器的指令,ARM 的协处理器指令主要用于: ARM处理器初始化 ARM协处理器的数据处理操作 在ARM协处理器
2012-09-06 20:17:55 810
转载 ARM920T的CP15协处理器
Cache ARM920T有16K的数据Cache和16K的指令Cache,这两个Cache是基本相同的,数据Cache多了一些写回内存的机制,后面我们以数据Cache为例来介绍Cache的基本原理。我们已经知道,Cache中的存储单位是Cache Line,ARM920T的一个Cache Line是32字节,因此16K的Cache由512条Cache Line组成。要了解Cache的
2012-09-06 19:18:13 1267
转载 S3C6410的启动
废话不多说,去年折腾了一年s3c2440的板子,今年自己又买了一块s3c6410的板子,从今天开始,进行裸机驱动的开发,本文开始第一篇,启动代码的编写,注意,仅仅是启动代码,并不是bootloader,因为只有boot,没有loader。 第一要明确:CPU上电之后,会从某个固定地址执行指令。ARM结构的CPU从地址0x00000000开始执行指令,MIPS结构的CPU将会从0XB
2012-09-06 19:12:06 534
转载 探讨6410的启动过程
一直想在 6410上写个启动代码。由于板子上没有nor flash。所以只能通过SD卡启动或nand flash启动,在这里要注意,我们虽然说是从sd或nand启动,实际上在他之前,还有一段代码固化到了芯片的内部rom(irom)中了,这段代码是先运行的,这段代码会将SD卡或nand flash上程序加载到内部ram中(Stepping Stone(8kb)),然后从那里继续运行。
2012-09-06 19:11:29 500
转载 S3C6410启动模式介绍
目前的ARM处理器都支持多种启动模式,S3C6410和以前的Samsung的ARM处理器一样,通过外部管脚OM[4:0]的拉高拉低来决定是从哪个存储设备上启动。我认为S3C6410的User Manual并没有说的很清楚,所以我在最开始使用的时候,也对其启动模式有一些误解,下面就我个人的理解,介绍一下S3C6410的启动。 先读一下S3C6410 User Manual的第3章 System
2012-09-06 19:08:49 432
强大的右键管理工具
2017-09-08
split_bootimg.pl 解包boot.img initramfs ramdisk工具
2015-09-06
autoit3.zip
2013-05-16
存储服务器rootfs 1.02
2013-04-06
存储服务器rootfs
2013-04-06
嵌入式rootfs
2013-04-03
H.264Dec-Encode
2013-03-14
zlib-1.2.3.tar.gz
2013-03-08
dropbear-0.52.tar.gz
2013-03-08
linux usb摄像头源代码
2013-03-07
s3c6410 自制 uboot 源代码 第二版 2.0
2012-10-11
s3c6410 自制 uboot 源代码
2012-10-10
reqPackages.rar
2012-05-23
Nitro Pro 7 破解 PDF编辑制作工具
2012-04-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人