随笔分类 -  嵌入式之S3c2410开发

摘要:contact me go -> xuqiang.docs@hotmail.comARM Linux Boot SequenceThe following traces the Linux boot sequence for ARM-based systems in the 2.6.18 kernel. It looks at just the earliest stages of the boot process, until the generic non-processor-specific start_kernel function is called. The line 阅读全文
posted @ 2010-04-11 08:44 qiang.xu 阅读(281) 评论(0) 推荐(0) 编辑
摘要:笔记本没有串口,并口摘自于网上,没有广告之嫌,连接只是当时存在,我看内容不错就摘过来了。对于电脑有串口和并口的客户来说,本店每一套开发板都是完整套件了,不买仿真器也可以开发。(当然,如果资金充足,再买个仿真器会更有利于搞底层开发)但是,现在好多人都用笔记本,绝大多数笔记本和部分新台式机都没有串口(9针的COM口,别跟15针的VGA混了)和并口(25针的大口),对这些用户来说,必须解决串口和并口的问题,才能进行ARM嵌入式开发。串口是必需的,USB转串口可以解决这个问题,可以用在任何电脑上,通过USB扩展出一个串口。买了开发板,再拍这个宝贝就行了,USB转串口可配mini2440 utu2440 阅读全文
posted @ 2010-04-11 08:33 qiang.xu 阅读(4324) 评论(0) 推荐(0) 编辑
摘要:环境 arm-linux-gcc 3.4.11.linux根文件系统概述linux系统可以将磁盘,flash等存储设备划分为若该个分区,但是linux系统需要在一个分区上存放系统启动的所有文件,比如内核镜像、内核启动的第一个进程init进程、根文件系统等。系统在启动时会自动mount该文件系统。linux系统上FHS :/|-- arm-linux-gcc-3.3.2.tar.bz2|-- bin|-- boot|-- cdrom -> media/cdrom|-- dev|-- etc|-- home|-- host|-- initrd.img -> boot/i 阅读全文
posted @ 2010-04-08 18:20 qiang.xu 阅读(1700) 评论(0) 推荐(0) 编辑
摘要:a.Memory Controllerb.Nand Flashc.UARTd.Interrupte.Timer Memory ControllerSDRAM: S3C2410提供了外接ROM、SRAM、SDRAM、NOR Flash、NANDFlash的接口。S3C2410外接存储器的空间被分为8BANKS,每BANK容量为128M:当访问BANKx(x从0到7)所对应的地址范围x*128M到(x+1)*128M-1 SDRAM使用BANK6,它的物理起始地址为6*128M=0x30000000。 SDRAM(刷新): 之所以称为DRAM,就是因为它要不断进行刷新(Refresh)才能保 阅读全文
posted @ 2010-03-12 15:21 qiang.xu 阅读(534) 评论(0) 推荐(0) 编辑
摘要:linux内核移植详解下载地址: 阅读全文
posted @ 2010-03-10 13:15 qiang.xu 阅读(341) 评论(0) 推荐(0) 编辑
摘要:ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。RAM分为两类:一种是静态的RAM(SRAM),另外的一种是动态RAM(DRAM),二者的区别是SRAM的速度要比DRAM的速度快,同时价格也比较贵,在计算机中SRAM常用来作为cache,而DRAM常用来当做内存条来使用。ROM也分为好几种,PROM是可编程的ROM,PROM和EPROM(可擦除可编程ROM)。FLASH存储器又称闪存,它结合了 阅读全文
posted @ 2010-03-10 11:37 qiang.xu 阅读(288) 评论(0) 推荐(0) 编辑
摘要:最常用的编译版本是arm-linux-gcc-3.4.1 和 arm-linux-3.3.2 的,现在的嵌入式开发基本上用的是这些,3.4.1的用于编译2.6的内核,而3.3.2的常用于编译busybox,和bootloader(u- boot),编译的版本配合不好的话就会出错,所以要选择好编译版本,如果这个版本不行的话,可以试试其他的版本,在uclinux上用的多的就是 arm-elf-tools-20030314http://www.handhelds.org/download/projects/toolchain/arm-linux-gcc-3.4.1.tar.bz2http://www 阅读全文
posted @ 2010-02-21 22:21 qiang.xu 阅读(747) 评论(0) 推荐(0) 编辑
摘要:编译器:arm-linux- 3.4.1 出现以下错误cc1: error: invalid option `short-load-bytes'make: *** [entry.o]错误 1 如果改用2.95.3则不会出现该问题。 原因是高版本的编译器不支持-mshort-load-bytes选项,改为-malignment-traps即可。 阅读全文
posted @ 2010-02-21 21:20 qiang.xu 阅读(436) 评论(0) 推荐(0) 编辑
摘要:GNU binutils是一组二进制工具集。包括:addr2line ar gprof nm objcopy objdump ranlib size strings strip. 本文归纳他们的常用法。ar ar用于建立、修改、提取档案文件(archive)。archive是一个包含多个被包含文件的单一文件(也称之为库文件),其结构保证了可以从中检索 并得到原始的被包含文件(称之为archive中的member)。member的原始文件内容、模式(权限)、时间戳、所有着和组等属性都被保存在 archive中。member被提取后,他们的属性被恢复到初始状态。 ar主要用于创建C库文件(关于.o 阅读全文
posted @ 2010-02-19 15:09 qiang.xu 阅读(263) 评论(0) 推荐(0) 编辑
摘要:调用格式:arm-elf-gcc [stage-opt] [other-opts] -mcpu=arm7tdmi in-file -o out-file常见用法:将C代码编译为二进制目标文件:arm-elf-gcc -c -O2 -g -mcpu=arm7tdmi filename.c -o filename.o将多个二进制目标文件合并为一个可执行文件:arm-elf-ld filename1.o filename2.o … -o filename.elf将C代码直接编译生成可执行文件:arm-elf-gcc -O2 -g -mcpu=arm7tdmi filename. 阅读全文
posted @ 2010-02-18 22:10 qiang.xu 阅读(671) 评论(0) 推荐(0) 编辑
摘要:在基于ARM的嵌入式系统开发中,常常用到交叉编译的GCC工具链有两种:arm-linux-*和 arm-elf-*,两者区别主要在于使用不同的C库文件。arm-linux-*使用GNU的Glibc,而arm-elf-*一般使用 uClibc/uC-libc或者使用REDHAT专门为嵌入式系统的开发的C库newlib.Glibc。uClibc/uC-libc以及 newlib都是C语言库文件,只是所应用的领域不同而已,Glibc是针对PC开发的,uClibc/uC-libc是与Glibc API兼容的小型化C语言库,实现了Glibc部分功能。  关于uClibc/uC-libc的说明,详见如下: 阅读全文
posted @ 2010-02-18 22:02 qiang.xu 阅读(768) 评论(0) 推荐(0) 编辑
摘要:首先介绍的整体的环境是ubuntu 9.04 gcc的版本是4.1.下面是具体的环境建立(1)arm-linux-gcc安装在下面的网址上http://www.handhelds.org/download/projects/toolchain/下载arm-linux-gcc-3.4.1.tar.bz2执行下面的命令:将arm-linux-gcc-3.4.1.tar.bz2复制到/tmp下bunzip2arm-linux-gcc-3.4.1.tar.bz2生成arm-linux-gcc-3.4.1.tartar xvf arm-linux-gcc-3.4.1.tar -C /将该tar包解压到/ 阅读全文
posted @ 2010-02-16 22:19 qiang.xu 阅读(1070) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示