![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
u-boot/驱动开发/linux
文章平均质量分 55
maopig
这个作者很懒,什么都没留下…
展开
-
u-boot裁减
http://blog.csdn.net/menuconfig/article/details/2276078u-boot裁减的主要方法是通过删除不需要的命令来减小可执行代码体积。比如说,如果不需要网络相关的功能,则可以将网络相关的所有命令全部删除,可以节约可观的flash空间。一般u-boot的大小为100k左右,通过删除命令(如果删除网络相关的命令),可以裁减到64k以内,只保留一些经常使转载 2011-11-16 22:46:38 · 1531 阅读 · 0 评论 -
嵌入式系统文件系统比较 jffs2, yaffs, cramfs, romfs, ramdisk, ramfs/tmpfs
Linux支持多种文件系统,包括ext2、ext3、vfat、ntfs、iso9660、jffs、romfs和nfs等,为了对各类文件系统 进行统一管理,Linux引入了虚拟文件系统VFS(Virtual File System),为各类文件系统提供一个统一的操作界面和应用编程接口。 Linux启动时,第一个必须挂载的是根文件系统;若系统不能从指定设备上挂载根文件系统,则系统会出错而原创 2012-03-17 15:16:48 · 1548 阅读 · 0 评论 -
用BusyBox制作Linux根文件系统
STEP 1:构建目录结构 创建根文件系统目录,主要包括以下目录/dev /etc /lib /usr /var /proc /tmp /home /root /mnt /bin /sbin /sys #mkdir /home/rootfs#cd /home/rootfs #mkdir dev etc lib usr var原创 2012-03-17 16:28:33 · 1801 阅读 · 0 评论 -
DAVINCI DM365-368中 linux-2.6.32的移植
http://www.360doc.com/content/12/0318/16/532901_195392228.shtml 很详细的一篇文章,在此感谢了! http://www.rosoo.net/a/201001/8316.html DM系列芯片外设详细介绍原创 2012-03-21 12:23:11 · 2138 阅读 · 0 评论 -
手把手教你写Linux I2C设备驱动
手把手教你写Linux I2C设备驱动标签:Linux设备 驱动 详解 i2c 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://ticktick.blog.51cto.com/823160/760020 Linux I2C驱动是嵌入式Linux驱动开发人员经常需要编写的一种驱动,转载 2012-06-14 23:15:20 · 1342 阅读 · 0 评论 -
用户空间访问I2C设备驱动
2012-01-11 15:33:43标签:LinuxI2C 字符设备 设备驱动 用户空间 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://ticktick.blog.51cto.com/823160/761830 关于Linux下如何编写芯片的I2C驱动,本系列第一篇文转载 2012-06-14 23:18:26 · 976 阅读 · 0 评论 -
Linux下读写芯片的I2C寄存器
Linux下读写芯片的I2C寄存器 2012-01-10 11:40:18标签:Linux寄存器 驱动 读写 I2C 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://ticktick.blog.51cto.com/823160/760965 要想在Linux下读写芯片的I2C寄存转载 2012-06-14 23:23:33 · 1719 阅读 · 1 评论 -
ARM Linux启动过程分析
1. 引 言 Linux 最初是由瑞典赫尔辛基大学的学生 Linus Torvalds在1991 年开发出来的,之后在 GNU的支持下,Linux 获得了巨大的发展。虽然 Linux 在桌面 PC 机上的普及程度远不及微软的 Windows 操作系统,但它的发展速度之快、用户数量的日益增多,也是微软所不能轻视的。而近些年来 Linux 在嵌入式领域的迅猛发展,更是给 Linux 注入了新的转载 2012-12-11 23:38:18 · 1226 阅读 · 0 评论 -
NAND FLASH分区规划
由于BOOTLOADRER、PARAMS以及内核、文件系统都在NAND FLASH上,因此分区就得进行统一规划。系统的NAND FLASH分区依赖于u-boot和Linux内核两方面的设置。U-Boot中的NAND分区 文件:include/configs/开发板.h 这是Phy3250的参数,Phy3250采用32MB的NAND FLASH,扇区大小为16KB原创 2012-12-16 23:28:24 · 9217 阅读 · 0 评论 -
内核kernel以及根文件系统rootfs是如何映射到对应的nand flash的
原文初始化代码读取uboot到内存里面,然后跳转到uboot那里去执行uboot,uboot初始化必要的硬件,加载一些驱动,其中包括nand flash的驱动,然后根据uboot里面设置的一个启动命令TAG: NAND rootfs Flash 【系统启动过程简介】初始化代码读取uboot到内存里面,然后跳转到uboot那里去执行uboot原创 2012-12-16 23:57:55 · 2730 阅读 · 0 评论 -
U-Boot如何向内核传递Flash的分区信息
1.如何对nand 分区。修改mtdparts环境变量就可以了么?对于目前的U-boot而言,是的.而且, 设置了mtdparts变量之后,你可以在nand read/write/erase命令中直接使用分区的名字而不必指定分区的偏移位置.set bootargs noinitrd console=ttySAC0 root=/dev/mtdblock3 rootfstype=jffs2转载 2012-12-16 23:34:34 · 3345 阅读 · 1 评论 -
Linux系统中/dev/mtd与/dev/mtdblock的区别
MTD(memory technology device内存技术设备)是用于访问memory设备(ROM、flash)的Linux的子系统。MTD的主要目的是为了使新的memory设备的驱动更加简单,为此它在硬件和上层之间提供了一个抽象的接口。MTD的所有源代码在/drivers/mtd子目录下。我将CFI接口的MTD设备分为四层(从设备节点直到底层硬件驱动),这四层从上到下依次是:设备节点、MT转载 2012-12-17 23:36:03 · 1624 阅读 · 0 评论 -
DMA数据传输过程
DMA方式具有如下特点: 1、 外部设备的输入输出请求直接发给主储存器。 主存储器既可以被CPU访问,也可以被外围设备访问。因此,在主存储器中通常要有一个存储管理部件来为各种访问主存储器的申请排队,一般计算机系统把外围设备的访问申请安排在最高优先级。 2、 不需要做保存现场和恢复现场等工作,从而使DMA方式的工作速度大大加快。 由于在外围设备与主存储器之间传送数据不需要执行转载 2013-05-22 09:16:23 · 15073 阅读 · 0 评论 -
Linux Kconfig及Makefile学习
内核源码树的目录下都有两个文档 Kconfig (2.4版本是Config.in)和Makefile。分布到各目录的Kconfig构成了一个分布式的内核配置数据库,每个Kconfig分别描述了 所属目录源文档相关的内核配置菜单。在内核配置make menuconfig时,从Kconfig中读出菜单,用户选择后保存到.config的内核配置文档中。在内核编译时,主Makefile调用这 个.conf转载 2013-06-16 15:54:07 · 1216 阅读 · 0 评论 -
Kconfig文件结构(图文)简介
1 Kconfig和Makefile毫不夸张地说,Kconfig和Makefile是我们浏览内核代码时最为依仗的两个文件。基本上,Linux 内核中每一个目录下边都会有一个Kconfig文件和一个Makefile文件。Kconfig和Makefile就好似一个城市的地图,地图引导我们去 认识一个城市,而Kconfig和Makefile则可以让我们了解一个内核目录下面的结构。在希望研究内核的某个转载 2013-06-16 16:28:17 · 1848 阅读 · 2 评论 -
1.I2C协议
1.I2C协议 2条双向串行线,一条数据线SDA,一条时钟线SCL。 SDA传输数据是大端传输,每次传输8bit,即一字节。 支持多主控(multimastering),任何时间点只能有一个主控。 总线上每个设备都有自己的一个addr,共7个bit,广播地址全0. 系统中可能有多个同种芯片,为此addr分为固定部分和可编程部份,细节视芯片而定,看da转载 2014-09-24 15:55:23 · 1643 阅读 · 0 评论 -
u-boot_NAND_Flash操作命令及烧录Linux内核和文件系统
原创 2012-03-17 12:58:18 · 2873 阅读 · 0 评论 -
platform_device_系列函数及其设备注册的作用
platform_device_系列函数,实际上是注册了一个叫platform的虚拟总线。使用约定是如果一个不属于任何总线的设备,例如蓝牙,串口等设备,都需要挂在这个虚拟总线上。driver/base/platform.c//platform设备声明struct device platform_bus = { .bus_id = "platform",原创 2012-03-30 10:03:54 · 8689 阅读 · 0 评论 -
U-Boot启动过程完全分析
1.1 U-Boot工作过程 U-Boot启动内核的过程可以分为两个阶段,两个阶段的功能如下: (1)第一阶段的功能Ø 硬件设备初始化Ø 加载U-Boot第二阶段代码到RAM空间Ø 设置好栈Ø 跳转到第二阶段代码入口 (2)第二阶段的功能Ø 初始化本阶段使用的硬件设备Ø 检测系统内存映射Ø 将内核从Fla转载 2011-11-26 16:12:25 · 1075 阅读 · 0 评论 -
bootcmd 和bootargs
看到这个标题,可能觉得这个并没有什么的,其实不然,编好了u-boot了,但是如何来使用确不是那么简单的,想当初我将uboot制作出来后以为全部都搞定了,屁颠屁颠的烧到板子上后可系统就是起不来,为什么了,折腾了很久以后才发现是u-boot的环境变量设置错误,在后来的工作中,我发现一些有一定经验的人在这方面也是模模糊糊的扯不清,所以这里要讨论一下。 u-boot的环境变量是使用u-boo转载 2011-11-30 23:31:17 · 2010 阅读 · 0 评论 -
DM365视频处理流程/DM368 NAND Flash启动揭秘
DM365的视频处理涉及到三个相关处理器,分别是视频采集芯片、ARM处理器和视频图像协处理器(VICP),整个处理流程由ARM核协调。视频处理主要涉及三个处理流程,分别是视频采集、视频编码和对编码后的视频的处理,为了提高性能,通常为每个处理流程提供一个处理线程。视频采集 TVP5146将采集到的视频数据转化为数字信号,并将这些数据送入DM365的BT656接口,然后通过Resize得到所转载 2011-12-01 10:51:44 · 6782 阅读 · 0 评论 -
Davinci及U-boot的一些介绍
TI推出的数字多媒体平台DM系列,集成了ARM与DSP双核处理器:DSP处理器运行DSP/BIOS操作系统,负责音视频编解码算法以及其他图形处理算法;ARM处理器运行MontaVistaLinux操作系统,负责设备初始化、用户图形界面管理。ARM处理器端的MontaVista Linux 加载启动,需要有Bootloader完成内核由Flash空间加载到DDR空间并启动Linux系统。转载 2011-12-01 11:36:21 · 2680 阅读 · 0 评论 -
linux subsys_initcall
宏定义__define_initcall(level,fn)对于内核的初始化很重要,他指示编译器在编译的时候,将一系列初始化函数的起始地址值按照一定的顺序放在一个section中。在内核初始化段,do_initcalls() 将按顺序从该section中以函数指针的形式取出这些函数的起始地址,来依次完成相应的初始化。于内核某些部分的初始化需要依赖于其他某些部分的初始化的完成,因此这个顺序排列常常很转载 2011-12-31 00:20:11 · 910 阅读 · 0 评论 -
DM6446 OSD
DM6446 OSDTMS320DM6446支持背景窗颜色,两个视频窗口,两个OSD窗口,一个指针(cursor)窗口。它们以递增的顺序排列:一个特有的第二个OSD窗口(OSDWIN1)可以用来配置成属性窗口来控制视频窗口和第一个OSD窗口(OSDWIN0)的混合(如透明度)。因为“alpha”混合功能是OSDWIN1最通用的功能,所以以下就主要讨论第一个OSD窗口(OSDWIN0)用来显原创 2011-12-31 00:21:14 · 2777 阅读 · 0 评论 -
DM365的BSP源码分析-基于2.6.18内核
DM365的BSP主要包含mach-davinci和plat-davinci两个目录(及相关头文件),BSP复杂庞大又极其重要,它主要完成了板级的初始化,比如内存映射,时钟和电源初始化,中断和IO初始化,CPU及各模块的初始化,相关平台设备,总线设备的注册等等。下面就分板一下DM365的BSP部分,以程序流程为纵线,以各个文件为横线,进行分析。 内核在经过一系列的初始化后会进行转载 2011-12-31 00:23:17 · 2584 阅读 · 0 评论 -
linux framebuffer 例子
昨天做的一个极简单的framebuffer的例子,用来学习怎样操作fb设备。 这段代码是在picogl的vesafb backend部分的基础上简出来的,所以变量名还保留着。流程如下:1 打开framebuffer设备;2 通过ioctl取得fixed screen information;3 通过ioctl取得variable screen information;4转载 2012-03-04 17:53:57 · 1655 阅读 · 0 评论 -
DM365 u-boot 启动分析
第一阶段:汇编语言启动先看u-boot/board/davinci/dm365_ipnc/下的文件。u-boot.lds OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")OUTPUT_ARCH(arm)ENTRY(_start)SECTIONS{转载 2012-03-05 22:19:32 · 2023 阅读 · 0 评论 -
u-boot nand flash read/write cmd
支援的命令函數說明1. nand info/nand device功能:顯示當前nand flash晶片資訊。函數調用關係如下(按先後順序):static void nand_print(struct nand_chip *nand) ;2. nand erase功能:擦除指定塊上的數據。函數調用關係如下(按先後順序):int nand_erase(stru原创 2012-03-05 23:07:25 · 1896 阅读 · 0 评论 -
U-boot中TFTP 解释
http://www.cnblogs.com/heaad/archive/2009/08/10/1542538.html转载 2012-03-07 17:08:03 · 602 阅读 · 0 评论 -
DM365 u-boot启动分析
http://www.61ic.com/Article/DaVinci/DM644X/201009/27429.html转载 2012-03-07 17:09:51 · 929 阅读 · 0 评论 -
MII/MDIO接口详解
MII/MDIO接口详解 http://dpinglee.blog.163.com/blog/static/144097753201041131115262/转载 2012-03-08 12:56:38 · 3672 阅读 · 1 评论 -
内核kernel以及根文件系统rootfs是如何映射到对应的nand flash的
初始化代码读取uboot到内存里面,然后跳转到uboot那里去执行uboot,uboot初始化必要的硬件,加载一些驱动,其中包括nand flash的驱动,然后根据uboot里面设置的一个启动命令:nand read 0x30007FC0 0x100000 0x200000;bootm 0x30007FC0意思就是,先去读取nand flash,从0x100000开始,长度为0x200转载 2012-03-08 23:37:05 · 1845 阅读 · 0 评论 -
mkcramfs 命令学习
mkcramfs :创建只读文件系统语 法mkcramfs[必要参数][选择参数][源目录][目标文件]功 能mkcramfs 命令:用来创建CRAMFS只读文件系统 类似命令: fdisk cramfsck mount 执行权限: 超级用户 普通用户 命令属性: 磁盘维护 参数必要参数-e 设置文件系统版本号-i 将文件映像插入文原创 2012-03-10 16:56:13 · 4145 阅读 · 0 评论 -
Linux驱动静态编译和动态编译方法详解
内核源码树的目录下都有两个文档Kconfig和Makefile。分布到各目录的Kconfig构成了一个分布式的内核配置数据库,每个Kconfig分别描述了所属目录源文档相关的内核配置菜单。在内核配置make menuconfig时,从Kconfig中读出菜单,用户选择后保存到.config的内核配置文档中。在内核编译时,主Makefile调用这个.config,就知道了用户的选择。上面转载 2017-04-05 23:37:58 · 2943 阅读 · 0 评论