- 博客(11)
- 资源 (4)
- 收藏
- 关注
转载 lowlevel_init.S 分析
在我迷迷糊学看了lowlevel_init.S中的代码之后,有一个感觉就是,要想读懂其中的代码首先得看一下你所用的芯片手册,因为里面有比较详细的存储器控制(MemoryController)描述。我用的是s3c2440手册里写得十分清楚,总共有8个块(Banks)(Bank0~Bank7),每个块对应着不同的控制与地址线,其实这些Bank很大一部分是对应着的控制寄存器的地址,这个要看实际的芯片与
2010-01-26 14:59:00 1323 1
转载 C 扩展
在阅读GNU/Linux内核代码时,我们会遇到一种特殊的结构初始化方式。该方式是某些C教材(如谭二版、K&R二版)中没有介绍过的。这种方式称为指定初始化(designated initializer)。下面我们看一个例子,Linux-2.6.x/drivers/usb/storage/usb.c中有这样一个结构体初始化项目: static struct usb_driv
2010-01-25 10:29:00 923
原创 一些锻炼代码能力的函数总结
写一个函数fn(),功能是传一个参数是字符串,查找里面有没有相同的字符,有的话返回1,否则0.两种方法,一是效率最高的,二是最节省内存的.int fn0(const char *str){ char num[256] = {0}; unsigned char *pos = (unsigned char *)str; while (*
2010-01-24 17:52:00 597
原创 C 语言
C 语言你可能不知道的一些特性1 定义可变长的数组#include int a[0];//编译器认为这已经有一个元素了,数组大小不能为0// int a[]; 定义这个也可以不过会出现警告 int function1 () { int i; int a[5] = {1,2,3,4,5}; for (i = 0; i {
2010-01-24 17:46:00 510
原创 (void) (&_min1 == &_min2);
偶然在里面看到下面这个宏定义: #define min(x, y) / ({ / typeof(x) _min1 = (x); / typeof(y) _min2 = (y); /
2010-01-23 15:48:00 2429 1
转载 u-boot源码分析及移植
u-boot源码分析及移植 收藏 http://www.eetop.cn/blog/html/92/23692-13841.html本文从以下几个方面粗浅地分析u-boot 并移植 到FS2410板上:1、u-boot工程的总体结构2、u-boot的流程、主要的数据结构、内存分配。3、u-boot的重要细节,主要分析流程中各函数的功能。4、基于FS2410板子的u-boot移植。实现了NOR
2010-01-23 15:35:00 830
转载 Linux typeof
今天偶然又看到了typeof这个东西,只知道它大概是返回变量的类型,后来上网查了下发现这个关键字在linux中用的非常多, 这里大概叙述了typeof是一个什么东西,怎么用,实际上可以用简单的话来重述。如果你对sizeof很熟悉的话,那么大可进行类推,sizeof(exp.)返回的是exp.的数据类型大小,那么typeof(exp.)返回的就是exp.的数据类型。值得注意的是在上面的话里我们可以看
2010-01-23 15:27:00 2331 1
转载 Linux 内核中的 GCC 特性
http://www.ibm.com/developerworks/cn/linux/l-gcc-hacks/?S_TACT=105AGX52&S_CMP=tec-csdn
2010-01-23 15:19:00 448
转载 协处理器
ARM 微处理器可支持多达 16 个协处理器,用于各种协处理操作,在程序执行的过程中,每个协处理器只执行针对自身的协处理指令,忽略 ARM 处理器和其他协处理器的指令。ARM 的协处理器指令主要用于 ARM 处理器初始化 ARM 协处理器的数据处理操作,以及在ARM 处理器的寄存器和协处理器的寄存器之间传送数据,和在 ARM 协处理器的寄存器和存储器之间传送数据。 ARM 协处理器指令包括以下 5
2010-01-20 17:33:00 712
转载 arm gnu 汇编语法
尽管在Linux下使用C或C++编写程序很方便,但汇编源程序用于系统最基本的初始化,如初始化堆栈指针、设置页表、操作ARM的协处理器等。初始化完成后就可以跳转到C代码执行。需要注意的是,GNU的汇编器遵循AT&T的汇编语法,可以从GNU的站点(www.gnu.org)上下载有关规范。一. Linux汇编行结构任何汇编行都是如下结构:[:] [} @ comment[:] [} @ 注释Linu
2010-01-20 17:31:00 2971 1
转载 align
今决定认真分析一下u-boot的代码,但一开始就被“.balignl 16 0xdeadbeef”这条语句难住了,还好,google了一下,找到了《分析了一下 align 的用法》这篇文章,作者写得很好,看完后,我根据自己的实验结果,做了适当的更改,以让自己看起来更明白,把它记录如下:.align 就是用来对齐的,究竟怎么对齐,有啥情况?下面分析一下(一)$vim align1.s
2010-01-20 17:27:00 894
Bash 脚本高级编程
2010-03-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人