嵌入式linux
文章平均质量分 80
liangkaiming
这个作者很懒,什么都没留下…
展开
-
嵌入式linux学习步骤
<br /><一><br />1、Linux 基础<br />安装Linux操作系统<br />Linux文件系统<br />Linux常用命令<br />Linux启动过程详解 <br />熟悉Linux服务能够独立安装Linux操作系统 <br />能够熟练使用Linux系统的基本命令 <br />认识Linux系统的常用服务安装Linux操作系统<br />Linux基本命令实践 <br />设置Linux环境变量 <br />定制Linux的服务<br />Shell 编程基础使用vi编辑文件 <b转载 2010-08-06 16:52:00 · 5510 阅读 · 2 评论 -
ARM的异常处理
<br /> 当异常中断发生时,系统执行完当前指令后,将跳转到相应的异常中断处理程序处执行。当异常中断处理程序执行完成后,程序返回到发生中断指令的下条指令处执行。在进入异常中断处理程序时,要保存被中断程序的执行现场,从异常中断处理程序退出时,要恢复被中断程序的执行现场。<br /> <br />1、引起异常的原因<br /> (1)、指令执行引起的异常<br /> 软件中断、未定义指令(包括所要求的协处理器不存在对于协处理器指令)、预取址中止(存储器故障)、数据中止。转载 2010-10-21 17:06:00 · 3286 阅读 · 0 评论 -
在Linux系统中存储设备的两种表示方法
<br />硬盘和硬盘分区在Linux都表示为设备,按我们通俗的说法来说,就是怎么来表示或描述硬盘和或硬盘分区,但这种描述应该是科学和具体的;比如IDE硬盘,在Linux 可以表示为 /dev/hda、/dev/hdb ... ;SCSI 接口的硬盘、SATA接口的硬盘表示为/dev/sda、/dev/sdb ... ... ;而IDE接口的硬盘/dev/hda,也可以表示为hd0 ,而 SCSI 接口的如果是 /dev/sda ,另一种表示方法是sd0;理解两种表示方法有何用?至少GRUB引导管理器用到这转载 2010-10-20 10:26:00 · 1172 阅读 · 0 评论 -
MTD设备及其驱动
<br />MTD 设备是象闪存芯片、小型闪存卡、记忆棒等之类的设备,它们在嵌入式设备中的使用正在不断增长。<br /><br />MTD 驱动程序是在 Linux 下专门为嵌入式环境开发的新的一类驱动程序。相对于常规块设备驱动程序,使用 MTD 驱动程序的主要优点在于 MTD 驱动程序是专门为基于闪存的设备所设计的,所以它们通常有更好的支持、更好的管理和基于扇区的擦除和读写操作的更好的接口。Linux 下的 MTD 驱动程序接口被划分为两类模块:用户模块和硬件模块。<br /> <br />MTD 驱动程原创 2010-10-19 13:42:00 · 2004 阅读 · 0 评论 -
s3c2440存储控制器和地址以及启动的理解
<br />1.首先应该先了解Flash ROM的种类<br />NOR FLASH地址线和数据线分开,来了地址和控制信号,数据就出来。<br />NAND Flash地址线和数据线在一起,需要用程序来控制,才能出数据。<br />通俗的说,只给地址不行,要先命令,再给地址,才能读到NAND的数据,在一个总线完成的。<br />结论是:ARM无法从NAND直接启动。除非装载完程序,才能使用NAND Flash.<br />2.Nand Flash的命令、地址、数据都通过I/O口发送,管脚复用,这样做做的好处原创 2010-10-19 11:36:00 · 2487 阅读 · 0 评论 -
FLASH存储器和EEPROM存储器的区别
FLASH存储器和EEPROM存储器的区别<br />1、首先从IO引脚占用方面比较,EEPROM只需占用两个IO引脚,时钟(clk)和数据(data)引脚,外加电源三个引脚即可,符合I2C通讯协议。而FLASH需要占用更多IO引脚,有并行和串行的,串行的需要一个片选(cs)引脚(可用作节电功耗控制),一个时钟(clk)引脚,FLASH读出和写入引脚各一个,也就是四个。并行的需要8个数据引脚,当然比串行的读写速度要快。<br /><br /> 2、从功能方面比较,EEPROM可以单字节读写,FLASH部转载 2010-10-19 11:01:00 · 3056 阅读 · 0 评论 -
NFS服务
<br />NFS服务的概述 <br />NFS最早是由Sun公司于1984年开发出来的,其目的就是让不同计算机不同操作系统之间可以彼此共享文件。由于NFS使用起来非常方便,因此很快得到了大多数的UNIX/Linux系统的广泛支持,而且还被IETE(国际互联网工程组)制定为RFC1904、RFC1813和RFC3010标准。<br /> <br />NFS服务的概述<br />NFS采用客户/服务器工作模式。在NFS服务器上将/nfs/public目录设置为输出目录(即共享目录)后,其他转载 2010-10-14 13:43:00 · 2146 阅读 · 0 评论 -
使用crosstool 制作arm-linux交叉编译链
<br />crosstool是个不错的软件,能够很方便的编译自己的交叉编译环境<br />目前最新版本crosstool-0.43 在地址 http://kegel.com/crosstool/crosstool-0.43.tar.gz 可以下载。<br />首先获取工具包,解压后进入其目录wget http://kegel.com/crosstool/crosstool-0.43.tar.gztar -xzvf crosstool-0.43.tar.gzc转载 2010-10-15 11:53:00 · 1653 阅读 · 0 评论 -
Linux内核模块编程初识
<br /> Linux 有许多功能是通过模块的方式, 在需要时才载入 kernel。 如此可使 kernel 较为精简,进而提高效率,以及保有较大的弹性。这些可动态加载的模块,通常是系统的设备驱动程序。加载模块采用 insmod 指令,其常用语法如下。<br /> insmod [-fkmpsvxX] [-o<模块名称>] [模块文件]<br /> 其中的参数解释如下。<br /> -f:不检查目前 kernel 版本与模块编译时的 kernel 版本是否一致,强制将模块载入。<br />转载 2010-10-13 11:55:00 · 1148 阅读 · 0 评论 -
如何为嵌入式开发建立交叉编译环境
<br />随着消费类电子产品的大量开发和应用和Linux操作系统的不断健壮和强大,嵌入式系统越来越多的进入人们的生活之中,应用范围越来越广。<br />在裁减和定制Linux,运用于你的嵌入式系统之前,由于一般嵌入式开发系统存储大小有限,通常你都要在你的强大的pc机上建立一个用于目标机的交叉编译环境。这是一个由编译器、连接器和解释器组成的综合开发环境。交叉编译工具主要由 binutils、gcc 和 glibc 几个部分组成。有时出于减小 libc 库大小的考虑,你也可以用别的 c 库来代替 glibc,转载 2010-10-12 11:45:00 · 1796 阅读 · 0 评论 -
arm-linux-gcc工具链下载
<br />常用的交叉编译起可以从下边的站点下载: <br />http://frank.harvard.edu/~coldwell/toolchain/<br />http://www.kegel.com/crosstool/<br /> <br /> <br />http://www.handhelds.org/download/projects/toolchain/<br />http://ftp.arm.linux.org.uk/pub/armlinux/toolchain/<br />http:/转载 2010-10-11 11:46:00 · 3169 阅读 · 0 评论 -
同步化,同步,异步化,异步操作的区别
<br /> 在Unix系统中会大量使用“同步化”(synchronized),“异步化”(nonsynchronized),“同步”(synchronous),以及“异步”(asynchronous)等令人混淆的术语。<br /> 现结合Unix中读取和写入操作来分别介绍这四种术语的具体含义:<br />同步(synchronous)写操作:调用进程会等到所要写入的数据(至少)被存入内核的缓冲区后(用户进程的写操作一般都是数据从用户缓冲区复制到内核缓冲区,然后由内核缓冲区刷新的磁盘文件中)原创 2010-09-06 13:56:00 · 3864 阅读 · 0 评论 -
嵌入式人才发展方向
<br />嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一。嵌入式系统用在一些特定专用设备上,通常这些设备的硬件资源(如处理器、存储器等)非常有限,并且对成本很敏感,有时对实时响应要求很高等。特别是随着消费家电的智能化,嵌入式更显重要。像我们平常常见到的手机、PDA、电子字典、可视电话、VCD/DVD/MP3 Player、数字相机(DC)、数字摄像机(DV)、U-Disk、机顶盒(Set Top Box)、高清电视(HDTV)、游戏机、智能玩具、交换机、路由器、数控设备或仪表、汽车电子、家电控制转载 2010-09-10 13:42:00 · 1198 阅读 · 0 评论 -
ARM C嵌入式编程中一些常见的标识符
<br />1、访问绝对地址的内存位置:<br /> #define pISR_EINT0 (*(unsigned *) (_ISR_STARTADDRESS+0x74)) 上述语句把代表地址的无符号整数_ISR_STARTADDRESS+0x74强制转换为指针,指向RAM,用下面的语句可以访问它:<br /> pISR_EINT0 = (int)Eint0_ISR<br /> 为了访问一个绝对地址,把一个整形数表示的地址值强制转换(typecast)为一原创 2010-10-22 14:42:00 · 2014 阅读 · 0 评论