
嵌入式开发技术
warrior-ai
专注嵌入式开发技术
展开
-
嵌入式资源列表
一、门户网站1 ChinaUnix网址: http://www.chinaunix.net描述: C版块和shell版块很不错 C/C++论坛:http://bbs.chinaunix.net/forumdisplay.php?fid=23 shell论坛:http://bbs.chinaunix.net/forumdisplay.php?fid=24转载 2012-12-07 22:15:49 · 4626 阅读 · 0 评论 -
source insight的配置
source insight代码对齐Tab键终极版以前也写过一个source insight代码对齐,由于自己理解不够深刻,只能解决部分问题,不能根治在source insight中对齐的代码在XXX编辑器中全乱了的问题。在改变字体为Courier New字体后,代码无法对齐的主要原因就是Tab与空格的问题。在很多大公司如华为已经禁止在代码中使用Tab来对齐了,转载 2013-02-19 09:39:46 · 5784 阅读 · 0 评论 -
嵌入式系统的开发流程
嵌入式系统的概念:以应用为中心,以计算机技术为基础,且软硬件可裁减,适应应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。嵌入式系统与普通PC机的对比:软件上的对比:名称嵌入式系统PC引导代码Bootloader引导,针对不同电路进行移植主板的BIOS引导,无须改动转载 2013-03-10 09:21:35 · 1105 阅读 · 0 评论 -
UBI文件系统
UBI文件系统 作者:刘洪涛,华清远见嵌入式学院金牌讲师。 在linux-2.6.27以前,谈到Flash文件系统,大家很多时候多会想到cramfs、jffs2、yaffs2等文件系统。它们也都是基于文件系统+mtd+flash设备的架构。linux-2.6.27后,内核加入了一种新型的flash文件系统UBI(Unsorted Block Images)。这里简单介绍下UBI文件系统加入转载 2013-03-17 10:19:33 · 1627 阅读 · 0 评论 -
ubifs文件系统简介
UBIFS文件系统简介(转)一、 UBIFS 简介由IBM、nokia工程师Thomas Gleixner,Artem Bityutskiy等人于2006年发起,致力于开发性能卓越、扩展性高的FLASH专用文件系统,以解决当前嵌入式环境下以FLASH作为MTD设备使用时的技术瓶颈,开发背景: FLASH特性:FLASH是一类电可擦出可编程存储体,在使用方式上与硬转载 2013-03-17 14:36:27 · 1051 阅读 · 0 评论 -
嵌入式linux文件系统简介
嵌入式Linux文件系统简介Linux支持多种文件系统,包括ext2、ext3、vfat、ntfs、iso9660、jffs、romfs和nfs等,为了对各类文件系统进行统一管理,Linux引入了虚拟文件系统VFS(Virtual File System),为各类文件系统提供一个统一的操作界面和应用编程接口。 Linux下的文件系统结构如下: Lin转载 2013-03-17 14:37:18 · 1038 阅读 · 0 评论 -
YCbCr
正如几何上用坐标空间来描述坐标集合, 色彩空间用数学方式来描述颜色集合。常见的3 个基本色彩模型是 RGB , CMYK和YUV。 YCbCr 则是在世界数字组织视频标准研制过程中作为ITU - R BT1601 建议的一部分, 其实是YUV经过缩放和偏移的翻版。其中Y与YUV 中的Y含义一致, Cb , Cr 同样都指色彩, 只是在表示方法上不同而已。在YUV 家族中,转载 2013-04-16 18:57:56 · 906 阅读 · 0 评论 -
电视信号中的一些基本概念 (转自驱动之家)
前言 看了我们的《走近高清晰时代 High Definition揭秘》,我想大家对于HD的概念都有了大致的了解,不过我们要先从HD的憧憬中走回来,来看看更实际的东西,那就是电视视频信号的输入方式的选择。 我们前面大量地说了对于HDTV Ready电视,甚至现有的电视,通过色差信号线或者S-Video信号线,就可以获得初步的高清晰视频体验。也谈到了这些信号线配合DVD、PS2甚至显卡的优转载 2013-04-16 12:28:03 · 6314 阅读 · 0 评论 -
redhat中设置环境变量PATH的方法
1.有些命令的路径没有在PATH环境变量中,可以用echo $PATH命令查询得知,添加路径到PATH环境变量的方法如下: (如添加/sbin到PATH环境变量中) (1)如果只想在本次开机过程中临时性的添加修改,下次开机就无效的话,可以: 输入export PATH=$PATH:/sbin (2)如果只给当前用户永久添加,则: 在~/.bash_profile中的靠转载 2013-04-25 16:54:46 · 994 阅读 · 0 评论 -
去掉 embedded LINUX 开机光标以及设置 启动LOGO
一.去除embedded linux 的开机光标: 在内核的当前目录进入到drivers/video/console/fbcon.c 文件 将static void fb_flashcursor(void *private) 和static void fbcon_cursor(struct vc_data *vc, int mode) 里的内容注释掉,使之变成空函数转载 2013-01-27 07:46:56 · 1938 阅读 · 0 评论 -
Linux下网络编程入门
什么是Socket Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。 Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话,就很容易了解Socket了。网络的 Socket数据传转载 2012-12-21 23:01:22 · 511 阅读 · 0 评论 -
Linux内核链表的研究与应用
前言:在Linux内核中使用了大量的链表来组织其数据,其采用了双向链表作为其基本的数据结构。但是与我们传统的数据结构中所学的双向链表又有着本质的一些不同(其不包含数据域)。其主要是Linux内核链表在设计时给出了一种抽象的定义。采用这种定义有以下两种好处:1是可扩展性,2是封装。可扩展性肯定是必须的,内核一直都是在发展中的,所以代码都不能写成死代码,要方便修改和追加。将链表常见的操作都进行转载 2012-12-19 22:43:53 · 426 阅读 · 0 评论 -
adr和ldr的区别
其实这两个都是伪指令:adr是小范围的地址读取伪指令,ldr是大范围的读取地址伪指令。可实际上adr是将基于PC相对偏移的地址值或基于寄存器相对地址值读取的为指令,而ldr用于加载32为立即数或一个地址到指定的寄存器中。到这儿就会看到其中的区别了。如果在程序中想加载某个函数或者某个在联接时候指定的地址时请使用adr,例如在lds中需要重新定位的地址。当加载32为的立即数或外部地址时请用ldr。转载 2012-12-23 16:24:37 · 742 阅读 · 0 评论 -
ARM链接器(一):链接的一般概念
ARM链接器可以把编译(或汇编)生成的多个目标文件和所需要的多个库文件链接在一起,生成可执行的ELF格式的输出文件。在链接过程中,如果在链接器的输入文件中同时包含ARM代码和Thumb代码,链接器可以自动为实现不同代码之间的链接生成一个veneer文件。该文件用来帮助目标处理器实现两种不同状态之间的转换,并可以实现长跳转。链接器还可以为指令代码段和或数据段指定在目标存储器中的位置。1 链转载 2012-12-23 16:59:06 · 861 阅读 · 0 评论 -
u-boot链接分析
一个典型的嵌入式系统中,bootloader代码放在NOR Flash或NAND Flash里面,系统加电或复位后,首先运行这段代码。通常把bootloader代码放在NOR Flash里面,NAND Flash由于硬件原因不能随机访问,需要特殊的硬件支持机制。bootloader代码除了初始化以外就是搬运程序,即地址重定位(relocate)。我们为什么需要relocate?主要是经济方面和转载 2012-12-23 17:07:58 · 382 阅读 · 0 评论 -
Linux内核 container_of 宏和 offsetof 宏分析
1、#define offsetof(TYPE, MEMBER) ((size_t) & ((TYPE *)0)->MEMBER )宏功能:获得一个结构体变量成员在此结构体中的偏移量。1. ( (TYPE *)0 ) 将零转型为TYPE类型指针;2. ((TYPE *)0)->MEMBER 访问结构中的数据成员;3. &( ( (TYPE *转载 2012-12-16 15:44:50 · 393 阅读 · 0 评论 -
字符编码笔记:ASCII,Unicode和UTF-8(转)
今天中午,打印机的中文老打不出来,估计是编码转换不对,于是先上网查了两篇资料,转载在此:Unicode和UTF-8之间的关系:1. ASCII码我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每转载 2012-12-16 15:32:51 · 487 阅读 · 0 评论 -
typeof在linux中妙用
今天偶然又看到了typeof这个东西,只知道它大概是返回变量的类型,后来上网查了下发现这个关键字在linux中用的非常多, 这里大概叙述了typeof是一个什么东西,怎么用,实际上可以用简单的话来重述。如果你对sizeof很熟悉的话,那么大可进行类推,sizeof(exp.)返回的是exp.的数据类型大小,那么typeof(exp.)返回的就是exp.的数据类型。值得注意的是在上面的话里我们可以看转载 2012-12-16 15:28:51 · 461 阅读 · 0 评论 -
list_head 内核
list_head 内核本文详细分析了 2.6.x 内核中链表结构的实现,并通过实例对每个链表操作接口进行了详尽的讲解。一、链表数据结构简介链表是一种常用的组织有序数据的数据结构,它通过指针将一系列数据节点连接成一条数据链,是线性表的一种重要实现方式。相对于数组,链表具有更好的动态性,建立链表时无需预先知道数据总量,可以随机分配空间,可以高效地在链表中的任意位置转载 2012-12-16 22:10:39 · 491 阅读 · 0 评论 -
详解SPI中的极性CPOL和相位CPHA
详解SPI中的极性CPOL和相位CPHA SPI由于接口相对简单(只需要4根线),用途算是比较广泛,主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。即一个SPI的Master通过SPI与一个从设备,即上述的那些Flash,ADC等,进行通讯。而主从设备之间通过SPI进行通讯,首先要保证两者之间时钟SCLK要一致,互相要商量转载 2012-12-15 10:24:29 · 889 阅读 · 1 评论 -
arm-linux-gdb+gdbserver环境搭建以及远程调试
0) gdb源码下载:http://ftp.gnu.org/gnu/gdb/1) 编译arm-linux-gdb 指定交叉编译工具链的位置 export PATH=$PATH:/usr/local/arm/3.4.1/bin 开始配置和编译 $cd gdb-6.6 $./configure --target=arm-linux --prefix转载 2013-09-16 12:08:49 · 1005 阅读 · 0 评论