
ARM/Linux
有理叔
软件爱好广泛,对代码质量和结构有深刻的理解,代码洁癖,掌握Linux C语言开发,Android应用开发,Python开发,iOS开发等,最近沉迷Golang不可自拔
展开
-
Linux内核中platform驱动模型架构与dm9000网卡驱动移植
转自http://blog.youkuaiyun.com/yinwei520/article/details/6262931 一、硬件链接情况 DM9000在电路板上的连接中与编程相关的如下:1)EECS拉高:16bit模式;2)INT连接到2440 EINT18:INT脚为低时为有效中断信号,中断线为EINT183)cs连接到2440的nGCS4,CMD连接2440地址总线AD转载 2011-11-15 11:19:47 · 1095 阅读 · 0 评论 -
busybox下 etc目录下文件分析
(1) /etc/passwd 用于存放用户基本信息的口令文件。该口令每行由七个域构成:username:passwd:uid:gid:comments:directory:shellusername:用户名,用户登录所采用的名字,如root,当然有些用户名是为了站位的,为一些目录或文件提供用户。但这些用户不能登录,即伪用户,如bin。passwd:口令密文域。如果经过shadow,则原创 2011-11-08 10:46:02 · 3577 阅读 · 0 评论 -
Linux 2.6.35.5内核在tq2440上移植成功
经过一段时间的摸索,今天总算将2.6.35.5内核成功移植到了tq2440上,总体来说和2.6.30.4内核移植变化不大,可以参考文章tq2440 Linux 2.6.30.4内核移植完成大部分工作,文件系统也采用该文章中制作的即可。但移植过程中也存在一些差异,在这里总结出来。(1) General setup ---> Choose SLAB all原创 2011-11-12 11:29:51 · 1047 阅读 · 0 评论 -
以dm9000驱动为例理解I/O端口
原创文章,转载请注明出处! 以dm9000网卡驱动的一部分为例,分析一下I/O端口的作用及使用方法。适当的,会引用LDD3中的short的一些代码。下面从概念入手,了解一下I/O端口是个什么东东,理论指导实践嘛。1. I/O体系结构 首先说明一下I/O体系结构,这里不多说,先放个图。(1) I/O总线 在计算机的CPU,RAM和I/O原创 2011-11-16 15:39:21 · 2040 阅读 · 0 评论 -
自制简单字符型设备驱动程序——LED驱动
这周抽空学以致用,参考LDD3及嵌入式系统接口设计与Linux驱动程序开发这两本书,结合自己的开发板,做了LED驱动的程序,自己写程序和看书感觉真的是不一样啊,过程中犯了不少错误,但最终还是完成了程序,很高兴!硬件平台:tq2440内核版本:2.6.30.41. 硬件介绍下面首先介绍一下我的开发板的接线,我的开发板是天嵌公司的tq2440,它的LED接线如图所示:其...原创 2011-11-17 21:14:15 · 1385 阅读 · 0 评论 -
USB驱动移植及mdev热插拔的实现
基于之前移植的的内核,把驱动分别进行移植,这篇主要进行USB驱动移植,并阐明与热插拔相关的mdev,在2.6.30内核中,USB驱动已经比较完善了,移植是只要简单对配置单进行修改即可,添加的内容如下:Device Drivers ---> SCSI device support ---> SCSI device support原创 2011-11-28 10:21:47 · 2169 阅读 · 0 评论 -
嵌入式Linux支持shadow
首先在编译busybox时,选中Login/Password Management Utilities ---> Support for shadow passwords 然后,从PC复制/etc/passwd和/etc/shadow文件到文件系统的/etc目录,做适当的修改即可,注意,此时登陆开发板密码与台式机相同,之后可进行修改。原创 2012-12-26 16:13:22 · 860 阅读 · 0 评论 -
busybox登陆后没要求输入密码的解决办法
http://lauwd.blog.163.com/blog/static/76056969200911254241151/ 制作好ramdisk之后 通过串口进入系统 却发现系统直接登录进去了 并没有要求用root用户名和密码进行登录 解决如下在 /etc/init.d/rcS 文件添加如下语句 root:/> cat /etc/inittab ::sysinit:/et转载 2011-11-10 11:25:06 · 2633 阅读 · 0 评论 -
关于命令行提示符显示格式
http://www.dzsc.com/data/html/2011-9-4/97838.html 现在我们经常会用busybox生成根文件系统,可是根文件系统起来以后命令行提示符只有一个“#”号,没有像linux发行版那样是[user@hostname currentpath] #,那么我们这里就说说如何让我们的根文件系统按这个方式显示。 要修改命令行提示符,首先我们需要知转载 2011-11-10 09:19:32 · 1415 阅读 · 0 评论 -
关于chip->ecc.mode = NAND_ECC_NONE
"mount_devfs_fs(): unable to mount devfs, err: -2"一个困扰了我很久的问题,主要是ecc的问题。在此我把我的理解说一下好了: 搞清楚你在driver/mtd/nand/s3c2410.c文件中有没有把NAND_ECC_SOFT改成NAND_ECC_NONE,这个网上不少的人都会做(听说会与yaffs文件系统有冲突,但我发现反而和cramfs转载 2011-11-03 16:59:49 · 4350 阅读 · 0 评论 -
tmpfs与ramfs
URL:http://www.eit.name/blog/read.php?426Overview:Using in-memory fs you can allocate part of physical memory to be used as a harddisk partition. You can mount this partition and start writing and转载 2011-11-08 15:56:20 · 1213 阅读 · 0 评论 -
同样分析设备模型,同样的作者,再转一篇
转自 http://blog.youkuaiyun.com/yinwei520/article/details/6263185,转载请注明出处!通过Platform机制开发发底层驱动的大致流程为: 定义 platform_device---注册 platform_device ---定义 platform_driver-----注册 platform_driver。 1. Platform_de转载 2011-11-15 15:18:00 · 663 阅读 · 0 评论 -
关于NAND flash的MTD分区与uboot中分区的理解
今天做内核移植,准备添加NAND flash的驱动,做到MTD分区时,想起在一本书上看到的一句话,说的是分区时每个区之间没有间隙,前一个区的结束地址是后一个区的起始地址。可是当我看我的开发板的教程时,分区如下:static struct mtd_partition smdk_default_nand_part[] = { [0] = { .name原创 2011-11-03 20:09:49 · 32256 阅读 · 2 评论