09 2015 档案

摘要:硬件采用nandflash,nandflash为8位数据宽度,没有dataflash和norflash。Nandflash空间分配为 bootstrap + u-boot + env + linux 。|| bootstrap | | u-boot | env | | linux ||___... 阅读全文
posted @ 2015-09-30 14:17 yuxi_o 阅读(1654) 评论(0) 推荐(0)
摘要:gd_t定义在include/asm-arm/global_data.h33 /* Keep it *SMALL* and remember to set CFG_GBL_DATA_SIZE > sizeof(gd_t)34 */36 typedef struct global_data {37 b... 阅读全文
posted @ 2015-09-27 21:12 yuxi_o 阅读(1418) 评论(0) 推荐(0)
摘要:转自:https://www.cnblogs.com/x_wukong/p/10041939.html 原文: https://www.cnblogs.com/justkong/p/6570914.html 一、概述 颜色通常用三个独立的属性来描述,三个独立变量综合作用,自然就构成一个空间坐标,这就 阅读全文
posted @ 2015-09-26 00:02 yuxi_o 阅读(412) 评论(0) 推荐(0)
摘要:转自:简书 YUV格式小结 bigonelby 作者总结很到位,非常推荐!!! 采样格式 提出yuv格式的原因,是为了解决彩色电视和黑白电视兼容性问题,因此从rgb的颜色空间,转换为yuv的颜色空间,其中y代表亮度,u和v代表色度。 yuv种类分为很多,可以理解是一个二维的,即空间间,和空间内,这样 阅读全文
posted @ 2015-09-25 23:35 yuxi_o 阅读(741) 评论(0) 推荐(0)
摘要:一、基础 1.什么是NFS(Network FileSystem) NFS 就是 Network FileSystem 的缩写,最早之前是由 Sun 所发展出来的。他最大的功能就是可以透过网络,让不同的机器、不同的操作系统、可以彼此分享个别的档案 ( share file ),所以,也可以简单的将他 阅读全文
posted @ 2015-09-25 23:04 yuxi_o 阅读(865) 评论(0) 推荐(0)
摘要:一、基础 ioctl是linux中一种除read和write之外的数据传递机制, 通信双方是应用层和内核层。 #include <sys/ioctl.h> int ioctl(int fd, unsigned long request, ...); // cmd:控制命令 // ...:可选参数:插 阅读全文
posted @ 2015-09-22 22:58 yuxi_o 阅读(691) 评论(0) 推荐(0)
摘要:u-boot中DM9000驱动分析1. CSRs和PHY reg读写。 1 static u16 2 phy_read(int reg) 3 { 4 u16 val; 5 6 /* Fill the phyxcer register into REG_0C */ 7 DM9... 阅读全文
posted @ 2015-09-22 22:33 yuxi_o 阅读(418) 评论(0) 推荐(0)
摘要:在发送数据之前,以太网会“帧听”线缆,判断是否有其他数据传输。 如果通信介质上无载波,即没有被占用,则可以利用通信介质进行传送。 网卡芯片PHY具有上述功能。 数据链路层相关技术 共享介质网络 从通信介质的使用方法上看,网络可分为共享介质型和非共享介质型。 共享介质型网络指由多个设备共享一个通信介质 阅读全文
posted @ 2015-09-22 22:12 yuxi_o 阅读(1123) 评论(0) 推荐(0)
摘要:100Base-TX快速以太网目前制定的三种有关传输介质的标准之一。 另外两种是100Base-T4,100Base-FX。 100标识传输速率为100Mbit/s. base标识采用基带传输。 T代表传输介质,2对5类UTP,当为F时,代表光纤。 100Base-TX使用两对阻抗为100 ohms 阅读全文
posted @ 2015-09-22 22:10 yuxi_o 阅读(4733) 评论(0) 推荐(0)
摘要:1. 网口硬件方案:AT91SAM9G10 + DM9000CEP;DM9000CEP为MAC+PHY解决方案,与MCU链接通过8位或16位数据总线。内部SRAM为16Kbyte。2. DM9000CEP硬件接口(略)。3. DM9000CEP寄存器。DM9000CEP包含两类寄存器:控制状态寄存器... 阅读全文
posted @ 2015-09-22 22:03 yuxi_o 阅读(742) 评论(0) 推荐(0)
摘要:CMD配置位于config_cmd_default.h configs/at91/sam9g10ek.h 头文件位于include/command.h repeatable 是否允许“按回车键自动重复执行”。输入一条命令执行完后,直接按回车键,会自动重复执行上一条命令。 41 struct cmd_ 阅读全文
posted @ 2015-09-21 00:19 yuxi_o 阅读(435) 评论(0) 推荐(0)
摘要:setup.h通过宏定义实现了bootargs传递参数到内核,值得以后编程学习。include/asm-arm/setup.h14 * NOTE:15 * This file contains two ways to pass information from the boot16 * loader... 阅读全文
posted @ 2015-09-21 00:18 yuxi_o 阅读(646) 评论(0) 推荐(0)
摘要:通过搜素比对字符串保存env。所有的env都保存在一起,每个环境变量字段都以“\0\0”结束,最后一个命令字段以“\0\0\0”结束。每次uboot启动时,先读出环境变量。当设置新数据时,遍历整个env,确认是否有重复的,有重复的删除掉,并把新数据设置到环境变量最后。只有当运行saveenv时才把数... 阅读全文
posted @ 2015-09-21 00:16 yuxi_o 阅读(1777) 评论(0) 推荐(0)
摘要:帧缓冲区fb在内存中,要实现fb同步显示需要设定DMA操作。设定LCD的DMA操作,要在开始操作LCD之前。common/lcd.c中定义lcd_init() -->driver/video/atmel_lcdfb.c定义lcd_ctrl_init().lcd_ctrl_init()定义了DMA与m... 阅读全文
posted @ 2015-09-21 00:12 yuxi_o 阅读(907) 评论(0) 推荐(0)
摘要:位图或logo和开机显示画面,是两个完全不同的东西。logo显示uboot相关信息,如版本号等。开机画面是用户下载到固定位置后uboot加载的。1.开机画面在uboot中使用splash screen可以实现u-boot启动后,在LCD上显示自定义图片。#define CONFIG_SPLASH_S... 阅读全文
posted @ 2015-09-21 00:11 yuxi_o 阅读(1072) 评论(0) 推荐(0)
摘要:start ->start_armboot ->main_loop实际应用中问题:为什么从nandflash读出的MAC(写到物理phy上)与上层网口地址不同(上层网口采用env的mac)?从nandflash读出mac并写入phy后,才初始化网络设备即eth_initialize(),其读取env... 阅读全文
posted @ 2015-09-21 00:10 yuxi_o 阅读(598) 评论(0) 推荐(0)
摘要:printk会阻塞,不能用在中断上下文。 基础 涉及文件:kernel/printk.c include/linux/kernel.h include/linux/device.h(dev_info\dev_dbg) 用printk内核会根据日志级别把消息打印到当前控制台上。 信息正常输出前提是-- 阅读全文
posted @ 2015-09-21 00:05 yuxi_o 阅读(1659) 评论(0) 推荐(0)
摘要:linux启动时会又大量信息打印,若要使启动信息不打印,需修改内核中两处:1. 内核配置项。 CONFIG_SERIAL_ATMEL_CONSOLE=y //去掉终端配置选项。2. 内核解压缩时,终端由于uboot初始化过,所以解压信息会有打印,注释掉内核解压打印。 arch/arm/boot/co... 阅读全文
posted @ 2015-09-21 00:03 yuxi_o 阅读(836) 评论(0) 推荐(0)
摘要:转自:详谈Linux写时拷贝技术(copy-on-write)必看篇 参考:再谈 copy-on-write 知乎 COW技术初窥 在linux程序中,fork()会产生一个和父进程完全相同的子进程,但子进程在此后多会exec系统调用,出于效率考虑,linux中引入了“写时复制”技术,也就是只有进程 阅读全文
posted @ 2015-09-20 23:47 yuxi_o 阅读(462) 评论(0) 推荐(0)
摘要:一、概述 内核有3中挂在rootfs的方式:普通的ext/jiffs2/yaffs2, initrd(ramdisk)和initramfs。 Document/early-userspace/README 128 The kernel has currently 3 ways to mount th 阅读全文
posted @ 2015-09-20 22:58 yuxi_o 阅读(628) 评论(0) 推荐(0)
摘要:http://blog.chinaunix.net/uid-23208702-id-353022.html1.2. 安装zlib库由于交叉编译mtd工具时需要zlib.h文件,所以在编译之前先安装zlib库文件。从网上下载zlib-1.2.3.tar.gz解压缩$ tar zxvf zlib-1.2... 阅读全文
posted @ 2015-09-20 19:02 yuxi_o 阅读(406) 评论(0) 推荐(0)
摘要:RTMP直播是最为常见的一种实时直播。直播服务普遍采用了RTMP作为流媒体协议,FLV作为封装格式,H.264作为视频编码格式,AAC作为音频编码格式。FLV是RTMP使用的封装格式,H.264是当今实际应用中编码效率最高的视频编码标准,AAC则是当今实际应用中编码效率最高的音频编码标准。 一、RT 阅读全文
posted @ 2015-09-20 18:59 yuxi_o 阅读(877) 评论(0) 推荐(0)
摘要:JFFS2全名是Journalling Flash File System Version2,最早只支持Nor Flash,自2.6版以后开始支持Nand Flash。 JFFS2是Flash上应用最广的一个日志结构文件系统。它提供的垃圾机制,不需要马上对擦写越界的块进行擦写,而只需要将其设置一个标 阅读全文
posted @ 2015-09-20 18:46 yuxi_o 阅读(1623) 评论(0) 推荐(0)
摘要:转自: 知乎 浅懂示波器FFT快速傅立叶变换功能及运用 大多数示波器上都有个FFT功能,也叫快速傅立叶变换,但很多人不了解这个功能是做什么用的,百度以后又会遇到各种各样的高数公式,看的一头雾水,遂而放弃这块知识。 我们来看百度百科的解释: FFT,即为快速傅氏变换,是离散傅氏变换的快速算法,它是根据 阅读全文
posted @ 2015-09-20 18:34 yuxi_o 阅读(2416) 评论(0) 推荐(0)
摘要:一、角度和弧度 弧度:弧长等于半径的弧,其所对的圆心角为1弧度。 根据定义,圆一周的弧度数为 2πr/r = 2π,360° = 2πrad,平角(即 180° 角)为 πrad,直角为 π/2rad。 在具体计算中,角度以弧度给出时,通常不写弧度单位,直接写值。最典型的例子是三角函数,例如sin( 阅读全文
posted @ 2015-09-20 18:33 yuxi_o 阅读(3388) 评论(0) 推荐(0)
摘要:yaffs2文件系统是针对nandflash的文件系统,其制作工具为mkyaffs2image。 一、差异 不同nand容量,工具不一样。 首先使用的是mkyaffs2image,编译生成根文件系统的镜像之后,下载到板子上,启动的时候报错,错误代码这里没有上传。问题出在工具使用的不正确,查看工具目录 阅读全文
posted @ 2015-09-20 18:28 yuxi_o 阅读(3817) 评论(0) 推荐(0)
摘要:一、内核支持的文件系统 linux支持两种内存根文件系统:ramdisk和initramfs。 内核有3中挂在rootfs的方式:普通的ext/jiffs2/yaffs2, initrd(ramdisk)和initramfs。 Document/early-userspace/README 128 阅读全文
posted @ 2015-09-20 18:05 yuxi_o 阅读(997) 评论(0) 推荐(0)
摘要:1. 下载sftp包,解压。如vsftpd-2.3.5.tar.gz2. 编译 进入目录后,修改交叉编译工具(vi Makefile) CC = arm-none-linux-gnueabi-gcc 直接make即可,生成可执行文件vsftpd。 出现错误: sysdeputil.o: In fun 阅读全文
posted @ 2015-09-20 09:56 yuxi_o 阅读(984) 评论(0) 推荐(0)
摘要:英利公司的EM9X60系列工控主板(包括 EM9160、EM9360、EM9460、EM9660等)均具有7路物理串口。在Linux系统中,6路串口作为应用串口,剩下的1路作为调试串口。一般情况下调试串口被系统内核所占用,用来显示内核输出信息以及console控制终端。这样的配置可满足大多数应用对串 阅读全文
posted @ 2015-09-19 20:02 yuxi_o 阅读(513) 评论(0) 推荐(0)
摘要:BusyBox 是一个集成了一百多个最常用linux命令和工具的软件。BusyBox 将许多具有共性的小版本的UNIX工具结合到一个单一的可执行文件。这样的集合可以替代大部分常用工具比如的GNU fileutils , shellutils等工具,BusyBox提供了一个比较完善的环境,可以适用于任 阅读全文
posted @ 2015-09-19 17:11 yuxi_o 阅读(1788) 评论(0) 推荐(1)
摘要:编译器内置宏: 先介绍几个编译器内置的宏定义,这些宏定义不仅可以帮助我们完成跨平台的源码编写,灵活使用也可以巧妙地帮我们输出非常有用的调试信息。 ANSI C标准中有几个标准预定义宏(也是常用的): __LINE__:在源代码中插入当前源代码行号; __FILE__:在源文件中插入当前源文件名; _ 阅读全文
posted @ 2015-09-05 18:02 yuxi_o 阅读(755) 评论(0) 推荐(0)
摘要:swupdate是一个基于嵌入式的Linux平台的升级服务框架程序,它提供了分区升级,文件升级,差分升级(补丁应用)功能,并提供了开放接口,方便用户添加自定义升级处理函数。 swupdate提供了故障安全的升级方案。支持Recovery方案和A/B系统方案来保证断电等异常情况下能保证升级正常。它提供 阅读全文
posted @ 2015-09-05 17:52 yuxi_o 阅读(954) 评论(0) 推荐(0)
摘要:uboot的debug定义在include/common.h中#ifdef DEBUG#define debug(fmt, args...) printf(fmt, ##args)#define debugX(level, fmt, args...) if(DEBUG>=level) printf(... 阅读全文
posted @ 2015-09-05 17:37 yuxi_o 阅读(1027) 评论(0) 推荐(0)
摘要:Env在u-boot中通常有两种存在方式,在永久性存储介质中(flash、NVRAM等),在SDRAM中。可配置不适用env的永久存储方式,但不常用。U-boot在启动时会将存储在永久性存储介质中的env重新定位到RAM中,这样可以快速访问,同时可以通过saveenv将RAM保存到永久性存储介质中。... 阅读全文
posted @ 2015-09-04 18:45 yuxi_o 阅读(1740) 评论(0) 推荐(0)