自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zhe563323884的专栏

疯狂的菜鸟

  • 博客(10)
  • 收藏
  • 关注

原创 C内存分配问题

malloc()的问题:1.malloc分配新内存,通过参数带回所申请内存指针(需要二级指针或者用返回指返回)错误程序:#include #include void getmemory(char *p) { p=(char *) malloc(100); strcpy(p,"hello world"); } int main(

2013-04-12 14:12:56 626

转载 socket API

一、基本socket函数Linux系统是通过提供套接字(socket)来进行网络编程的。网络的socket数据传输是一种特殊的I/O,socket也是一种文件描述符。socket也有一个类似于打开文件的函数:socket(),调用socket(),该函数返回一个整型的socket的描述符,随后的连接建立、数据传输等操作也都是通过该socket实现。1、socket函数syntax:

2013-03-14 20:42:30 628

原创 网上流传的内核开发面试题答案--欢迎指正

1)      Linux中主要有哪几种内核锁?    由于内核的几种机制导致必须要加锁。SMP多处理器机制  内核抢占机制  中断处理机制 schedule()        spinlock锁(轻量级锁,持有时间为ns级)        特征是临界区只能进一人,无法获得锁的人忙等,持有锁的人不能睡眠,内核四中机制中只有schedule()机制用spinlock无法保护

2013-03-06 16:06:38 3883

转载 Bootloader详解

引言在专用的嵌入式板子运行 GNU/Linux 系统已经变得越来越流行。一个嵌入式 Linux 系统从软件的角度看通常可以分为四个层次:1. 引导加载程序。包括固化在固件(firmware)中的 boot 代码(可选),和 Boot Loader 两大部分。2. Linux 内核。特定于嵌入式板子的定制内核以及内核的启动参数。 3. 文件系统。包括根文件系统和建立于 Flash 内

2013-03-06 15:05:05 754

转载 ctags

一、    ctags简介ctags(Generate tag files for source code)是vim下方便代码阅读的工具。尽管ctags也可以支持其它编辑器,但是它正式支持的只有VIM。并且VIM中已经默认安装了Ctags,它可以帮助程序员很容易地浏览源代码。ctags 最先是用来生成C代码的tags文件,后来扩展成可以生成各类语言的tags, 有些语言也有专有的tags生

2013-03-06 10:36:05 581

转载 make menuconfig详解

Make Menuconfig简介make menuconfig 图形化的内核配置make mrproper -----删除不必要的文件和目录.#make config(基于文本的最为传统的配置界面,不推荐使用) #make menuconfig(基于文本选单的配置界面,字符终端下推荐使用) #make xconfig(基于图形窗口模式的配置界面,Xwindow下推荐使用)

2013-03-05 16:52:49 665

原创 第一个驱动程序-led驱动

一、一些预备知识1、已经能够编写led的裸板驱动程序2、将物理地址转换成虚拟地址在程序中我们只能使用转换后的虚拟基地址和寄存器偏移来访问相应寄存器,而不能像裸板程序那样直接访问物理寄存器,所以必须对物理地址进行转换,下面是个例子#include #define GPIO_BASE 0x7F008000#define GPIO_SIZE 0x28C void __iome

2013-03-05 16:47:33 605

原创 中断源和中断号

以smdk6410为例:中断源是硬件概念,来自于VIC。6410支持64个中断源。由于有些中断源对应的是一组实际的中断,因此,linux在处理的时候要做一些转换。中断号是linux的软件概念,每个中断号应该和一个实际的中断对应。中断号应该从0开始顺序增加,一般来说,肯定要比中断源更多。不同的处理器采用自己的中断源和中断号的转换方法,如果不再使用三星的处理器,那么下述的方法可能无效。

2012-10-17 23:01:48 5630

原创 内核中访问物理寄存器

有过裸板驱动程序编写经历的都清楚,在编写裸板驱动程序时我们是通过访问物理地址来操作寄存器的。但是在内核中根本不可能使用物理地址,只可以使用4G虚拟地址的高1G。这就需要我们把物理地址映射到虚拟地址。下面是一个例子:#include //io端口头文件//GPIO物理基地址和偏移#define GPIO+BASE 0x7F008000#define GPIO_SIZE 0x28c

2012-10-17 22:49:50 2191

原创 s3c6410开发板内核配置和编译&将已写好的驱动程序编译进内核

一、s3c6410开发板内核配置和编译1、解压内核包,将smdk6410_config内核配置文件拷贝成.config(默认配置文件)到内核源代码树下。一般情况下,关于平台的配置文件存放在内核源代码树的arch/arm/configs/目录下,这里用到的smdk6410_config是已经配置好了的配置文件。2、通过图形界面调整配置$>make menuconfig (要求有ncurs

2012-10-16 21:36:33 2144

空空如也

空空如也

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

TA关注的人

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