
embeded
yangbomy
我没有出色的技术,但我有与众不同的想法
展开
-
cramfs文件系统介绍
1、cramfs的特点在嵌入式的环境之下,内存和外存资源都需要节约使用。如果使用RAMDISK方式来使用文件系统,那么在系统运行之后,首先要把外存(Flash)上的映像文件解压缩到内存中,构造起RAMDISK环境,才可以开始运行程序。但是它也有很致命的弱点。在正常情况下,同样的代码不仅在外存中占据了空间(以压缩后的形式存在),而且还在内存中占用了更大的空间(以解压缩之后的形式存在),这转载 2007-04-29 11:43:00 · 1044 阅读 · 0 评论 -
共享库的动态加载/卸载
这份文档来自Programming>>,解释如何动态加载共享库,使用这种技术你可以在程序中精确控制加载某个共享库。本文同时讨论了共享库中符号解析问题。dlopen( "libtest.so", RTLD_LAZY );这个调用将打开共享库libtest.so,第二形参通常都是RTLD_LAZY。为了使用dlopen函数,需要包含头文件,指定链接开关-ldl。假设libtest.so中定义了函数my转载 2007-05-21 16:32:00 · 1548 阅读 · 0 评论 -
UNIX/LINUX 平台可执行文件格式分析
转载 2007-05-21 17:12:00 · 675 阅读 · 0 评论 -
Binutils的内容
包含的程序addr2line, ar, as, gasp, gprof, ld, nm, objcopy, objdump, ranlib, readelf, size, strings and strip具体说明addr2lineaddr2line把程序地址转换为文件名和行号。在命令行中给它一个地址和一个可执行文件名,它就会使用这个可执行文件的调试信息指出在转载 2007-05-21 16:44:00 · 770 阅读 · 0 评论 -
嵌入式可移植性编程的一些例子
多数情况下,编写完全可移植的程序代码是不可能的。因为同样的数据类型在不同的编译环境下 所产生的结果(OBJ代码)可能是不同的,特别是针对嵌入式系统,不同的运行平台可能要求不同的代码来实现它所要求的独特功能。为了增加程序代码可移植到 多个平台的可行性,比较好的方法是提供一个可移植的数据或功能接口,让那些移植的部分隐藏在这些接口之后,当然,这样的事情应该全部是系统设计的工作。下 面介绍有关可移植性编程原创 2007-05-21 11:40:00 · 856 阅读 · 0 评论 -
存储器,I/O端口,寄存器
分析这几个容易混淆的概念. 引用一段资料: 几乎每一种外设都是通过读写设备上的寄存器来进行操作的。外设寄存器也称为“I/O端口”,通常包括:控制寄存器、状态寄存器和数据寄存器三大类,而且一个外设的寄存器通常被连续地编址。CPU对外设IO端口物理地址的编址方式有两种:一种是I/O映射方式(I/O-mapped),另一种是内存映射方式(Memory-mapped)。具转载 2007-08-09 10:30:00 · 3060 阅读 · 3 评论 -
GNU binutils工具使用
GNU binutils是一组二进制工具集。包括:addr2line ar gprof nm objcopy objdump ranlib size strings strip. 本文归纳他们的常用法。ar ar用于建立、修改、提取档案文件(archive)。archive是一个包含多个被包含文件的单一文件(也称之为库文件),其结构保证了可以转载 2007-04-29 11:46:00 · 2947 阅读 · 0 评论 -
MTD工具的安装
一, 为宿主机安装MTD工具程序下载MTD工具程序: ftp://ftp.uk.linux.org/pub/people/dwmw2/mtd/cvs/下载至${PRJROOT}/build-tools并将它解开.$ cd ${PRJROOT}/build-tools/mtd/util$ make clean修改Makefile文件:SBINDIR=sbinMANDIR=manINCLUDED转载 2007-04-27 16:41:00 · 1382 阅读 · 0 评论 -
启动信息详解
作为一名嵌入系统开发者,你一定遇到过下面的情景:在某论坛上看到一篇帖子,上面贴着嵌入式linux开发板启动时的有关信息,然后大家在帖子里讨论着这个启动过程中出现的问题,随机举例如下: Linux version 2.4.20-uc0 (root@Local) (gcc version 2.95.3转载 2007-04-27 13:23:00 · 1171 阅读 · 0 评论 -
GRUB整体分析
总 体上我们可以把GRUB看成一个微型的操作系统,他有Shell,支持Script,有文 件系统……我们可以把Stage1和Stage1.5看成一个引导程序,而Stage2则是一个操作 系统,只不过这个操作系统是专门用来引导其他操作系统的操作系统,为此, Stage2支持像kernel, initrd,chainloader等等为此目的而设置的内部“命令”。 3.1 GRUB引导操作系统的两种转载 2008-02-01 12:43:00 · 770 阅读 · 0 评论