• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • YouClaw
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






youngvoice

 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理

10 2015 档案

 
VFS: Cannot open root device "nfs" or unknown-block(0,255)错误的解决
摘要:1. 解决办法:在内核配置时候文件系统中选中Root file system on NFS 阅读全文
posted @ 2015-10-16 16:39 youngvoice 阅读(1868) 评论(0) 推荐(0)
NFS 网络文件系统制作
摘要:1. 构建根文件系统主要是建立相关的文件目录,以及各目录下相关的配置文件、管理工具等。2. 首先创建文件目录。 mkdir rootfs cd rootfs mkdir bin dev etc lib proc sbin sys usr mnt tmp var mkdir u... 阅读全文
posted @ 2015-10-15 11:51 youngvoice 阅读(258) 评论(0) 推荐(0)
DM 9000网卡驱动移植
摘要:1. 由于内核已经带有DM9000 网卡的驱动,所以主要移植工作是在板文件中添加 platform_device 结构,并加入 ok6410_devices[] __initdata 数组。 代码如下: /*DM9000*/ #define DM9000_IRQ_EINT0 IRQ_EINT(7) 阅读全文
posted @ 2015-10-14 19:55 youngvoice 阅读(253) 评论(0) 推荐(0)
构建BSP (boardsupport packet)
摘要:由于移植期间遇到较多头文件包含及常量定义问题,故在此总结如下: 常量定义一般涉及到寄存器定义、寄存器配置常量定义,寄存器配置常量一般在驱动目录下自定义,所以如果编译过程中出现常量未定义的情况一般是属于寄存器未定义。一、BSP 的层次及对应的文件 1. cpu体系结构文件 /arch/xxx... 阅读全文
posted @ 2015-10-13 10:31 youngvoice 阅读(286) 评论(0) 推荐(0)
linux 内核移植
摘要:1. 下载内核源码linux-2.6.34,解压到工作目录下。2. 首先在内核中增加一个 SOC ,到 /arch/arm/mach-s3c64xx 下将mach-smdk6410.c 复制成 mach-ok6410.c修改mach-ok6410.c 将里面的 smdk6410 替换为 ok6410... 阅读全文
posted @ 2015-10-12 11:55 youngvoice 阅读(222) 评论(0) 推荐(0)
移植ok6410 LCD驱动
摘要:1.本次移植过程选择linux-2.6.28 lcd驱动为参考移植到 linux-2.6.34 ok6410 开发板上。2.移植过程主要以给内核增加驱动的思想,在/driver/video/ 下增加 samsung目录,提取 2.6.28 中驱动相关源代码,将源代码复制到samsung 下。修改 /... 阅读全文
posted @ 2015-10-11 21:38 youngvoice 阅读(385) 评论(0) 推荐(0)
驱动开发之开发步骤
摘要:1. 分析硬件工作原理2. 查看硬件连接原理关系图 根据原理图完成相关基本初始化: 配置引脚功能,按要求逐步配置相关控制寄存器。3. 试写裸机驱动 尝试使用硬件的基本功能。4. 查阅内核中相关的内核驱动框架5. 实现驱动框架中的每一个具体层次 分析内核中已实现的通用层次,和需要驱动编写者完成的... 阅读全文
posted @ 2015-10-10 20:35 youngvoice 阅读(938) 评论(0) 推荐(0)
c 中的类型转换
摘要:1. c 中的类型转换是临时对变量值的转换,一般分为: 强制类型转换,自动类型转换。自动转换中一般遵守无论表达式的值是什么样的,系统都自动将其转换为赋值运算符左边变量的类型。2. 当 int 赋给char 时,将int 保留低 8 位赋给 char 型变量。当 long 赋给 int 时,将 lon... 阅读全文
posted @ 2015-10-10 19:59 youngvoice 阅读(233) 评论(0) 推荐(0)
关于向内核中如何添加代码的分析
摘要:参考 http://blog.sina.com.cn/s/blog_9452251d01011ae9.html1. 在内核中添加代码主要考虑内核的配置系统和编译系统,一般需要在上层目录的Makefile中增加编译条目,在上层目录配置文件中增加引用下层目录配置文件代码或直接增加配置条目。 阅读全文
posted @ 2015-10-10 10:14 youngvoice 阅读(179) 评论(0) 推荐(0)
frambuffer 相关函数理解
摘要:1. framebuffer_alloc()功能是向内核申请一段大小为sizeof(struct fb_info) + sizeprivate的空间,其中sizeprivate的大小代表设备的私有数据空间,并用fb_info的par域指向该私有空间。 阅读全文
posted @ 2015-10-09 20:49 youngvoice 阅读(147) 评论(0) 推荐(0)
platform_device module
摘要:参考: http://www.wowotech.net/linux_kenrel/platform_device.html 1. platform_device 需要在注册 platform_driver 之前注册,否则由于在 probe 函数中需要查询匹配 platform_device ,则会造 阅读全文
posted @ 2015-10-09 16:25 youngvoice 阅读(138) 评论(0) 推荐(0)
lcd 控制器
摘要:1. 使用lcd 一般需要一个控制器和驱动器,控制器需要初始化以产生正确的时序,驱动器一般是和lcd基板制作在一起。LCD 控制器结构图: REGBANK 表示调色板 LCDDMA 表示DMA通道2. lcd控制器相关时序图如下VSPW 表示 VSYNC的脉冲宽度为(VSPW+1)个 HSYN... 阅读全文
posted @ 2015-10-07 20:49 youngvoice 阅读(1750) 评论(0) 推荐(0)
lcd 显示屏
摘要:1、lcd 接口信号:VSYNC : 一帧新数据的开始信号HSYNC :一行新数据的开始信号VCLK :像素的同步信号VD[0:23] :传递数据的信号线2、 LCD 的显示原理(1)颜色的表示及存储 如下表颜色采用用二进制存储,三原色混合表示彩色 3、 LCD 的操作过程LCD 显示得... 阅读全文
posted @ 2015-10-06 19:18 youngvoice 阅读(279) 评论(0) 推荐(0)
分配内存
摘要:1. kmalloc2. 后备高速缓存实例:驱动程序//scullc.c//#include #include #include #include #include #include /* printk() */#include /* kmalloc() */#include... 阅读全文
posted @ 2015-10-05 11:31 youngvoice 阅读(151) 评论(0) 推荐(0)
C 中的typedef应用
摘要:1. typedef 声明的新的类型名在变量名的位置出现。example: typedef unsigned int UINT 则 unsigned int a;相当于 UINT A;2. typedef 是由编译器解释的example: typedef int (*FUN)(char *,char... 阅读全文
posted @ 2015-10-04 17:51 youngvoice 阅读(138) 评论(0) 推荐(0)
linux 入门
摘要:参考: http://www.ha97.com/book/lfs-book-6.6/index.html 阅读全文
posted @ 2015-10-03 17:03 youngvoice 阅读(107) 评论(0) 推荐(0)
linux 内核根文件系统
摘要:参考: http://blog.csdn.net/guopeixin/article/details/5962482http://www.yunweipai.com/archives/1184.html 阅读全文
posted @ 2015-10-03 16:39 youngvoice 阅读(143) 评论(0) 推荐(0)
linux 命令
摘要:1. linux 命令分为 bash 内建和 coreutils 包命令。Ubuntu可以方便的获取:sudoapt-getsourcecoreutils sudoapt-getsourcebashred hatrpm -qif path/commond得到commond源代码包下载网站或可以使用... 阅读全文
posted @ 2015-10-03 11:03 youngvoice 阅读(118) 评论(0) 推荐(0)
设备访问控制
摘要:1 、控制情况主要有:2. 独享设备——一次只允许一个用户的一个进程访问(代码参考ldd3)scull 的驱动程序: 需要一个原子变量atomic_t//scull.h#ifndef _SCULL_H_#define _SCULL_H_#include /* needed for the _IOW... 阅读全文
posted @ 2015-10-03 09:30 youngvoice 阅读(373) 评论(0) 推荐(0)
linux c 编程相关资料
摘要:1. linux下的错误定义及其错误捕获:http://blog.csdn.net/tigerjibo/article/details/68198912. 在线 c 系统调用手册 http://c.biancheng.net/cpp/u/hanshu/ 阅读全文
posted @ 2015-10-03 09:09 youngvoice 阅读(131) 评论(0) 推荐(0)
可移植性
摘要:1. 内核数据类型:(1) 标准 C 类型 unsigned int(2) 有确定大小的类型 u8,u16,u32(3) 特定内核对象类型_t 阅读全文
posted @ 2015-10-02 09:24 youngvoice 阅读(223) 评论(0) 推荐(0)
Interrupt handler
摘要:1.处理器上的中断硬件关系图2. 中断处理例程3. 顶半部与底半部 阅读全文
posted @ 2015-10-01 19:43 youngvoice 阅读(202) 评论(0) 推荐(0)