mini2440下烧写u-boot后,就可以用u-boot烧写linux内核了。安装mkimage工具:apt-get install
u-boot-tools解压缩官方mini2440 linux包:tar xf linux-2.6.32.2-mini2440-20130614.tar.gz
然后...
分类:
其他好文 时间:
2014-05-24 04:40:40
阅读次数:
287
在 Linux 内核代码,特别是驱动代码中经常见到的用法是使用一个标准结构,后面的代码基于这个结构来实现,类似面向对象的多态特性。
在 C 语言里面借助结构体和函数指针实现的这个功能,这里我们写了个例子,提取了关键代码:
#include
struct s_new{
char name[10];
char* (* my_method)(char *name);...
分类:
系统相关 时间:
2014-05-23 07:58:18
阅读次数:
324
每个cpu都有队列来处理接收到的帧,都有其数据结构来处理入口和出口流量,因此,不同cpu之间没有必要使用上锁机制,。此队列数据结构为softnet_data(定义在include/linux/netdevice.h中):
/*
* Incoming packets are placed on per-cpu queues so that
* no locking is needed....
分类:
系统相关 时间:
2014-05-23 07:29:17
阅读次数:
514
终于把bochs和gdb连起来了,下面描述下步骤以作记录。
1.安装bochs
前面有篇文章介绍了bochs源码编译安装过程,这里安装也非常相似,只是命令稍微有些不同
./configure --enable-gdb-stub
make
make install
2.下载调试映像
http://oldlinux.org/Linux.old/bochs/linux-0.11-gdb-r...
分类:
数据库 时间:
2014-05-22 11:51:56
阅读次数:
341
#include
#include
struct test
{
char name[20];
void (*func)(char *);
};
void tttfunc(char *name)
{
printf("current is %d\n",__LINE__);
printf("%s\n",name);
}
int main()
{
struct test ttt=
{
.n...
分类:
系统相关 时间:
2014-05-22 11:25:09
阅读次数:
380
最近一段时间一直在学习向TQ2440开发板移植内核、移植驱动。真心觉得这方面的知识有很大的难度。但是从另一角度去看,难度越大,能力提升的空间就越大!!
1、解压源码
从网上下载一个Linux 内核,我是用的是Linux-2.6.20.4。然后用命令解压。建议解压到“/home/用户名”目录下。我的内核源码存放在:
2、添加对ARM的支持
因为所用的是TQ2440开发板,属于ARM9。因...
分类:
系统相关 时间:
2014-05-22 10:07:16
阅读次数:
357
1.vmlinux
vmlinux是一个包含linux kernel的静态链接的可执行文件,文件类型是linux接受的可执行文件格式之一(ELF、COFF或a.out)。
2.vmlinuz
vmlinuz是可引导的,压缩的linux内核,“vm”代表的“virtual memory”。vmlinuz是vmlinux经过gzip和objcopy(*)制作出来的压缩文件。vmlinuz不仅是一个压缩文件,而且在文件的开头部分内嵌有gzip解压缩代码。所以你不能用gunzip 或 gzip –dc解...
分类:
系统相关 时间:
2014-05-21 03:06:50
阅读次数:
429
http://pan.baidu.com/s/1ntqLA7v其中是我总结生成的一些文档,以便于理解当我们输入make
uImage后,系统是怎么一步一步生成uImage的,我采用的是逆向分析的方法。Linux内核的编译结构还是挺复杂的,我分析的还不到位,文档还有欠缺。下面是缩略图,在共享的目录中有...
分类:
系统相关 时间:
2014-05-20 12:31:45
阅读次数:
425
玩腻了开发板,在pc上编译linux内核。debian
官方的内核文档见http://kernel-handbook.alioth.debian.org我选择编译与当前内核版本对应的linux内核源码,因为我安装了linux3.13
backport内核,所以选择下面命令:apt-get insta...
分类:
其他好文 时间:
2014-05-20 09:11:07
阅读次数:
262
线程是一种使程序在同一时间做多件事的机制,和进程一样是并发执行的。linux内核调度为每个线程分配一个时间片,使用完后等待下次调度。和进程相比,线程是一种更小的执行单位。
每个进程启动后都会有一个线程在运行,称为主线程,可以在主线程中启动多个子线程,这些线程在同一个进程中,不同线程在给定时间内执行不同的代码片段。
我们可以fork一个子进程,这个子进程就是对父进...
分类:
编程语言 时间:
2014-05-18 04:58:16
阅读次数:
307