Embedded
挣扎中前行
这个作者很懒,什么都没留下…
展开
-
u-boot收录
我们知道,bootloader是系统上电后最初加载运行的代码。它提供了处理器上电复位后最开始需要执行的初始化代码。 在PC机上引导程序一般由BIOS开始执行,然后读取硬盘中位于MBR(Main Boot Record,主引导记录)中的Bootloader(例如LILO或GRUB),并进一步引导操作系统的启动。 然而在嵌入式系统中通常没有像BIOS那样的固件程序,因此整个转载 2012-07-19 13:06:02 · 1420 阅读 · 0 评论 -
【嵌入式】探究bootloader,分析u-boot源码
Preface 之前也发表过关于《Bootloader启动过程分析》的文章,但是内容表达得比较抽象,大多是文字叙述,所以这里从系统和代码的角度来深入分析bootloader的启动过程。 工具:Source Insight 目标:U-Boot-1.1.6 仅留此分析过程,日后再作补充(纯手打也不容易啊,嘿嘿)。U-Boot工程结构转载 2014-02-14 12:06:58 · 1494 阅读 · 0 评论 -
什么是ROM、RAM、DRAM、SRAM和FLASH的区别
ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。RAM有两大类,一种称为静态RAM(Static RAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以转载 2014-01-14 16:44:41 · 691 阅读 · 0 评论 -
单片机中各种周期的关系与定时器原理
我们现来理解几个比较重要的概念:时钟周期: 时钟周期也叫振荡周期或晶振周期,即晶振的单位时间发出的脉冲数,一般有外部的振晶产生,比如12MHZ=12×10的6次方,即每秒发出12000000个脉冲信号,那么发出一个脉冲的时间就是时钟周期,也就是1/12微秒。通常也叫做系统时钟周期。是计算机中最基本的、最小的时间单位。 在8051单片机中把一个时钟周期定义为一个节拍(用P表示转载 2014-01-09 10:01:00 · 1811 阅读 · 0 评论 -
嵌入式系统文件系统比较
Linux支持多种文件系统,包括ext2、ext3、vfat、ntfs、iso9660、jffs、romfs和nfs等,为了对各类文件系统 进行统一管理,Linux引入了虚拟文件系统VFS(Virtual File System),为各类文件系统提供一个统一的操作界面和应用编程接口。 Linux启动时,第一个必须挂载的是根文件系统;若系统不能从指定设备上挂载根文件系统,则系统会出错而转载 2013-12-29 23:02:27 · 1369 阅读 · 0 评论 -
sqlite 数据库升级
做Android应用,不可避免的会与SQLite打交道。随着应用的不断升级,原有的数据库结构可能已经不再适应新的功能,这时候,就需要对SQLite数据库的结构进行升级了。 SQLite提供了ALTER TABLE命令,允许用户重命名或添加新的字段到已有表中,但是不能从表中删除字段。 并且只能在表的末尾添加字段,比如,为 Subscription添加两个字段: 1 ALTE转载 2013-10-29 09:54:12 · 756 阅读 · 0 评论 -
U-boot中设置开机logo的方法
在有实现LCD显示和LCD命令行终端的U-boot中,默认情况下在左上角都有显示一个logo,如果是atmel的芯片,就会有atmel的logo,三星的则是denx的logo。如果想把它改成自己喜欢的或者公司的logo,则只要作简单的修改便可以实现。一、图片的放置路径所有的开机logo都放在了 /tools/logos 之下,所以,把你需要显示的logo图片(bmp格式)也转载 2013-04-18 14:05:02 · 2224 阅读 · 0 评论 -
C语言程序中处理汉字(修正版)
学习过C语言的人也许有时会遇到这样一个问题:如何用变量存储汉字以及对这些变量进行操作。目前许多C语言参考书中都没涉及到这个问题,程序中多为处理英文变量和英文字符串,涉及到汉字的情况也大都是在printf语句中输出提示信息或结果,如:printf("请输入a,b的值:\n");printf("输出功率为%s千瓦。\n",power);考虑到还有相当一部分人在学习和应用转载 2012-10-25 10:00:48 · 2561 阅读 · 1 评论 -
Busybox下tftp命令使用详解
Busybox下的tftp命令可以用来进行单文件传输。使用的时候,是把电脑作为服务器Server,Busybox作为客户端Client,使用tftp命令可以实现从Server下载单个文件到Client,或者从Client上***个文件到Server。 首先来了解一下tftp命令参数,在Busybox下输入tftp –help,得到tftp使用的详细参数,如下图转载 2013-01-22 15:57:51 · 564 阅读 · 0 评论 -
uboot的编译及配置浅析
U-Boot的源码是通过GCC和Makefile组织编译的。顶层目录下的Makefile首先可以设置开发板的定义,然后递归地调用各级子目录下的Makefile,最后把编译过的程序链接成U-Boot映像。1.顶层目录下的Makefile它负责U-Boot整体配置编译。按照配置的顺序阅读其中关键的几行。每一种开发板在Makefile都需要有板子配置的定义。例如smdk2410开发板的定义如转载 2013-02-01 15:36:53 · 605 阅读 · 0 评论 -
开源库交叉编译
一般开源库大部分安装都是分三步:configure make make install。如果想交叉编译先 configure --help 看看是否支持交叉编译,若支持可按下边模式配置./configure --host=arm-linux CC=arm-none-linux-gnueabi-gcc --prefix=安装目录。原创 2013-01-08 16:33:07 · 1187 阅读 · 0 评论 -
sqlite3中的数据类型
大多数的数据库引擎(到现在据我们所知的除了sqlite的每个sql数据库引擎)都使用静态的、刚性的类型,使用静态类型,数据的类型就由它的容器决定,这个容器是这个指被存放的特定列。Sqlite使用一个更一般的动态类型系统,sqlite中,值的数据类型跟值本身相关,而不是与它的容器相关。Sqlite的动态类型系统和其他数据库的更为一般的静态类型系统相兼容,但同时,sqlite中的动态类型允许它能做转载 2012-11-08 16:59:19 · 605 阅读 · 0 评论 -
在linux的PC上挂载jffs2根文件系统映像
调试开发板时,经常需要用到jffs2的根文件系统映像,有时也要对比其他途径得到的可用的jffs2根文件系统映像。但jffs2的文件系统映像不象光盘的映像文件一样可以通过loop设备来挂载,总不可能一个个烧录到硬件板去看吧。网上google了一把,左翻右翻之后总算找到了一个方法。因为jffs2是构建于MTD设备上的文件系统,所以无法通过loop设备来挂载,但是可以通过mtdram设备来挂载。mtdr原创 2012-09-18 16:18:28 · 1623 阅读 · 0 评论 -
Linux V4L2 摄像头视频采集
一,什么是 video4linuxVideo4linux(简称V4L),是linux中关于视频设备的内核驱动,现在已有Video4linux2,还未加入linux内核,使用需自己 下载补丁。在Linux中,视频设备是设备文件,可以像访问普通文件一样对其进行读写,摄像头在/dev/videoN下,N可能为0,1,2,3... 一般0.另,推荐一个用于播放从摄像头采集到的raw数据的播放器转载 2013-09-23 15:13:35 · 1528 阅读 · 0 评论