自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

转载 u-boot烧写yaffs2文件系统

u-boot烧写yaffs2文件系统<br />    以前移植的U-boot一直都支持Yaffs2文件系统的烧写,但是我一直都没有时间测试,其中的Bug也是网友发现后修正的。虽然现在又有新的UBI文件系统,但是UBI是在Linux2.6.28以后才被支持的,所以yaffs2还是需要的。前几天因为项目需要,我又试了一次Yaffs2的烧写引导,在这里记录下来,以备后用。<br /><br />一、下载Yaffs2映像制作工具。<br />    mkyaffs2image就在yaffs2的源码包里:Yaf

2010-12-06 17:42:00 1950

转载 U-boot开机logo的制作方法

<br />在有实现LCD显示和LCD命令行终端的U-boot中,在左上角都有显示一个logo,如果是atmel的芯片,就会有atmel的logo,三星的则是denx的logo。<br />有的网友发邮件说想改成自己公司的Logo,而且如果是自己玩的话,改成自己喜欢的logo也爽阿。所以今天我做好了实验,将简单的修改方法总结如下:<br />一、图片的放置路径<br />所有的开机logo都放在了 /tools/logos 之下,你只需要将你的班子作对应的logo替换就好了。<br />对于S3C2440,

2010-12-06 17:35:00 749

转载 在U-boot下实现自动识别启动Flash的原理(针对S3C24x0)

在U-boot下实现自动识别启动Flash的原理(针对S3C24x0)<br />有网友给我一个建议,是否可以同时支持64MB的flash和128MB的flash,我想了一下觉得可行,再想一下觉得还可以实现自动识别Nor boot 还是 Nand boot。 所以在移植u-boot-2009.08的时候,我决定实现这两个功能。其实实现这两个功能是只需要修改start.S文件和nand_read.c文件即可,关键在于检测手段,以下分别介绍我在u-boot-2009.08中实现的S3C2440启动识别flash

2010-12-06 17:33:00 499

转载 U-boot的使用(四)

下载与烧写使用U-boot将映像文件烧写到板上的Flash,一般步骤是:(1)通过网络、串口、U盘、SD卡等方式将文件传输到SDRAM;(2)使用Nand Flash或Nor Flash相关的读写命令将SDRAM中的数据烧入Flash。下面是烧写范例:如果使用 SD卡和U盘形式更新U-boot,那么首先SD卡和U盘中必须有FAT32文件系统,并在里面存放了u-boot.bin 文件。1) 通过SD卡烧入Nand Flash:[u-boot@MINI2440]# mmc initmmc: Probing fo

2010-12-06 16:28:00 899

转载 U-boot源码简要分析(二)

<br />现在我们再来看看lib_arm/board.c中的第二阶段入口函数start_armboot :<br /><br />void start_armboot (void)                      <br />{<br />       init_fnc_t **init_fnc_ptr;<br />       char *s;<br />#if defined(CONFIG_VFD) || defined(CONFIG_LCD)<br />       unsigned lo

2010-12-06 16:24:00 487

转载 U-boot源码简要分析(一)

<br />1.U-boot源码整体框架<br />源码解压以后,我们可以看到以下的文件和文件夹:<br /><br /><br /><br /><br /> cpu<br />与处理器相关的文件。每个子目录中都包括cpu.c和interrupt.c、start.S、u-boot.lds。<br />cpu.c初始化CPU、设置指令Cache和数据Cache等<br />interrupt.c设置系统的各种中断和异常<br />start.S是U-boot启动时执行的第一个文件,它主要做最早其的系统初始化,

2010-12-06 16:10:00 657

转载 U-boot的使用(三)

(6) 内存/寄存器操作指令nm      修改内存值 (指定地址)    格式: nm [.b, .w, .l] address mm     修改内存值(地址自动加一)格式:  mm [.b, .w, .l] address md       显示内存值格式:  md [.b, .w, .l] address [# of objects] mw     用指定的数据填充内存格式:  mw [.b, .w, .l] address value [count] cp      内存的拷贝(包括内存与Nor

2010-12-06 15:54:00 1346

转载 U-boot的使用(二)

(3)串口传输命令<br />命令:<br />loadb   - load binary file over serial line (kermit mode)<br />loadx   - load binary file over serial line (xmodem mode)<br />loady   - load binary file over serial line (ymodem mode) 功能:以不同的协议从串口获取文件.。<br />格式基本都为:<br />load? [ off

2010-12-06 15:51:00 1538

转载 U-boot的使用(一)

<br />我一贯认为:对于一个技术类的东西,你连用都不会用,那根本就不可能会开发。就好像一个人连Linux不会用,那还谈何开发Linux程序呢?    同样的要开发和移植U-boot,首先要对U-boot有一定的了解,起码要会使用。    所以这里我们首先熟悉一下U-boot的使用以及如何将U-boot烧入mini2440。<br />    当然在这之前首先必须保证你的板子上已经有了U-boot。如果没有那就先烧上一个吧。针对mini2440的U-boot-2009.11的bin文件我已经上传到了博客中

2010-12-06 15:45:00 650

转载 开发环境准备

开发前的准备有以下几个方面:1 、交叉编译工具链的安装。   我在前段时间使用了Crosstool-ng编译出了for ARMv4t的交叉编译工具,Gcc的版本是4.3.2,可以用来编译最新版的Linux内核,当然也可以轻松的编译U-Boot.请看:《用crosstool-ng建立Linux 交叉编译环境》<br />在编译好交叉编译工具链后,关键是要在环境变量的PATH中添加编译工具的路径(也就是arm-*-linux-*-gcc所在的路径),在编译时系统才找得到命令。在Ubuntu下的修改方法: <br

2010-12-06 15:41:00 375

转载 U-boot简介

一、U-boot的起源U-Boot是Das U-Boot的简称,其含义是Universal Boot Loader,是遵循GPL条款的开放源码项目。一开始德国DENX软件工程中心的Wolfgang Denk基于8xxROM和FADSROM的源码创建了PPCBoot工程项目,此后不断添加处理器的支持。后来,Sysgo Gmbh把PPCBoot移植到ARM平台上,创建了ARMBoot工程项目。然后以PPCBoot工程和ARMBoot工程为基础,创建了U-Boot工程,2002年12月17日第一个版本U-Boot

2010-12-06 15:29:00 389

转载 Boot Loader的概念和功能

1、嵌入式Linux软件结构与分布在一般情况下嵌入式Linux系统中的软件主要分为以下及部分:(1)引导加载程序:其中包括内部ROM中的固化启动代码和Boot Loader两部分。而这个内部固化ROM是厂家在芯片生产时候固化的,作用基本上是引导Boot Loader。有的芯片比较复杂,比如Omap3,他在flash中没有代码的时候有许多启动方式:USB、UART或以太网等等。而S3C24x0则很简单,只有Norboot和Nandboot。(2)Linux kernel 和drivers。(3)文件系统。包括

2010-12-06 15:17:00 549

转载 u-boot移植详细文档

做U-boot移植很久了,一直没有时间写一份详细的文档。这次花了很多时间写了这份可以说是比较全面的文档,希望对大家的移植和学习有用。        这次的移植使用的是友善之臂的mini2440,原先我在2008年的10月份买了一块64MB Nand Flash的板子,做了好几个版本的U-boot的移植。但是一直没有2K/页的 Nand Flash做移植实验,网友也常问到2K/页的 Nand Flash的U-boot引导移植问题,我在没有试验过的时候也是无能为力。     在这里要感谢友善之臂公司在2009年

2010-12-06 15:15:00 620

转载 嵌入式Linux之我行——S3C2440上RTC时钟驱动开发实例讲解

嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤。一为总结经验,二希望能给想入门嵌入式Linux的朋友提供方便。如有错误之处,谢请指正。<br /><br />一、开发环境主  机:VMWare--Fedora 9开发板:Mini2440--64MB Nand, Kernel:2.6.30.4编译器:arm-linux-gcc-4.3.2<br />二、相关概念<br />1、平台设备:<br />通常在Linux中,把SoC系统中集成的独立外设单元(如:I2C、IIS、RTC

2010-12-05 22:32:00 1100

转载 嵌入式Linux之我行——设备文件系统剖析与使用

嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤。一为总结经验,二希望能给想入门嵌入式Linux的朋友提供方便。如有错误之处,谢请指正。<br /><br />一、什么是Linux设备文件系统<br />      首先我们不看定义,定义总是太抽象很难理解,我们先看现象。当我们往开发板上移植了一个新的文件系统之后(假如各种设备驱动也移植好了),启动开发板,我们用串口工具进入开发板,查看系统/dev目录,往往里面没有或者就只有null、console等几个系统必须的设备文件在这儿

2010-12-05 22:28:00 522

转载 嵌入式Linux之我行——s3c2440的IO静态映射的分析

嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤。一为总结经验,二希望能给想入门嵌入式Linux的朋友提供方便。如有错误之处,谢请指正。内存映射分3个层次:开发板的层次(如:声卡,网卡和开发板相关的部分) 最小系统的层次(系统必需的几个,如GPIO,IRQ,MEMCTRL,UART) 其他系统的层次(不影响开机的部分,如:usb,lcd,adc)<br />  开发板的mapio的初始化: <br />  smdk2440_map_io函数中会调用:   s3c24xx_ini

2010-12-05 22:27:00 617

转载 嵌入式Linux之我行——Linux-2.6.30.4在2440上的移植之触摸屏驱动

嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤。一为总结经验,二希望能给想入门嵌入式Linux的朋友提供方便。如有错误之处,谢请指正。<br /> <br />一、移植环境主  机:VMWare--Fedora 9开发板:Mini2440--64MB Nand编译器:arm-linux-gcc-4.3.2<br />二、移植步骤1. 准备驱动源码。因为linux-2.6.30.4内核中没有提供合适的ADC驱动和触摸屏驱动,所以这里就直接用友善提供的驱动 s3c24xx-adc

2010-12-05 22:20:00 659

转载 嵌入式Linux之我行——S3C2440上触摸屏驱动实例开发讲解

嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤。一为总结经验,二希望能给想入门嵌入式Linux的朋友提供方便。如有错误之处,谢请指正。一、开发环境主  机:VMWare--Fedora 9开发板:Mini2440--64MB Nand, Kernel:2.6.30.4编译器:arm-linux-gcc-4.3.2二、前提知识1、Linux输入子系统(Input Subsystem):   在Linux中,输入子系统是由输入子系统设备驱动层、输入子系统核心层(Input Cor

2010-12-05 22:16:00 952

转载 嵌入式Linux之我行——u-boot-2009.08在2440上的移植详解(六)

嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤。一为总结经验,二希望能给想入门嵌入式Linux的朋友提供方便。如有错误之处,谢请指正。<br /><br />一、移植环境主  机:VMWare--Fedora 9开发板:Mini2440--64MB Nand,Kernel:2.6.30.4编译器:arm-linux-gcc-4.3.2.tgzu-boot:u-boot-2009.08.tar.bz2<br />二、移植步骤<br />上接:u-boot-2009.08在244

2010-12-05 22:10:00 616

转载 嵌入式Linux之我行——u-boot-2009.08在2440上的移植详解(五)

嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤。一为总结经验,二希望能给想入门嵌入式Linux的朋友提供方便。如有错误之处,谢请指正。<br /><br />一、移植环境主  机:VMWare--Fedora 9开发板:Mini2440--64MB Nand,Kernel:2.6.30.4编译器:arm-linux-gcc-4.3.2.tgzu-boot:u-boot-2009.08.tar.bz2<br />二、移植步骤<br />上接:u-boot-2009.08在244

2010-12-05 22:08:00 422

转载 嵌入式Linux之我行——u-boot-2009.08在2440上的移植详解(四)

嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤。一为总结经验,二希望能给想入门嵌入式Linux的朋友提供方便。如有错误之处,谢请指正。<br /><br />一、移植环境主  机:VMWare--Fedora 9开发板:Mini2440--64MB Nand,Kernel:2.6.30.4编译器:arm-linux-gcc-4.3.2.tgzu-boot:u-boot-2009.08.tar.bz2<br />二、移植步骤<br />上接:u-boot-2009.08在244

2010-12-05 22:06:00 331

转载 嵌入式Linux之我行——u-boot-2009.08在2440上的移植详解(三)

嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤。一为总结经验,二希望能给想入门嵌入式Linux的朋友提供方便。如有错误之处,谢请指正。<br /><br />一、移植环境主  机:VMWare--Fedora 9开发板:Mini2440--64MB Nand,Kernel:2.6.30.4编译器:arm-linux-gcc-4.3.2.tgzu-boot:u-boot-2009.08.tar.bz2<br />二、移植步骤<br />上接:u-boot-2009.08在244

2010-12-05 22:04:00 271

转载 嵌入式Linux之我行——u-boot-2009.08在2440上的移植详解(二)

嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤。一为总结经验,二希望能给想入门嵌入式Linux的朋友提供方便。如有错误之处,谢请指正。共享资源,欢迎转载:http://hbhuanggang.cublog.cn<br />一、移植环境主  机:VMWare--Fedora 9开发板:Mini2440--64MB Nand,Kernel:2.6.30.4编译器:arm-linux-gcc-4.3.2.tgzu-boot:u-boot-2009.08.tar.bz2<br />二

2010-12-05 22:00:00 328

转载 嵌入式Linux之我行——u-boot-2009.08在2440上的移植详解(一)

嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤。一为总结经验,二希望能给想入门嵌入式Linux的朋友提供方便。如有错误之处,谢请指正。共享资源,欢迎转载:http://hbhuanggang.cublog.cn一、移植环境主  机:VMWare--Fedora 9开发板:Mini2440--64MB Nand,Kernel:2.6.30.4编译器:arm-linux-gcc-4.3.2.tgzu-boot:u-boot-2009.08.tar.bz2二、移植步骤本次移植的功能

2010-12-05 11:25:00 460

转载 arm上ldrex和strexeq指令用来尝试获取独占内存权限和设置在独占权限时回写

__raw_spin_lock在ARM处理器上的实现<br />/******include/asm-arm/spinlock_types.h***/<br /> typedef struct {<br />        volatile unsigned int lock;<br />        } raw_spinlock_t;<br />#define __RAW_SPIN_LOCK_UNLOCKED { 0 }<br />/******include/asm-arm/spinlock.h***

2010-12-04 21:24:00 1393

转载 linux 文本编辑命令grep sed awk

<br />grep grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更多的re元字符, fgrep就是fixed grep或fast grep,它们把所有的字母都看作单词,

2010-12-04 21:22:00 965 1

转载 Linux下多线程编程与信号处理易疏忽的一个例子

这几天把一个网络流量采集器程序基本改好了,原来在main函数中把几个子线程启动后就睡10分钟后开始清理子线程后退出。现在想改成子线程启动后主线程进入无限睡眠,直到收到SIGTERM或SIGINT。主程序如下:<br />其他头文件<br />#include <signal.h> //信号处理所需要的头文件<br />int main(int argc, char * argv[]){<br />  //其他所需要的变量声明  <br />  sigset_t sig_set,sig_pending;<br

2010-12-04 21:18:00 343

转载 linux下用户空间与内核空间数据交换方式

本系列文章包括两篇,它们文详细地地介绍了Linux系统下用户空间与内核空间数据交换的九种方式,包括内核启动参数、模块参数与sysfs、sysctl、系统调用、netlink、procfs、seq_file、debugfs和relayfs,并给出具体的例子帮助读者掌握这些技术的使用。<br />本文是该系列文章的第二篇,它介绍了procfs、seq_file、debugfs和relayfs,并结合给出的例子程序详细地说明了它们如何使用。<br />一、procfs<br />procfs是比较老的一种用户态与

2010-12-04 21:14:00 343

转载 gcc生成.a静态库和.so动态库文件

o 生成静态库的方法<br /><br />$ gcc -c gdfontwu.c<br />$ gcc -c gdfontliu.c<br />$ gcc -c gdfontbin.c<br />$ ar rc libgdfont.a gdfontwu.o gdfontliu.o gdfontbin.o<br />(ranlib libgdfont.a 可生成索引)<br /><br />用 nm libgdfont.a 来看里面的目标文件和导出函数(带 T 标记)。<br />(当然对于已经做过stri

2010-12-04 20:43:00 823

转载 关于linux的动态共享库的设置--/etc/ld.so.conf和/etc/ld.so.cache

<br />可执行程序找不到要链接的动态共享库,这是Linux上面编译和运行程序很容易碰到的问题,通过上面的小例子,我们已经大致了解<br />共享库的一点基本原理,接下来我们要探讨一下怎么设置程序寻找动态共享库的行为。<br />Linux操作系统上面的动态共享库大致分为三类:<br />1、操作系统级别的共享库和基础的系统工具库<br />比方说libc.so, libz.so, libpthread.so等等,这些系统库会被放在/lib和/usr/lib目录下面,如果是64位操作系统,还会<br />

2010-12-04 20:38:00 1826

转载 浅析linux下如何制作iso文件,向iso追加内容,以及多目录制作和2个iso合并

浅析linux下如何制作iso文件,向iso追加内容,以及多目录制作和2个iso合并<br /><br />以下是将2个目录gliethttp_dir和luther_dir中的内容合并到gliethttp.iso中,<br />如果是2个iso可以先将他们分别mount到2个目录,然后使用如下2个目录制作的方法即可完成合并2个iso的工作.<br /><br />luther@gliethttp:~$ mkisofs -jcharset utf8 -o gliethttp.iso gliethttp_dir

2010-12-04 20:35:00 886

转载 nand flash和nor flash两大阵营比较

      NOR和NAND是现在市场上两种主要的非易失闪存技术。Intel于1988年首先开发出NOR flash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面。紧接着,1989年,东芝公司发表了NAND flash结构,强调降低每比特的成本,更高的性能,并且象磁盘一样可以通过接口轻松升级。但是经过了十多年之后,仍然有相当多的硬件工程师分不清NOR和NAND闪存。 <br />相“flash存储器”经常可以与相“NOR存储器”互换使用。许多业内人士也搞不清楚NAND闪存技术相对于NOR技术的

2010-12-04 20:27:00 413

转载 关于普通用户执行mount的问题

一般user 并不能任意mount, 只能mount 在/etc/fstab 中,有加users 标签的设定。<br />你使用root 手动mount,并使用users 标签,不过是让一般user可以umount而已,一般user仍然不能访问该分区。就算写在/etc/fstab 中,也是一样,只是开放mount,umount,不过被某个user mount上的那个分区默认就属于那个user和group,所以看上去是可以访问的了。在fstab当中设定uid和gid还是最可靠的<br />/bin/mount

2010-12-04 17:44:00 2828

转载 如何让普通用户对mount上的硬盘原有分区C盘和D盘以及ext3分区有完全的读写权

<br />luther@gliethttp:~$ id <br />uid=1000(luther) gid=1000(luther) groups=4(adm),20(dialout),24(cdrom),46(plugdev),108(lpadmin),123(admin),124(sambashare),1000(luther)<br />luther@gliethttp:~$ sudo mount /dev/sda5 /media/d -o iocharset=utf8,loop,uid=1000

2010-12-04 17:41:00 998

转载 浅析开发板相关变量phys_io即EP93XX_APB_PHYS_BASE什么时候被引用

<br />文件:arch/arm/kernel/head.S<br />// cpu执行入口<br />    .section ".text.head", "ax"<br />ENTRY(stext)<br />    msr    cpsr_c, #PSR_F_BIT | PSR_I_BIT | SVC_MODE @ ensure svc mode<br />                        @ and irqs disabled<br />    mrc    p15, 0, r9,

2010-12-04 17:27:00 607

转载 使用arm-linux-gcc 4.3.2编译必须启用内核中的Use the ARM EABI选项

文章出处:http://blog.chinaunix.net/u1/38994/不知道为什么使用arm-linux-gcc-4.3.2.tgz (with EABI) 86MB编译同样的东西就是出现如下错误,感觉可能是busybox 1.14.3的问题,因为使用arm-linux-gcc-4.3.2编译出来的zImage可以使用正常挂在arm-linux-gcc-3.4.1编译器编译出来的动态busybox和库,但是使用arm-linux-gcc-4.3.2.tgz 编译出来的静态busybox就是会出现下

2010-12-04 17:16:00 557

转载 交叉编译场景分析(arm-linux)(八)--编译glib

<br />交叉编译场景分析(arm-linux)(八)--编译glib<br /> <br />文章出处:http://blog.csdn.net/absurd<br /> <br />1.     基本信息:<br />         <br />        <br /> <br />2.     过程分析<br />下载的稳定版本,configure已经存在,直接进行配置:<br />[root@linux glib-2.8.0]# ./configure --host=$ARCH-linux

2010-12-04 16:29:00 458

转载 交叉编译场景分析(arm-linux)(七)--编译sqlite

<br />交叉编译场景分析(arm-linux)(七)--编译sqlite<br /> <br />文章出处:http://blog.csdn.net/absurd<br /> <br />1.    基本信息:<br />        <br />2.    过程分析<br />下载的稳定版本,configure已经存在,直接进行配置:<br />[root@linux sqlite-3.3.4]# ./configure --host=$ARCH-linux --prefix=$ROOTFS_DIR

2010-12-04 16:23:00 317

转载 交叉编译场景分析(arm-linux)(六)--编译TinyX

<br />交叉编译场景分析(arm-linux)(六)--编译TinyX<br /> <br />文章出处:http://blog.csdn.net/absurd<br /> <br />1.    基本信息:<br />        <br />        <br />         <br /> <br />2.    过程分析<br />TinyX并不是一个独立的软件包,而是X Window的一种编译配置。X Window采用的imake配置方式,与autoconf不一样,你先要手工编译配置

2010-12-04 16:15:00 364

转载 交叉编译场景分析(arm-linux)(五)--编译libjpeg和libpng

<br />交叉编译场景分析(arm-linux)(五)--编译libjpeg和libpng<br /> <br />文章出处:http://blog.csdn.net/absurd<br /> <br />1.    基本信息:<br />        <br />       <br /> <br />2.    过程分析<br />下载的稳定版本,configure已经存在,直接进行配置:<br />[root@linux jpeg-6b]# ./configure --host=$ARCH-lin

2010-12-04 16:00:00 507 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除