自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 linux中断三个数据结构

以一个IRQ中断为例子。内核启动-------调用start_kernel()函数------调用setup_arch(&command_line)函数-----------调用early_trap_init()函数,实现异常向量表,异常处理代码的搬运如果产生IRQ中断---------PC指向搬运后的异常向量表的vector_irq + stubs_offset地址 -------跳

2012-04-20 15:09:31 1300

原创 中断剖析一early_trap_init()函数解析

今天就将上面的函数,该函数实现的功能就是:该函数代码很小,主要就是:  memcpy((void *)vectors, __vectors_start, __vectors_end - __vectors_start);    memcpy((void *)vectors + 0x200, __stubs_start, __stubs_end - __stubs_start);而关于vec

2012-04-19 22:25:20 3476

原创 ARM9---中断篇

广工仔有意转载,请标明来源:http://blog.csdn.net/shiyi_2012/article/details/7467956其实对于ARM9中断和51差不多啦,总的就是中断前期准备做好,然后中断满足,中断做后续工作就OK啦。第一个问题就是ARM9中断实质。首先要好好理解这个表,就是相应的中断产生之后,处理器就会使得PC指针自动跳转到该对应地址上。所以,对于

2012-04-17 00:44:49 8587

原创 存储器之DRAM

1S.DRAM是什么?上网百度百科一下:DRAM(Dynamic Random Access Memory),即动态随机存取存储器最为常见的系统内存。DRAM 只能将数据保持很短的时间。为了保持数据,DRAM使用电容存储,所以 必须隔一段时间刷新(refresh)一次,如果存储单元没有被刷新,存储的信息就会丢失。 (关机就会丢失数据)。关键字,存储。也就是存放数据。2.SDRAM的特点

2012-04-14 23:45:53 2109

原创 LED子系统剖析(一)

广工仔如果有意转载,请标明来源:http://blog.csdn.net/shiyi_2012/article/details/7456165写之前,先看一张图:上次说了LED驱动程序,Linux自身也携带了LED驱动,且是脱离平台的,即LED子系统。操作起来十分简单。但是它的实质却不是那么容易,研究了一个晚上,终于明白了其中一个文件的功能啦,机led-class.

2012-04-13 00:45:32 11305 4

原创 ARM9---LED驱动

前天写了ARM9的LED和按键的裸机程序,今天把它用驱动实现。但是真的不好写,搞了一个晚上,不过真算OK啦。我的这个驱动,实现的功能就是提供一个菜单给你选择,只要在总端输入数字选着LED运行模式就可以。并且我用KI按键,实现了可以返回菜单另选另一种模式的功能。最后一个,就是应用层序是一个死循环,我还提供一个选择,退出死循环。但是另选模式后,要执行完本次才执行重选的模式。图如下:1.进入

2012-04-12 00:56:08 3492

原创 linux网络设备驱动之实质篇

在讲解linux内核自身携带的网络设备驱动程序之前,先讲解一下网络设备模型,知道要做些什么。对于网络设备驱动,主要目的就是接受数据和发送数据。而人们把网络设备的体系结构就分为上面四层,就是为了更好的实现上面两个功能。怎么更好,后面会说到。先来个总介,后面在展开细讲。网络协议接口层提供两个函数,dev_queue_xmit发送函数和netif_rx接收函数,而网络设备接口层其实姐

2012-04-10 18:13:41 1540

原创 ARM9---LED和按键

//寄存器设置#define  GPBCON   (*(volatile unsigned long *)0x56000010)#define  GPBDAT   (*(volatile unsigned long *)0x56000014)#define  GPBUP    (*(volatile unsigned long *)0x56000018)#define  G

2012-04-10 00:18:58 1055

原创 一个linux下安装多个内核

步骤:1.解压内核源代码到某个目录中2.make  distclean清理内核中间文件与配置文件3.选择参考配置文件cp /boot/config-2.6.18-53.e15    .config4.配置内核使.config生效make menuconfig退出5.编译内核make bzImage6.编译内核模块mak

2012-04-06 20:00:04 1631

原创 uboot之---make smdk2410_config命令详细解析

广工10转载请标明来源:http://blog.csdn.net/shiyi_2012/article/details/7420459随便找个uboot源代码就可以啦。  首先进入顶层Makefile。有很多相对不同板子的配置,如:gec2440_config:unconfig @$(MKCONFIG) $(@:_config=) arm arm920t

2012-04-01 22:08:40 7892 1

原创 U-boot启动第一阶段详细分析

#include #include .globl _start                  //定义全局变量_start: b       reset  ;     //跳转到reset标号处,现在到那个地方look//中断时候使用,产生中断时,跳到指定位置ldr pc, _undefined_instruction  ldr pc, _softwar

2012-04-01 20:32:45 3326

原创 linux内核编译的实质

广工如果有意转载请标明来源:http://blog.csdn.net/shiyi_2012/article/details/7396785当你解压一个linux内核源代码的时候,里面没有vmlinux文件的。但你对linux编译为某个平台,无论是ARM还是PC都行,都可以发现,你编译后就根目录比原来多了一个文件vmlinux,这就是内核镜像文件。他是如何产生的呢?大家可能知道内核就是通

2012-03-26 21:41:49 4203

原创 菜鸟

再过一学期就大三啦,不过自己都没学到什么,就只会51,真被吹。。。迷茫一了阵子,受身边的人影响,决定学linux+arm,虽和我专业挂钩不大,不过大学四年总该学一些东西。所以这学期买了块ARM9,决定趁现在好好学学,以后能混口饭吃。到了今天,用了一个月时间,总算把linux应用编程过了一遍了。文件IO、进程、进程几种通信、守护进程、线程编程、网络TCP和UDP编程、QT编程都学了一点皮毛。QT这个

2012-03-24 23:15:37 478

原创 QT+网络编程。。适合出学者

广工10级转载请标明来源:http://blog.csdn.net/shiyi_2012/article/details/7391099先看一下实现的效果:我的这个qt是客户端,只负责接收数据,所以需要一个服务端来发数据。对于服务端,后面我有提供一个服务端程序,大家也可以随便找一个都可以,只要有发送数据就可以的啦。由图可知,这个qt客户端既可以接受同一台计算机同一个系统

2012-03-24 22:01:10 933

原创 QT汉化

广工10级QT是可以汉化的(原创)转载请标明来源:http://blog.csdn.net/shiyi_2012/article/details/7390937原来红帽5的QT是可以汉化的,步骤相当简单: QT汉化,其实就是在源代码上做一点手脚就可以啦。步骤:    1.编写QT(也可以利用QT designer)产生一些源代码。如本例就是简简单单在QT des

2012-03-24 20:45:06 3106

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除