嵌入式开发
文章平均质量分 89
sustzombie
If you can imagine it , you can achieve it;
If you can dream it , you can become it .
展开
-
ubuntu8.04 USB转串口问题解决--USB转串口线----HL340
最近装了个硬盘版的ubuntu 8.04,准备作为以后的嵌入式开发环境,其他一切基本弄好准备连接开发板启动时,出了问题。串口工具用的是minicom,但是连线开发板(FS2410)之后没有任何打印信息。因为所有的开发环境可以确认没有问题,所以初步判定为串口配置的问题。在网上查找得知minicom串口设置,需设为 /dev/ttyUSB0, 但是我设只好之后之后,发现找不到/dev原创 2009-12-18 23:50:00 · 4602 阅读 · 0 评论 -
Arm linxu启动过程分析(三)
<br />1. Linux内核启动第二阶段:<br />内核启动第二阶段主要完成的工作有,cpu ID检查,machine ID(也就是开发板ID)检查,创建初始化页表,设置C代码运行环境,跳转到内核第一个真正的C函数startkernel开始执行。<br />这一阶段涉及到两个重要的结构体:一个是struct proc_info_list 主要描述CPU相关的信息,定义在文件include/asm-arm/procinfo.h中,与其相关的函数及变量在文件arch/arm/mm/proc_arm920原创 2010-06-12 22:55:00 · 4822 阅读 · 0 评论 -
Arm linxu启动过程分析(四)
1. Linux内核启动第三阶段start_kernel:内核从现在开始就进入C语言部分,内核启动第三阶段从init/main.c文件中的start_kernel()函数开始,到该函数结束。这一阶段对整个系统内存、cache、信号、设备等进行初始化,最后生成init进程后,调用cpu_idle()完成内核启动的第三阶段。Start_kernel()中调用了一系列的初始化函数,以完成kernel本身的设置。这些动作有些是公共的,有的则是需要配置才会执行的。asmlinkage void __init sta原创 2010-06-12 23:02:00 · 3182 阅读 · 0 评论 -
Arm linxu启动过程分析(二)
*****解压缩内核,分三种情况,下面一一解释:说明:这一段分析中所提到的vmlinux指的是基本内核映像vmlinux/*检查当前地址间的相互关系,防止解压缩过程中出现地址重叠或者说地址冲突 * r4 = final kernel address //最终解压后的内核首地址 * r5 = start of this image zImage的运行时首地址,一般为0x30008000,当然也可以不同, * r2 = end of malloc space (and therefore thi原创 2010-06-12 22:48:00 · 2698 阅读 · 0 评论 -
Arm linxu启动过程分析(一)
本文着重分析FS2410平台linux-2.6.14内核启动的详细过程,主要包括:zImage解压缩阶段、vmlinux启动汇编阶段、startkernel到创建第一个进程阶段三个部分,一般将其称为linux内核启动一、二、三阶段,本文也将采用这种表达方式。对于zImage之前的启动过程,本文不做表述,可参考作者 “u-boot-1.3.1启动过程分析”一文。---------------------------------------------------------------------原创 2010-06-12 22:27:00 · 4892 阅读 · 2 评论 -
u-boot-1.3.4移植问题点(一)
u-boot-1.3.4移植问题点分析硬件平台:Arm920Tv4 S3c2410 开发板:优龙fs2410 NORFlash:SST39VF1601(2MB)1. u-boot 环境变量偏移地址及大小设置不合理,导致内核无法启动现象: 当我设置setenv bootcmd nand read 30800000 40000 200000 /;bootm 30800000 之原创 2010-05-25 19:36:00 · 2332 阅读 · 0 评论 -
arm linux 内核生成过程
1. 依据arch/arm/kernel/vmlinux.lds 生成linux内核源码根目录下的vmlinux,这个vmlinux属于未压缩,带调试信息、符号表的最初的内核,大小约23MB; arm-linux-gnu-ld -EL -p --no-undefined -X -o vmlinux -T arch/arm/kernel/vmlinux.lds arch/arm/kernel/h原创 2010-05-26 23:18:00 · 6127 阅读 · 0 评论 -
bootm引导内核过程详解之二
//文件名:u-boot-1.3.1/lib_arm/armlinux.c//bootm引导内核过程详解之二 //由cmd_bootm.c中的do_bootm函数调用该函数来最终引导内核启动/*该函数的主要功能:1. 设置传递内核参数,并将这些参数存储在内存指定位置(0x30000100)2. 跳转到内核入口点执行,将控制权交给内核*/ DECLARE_GL原创 2010-05-25 19:31:00 · 2206 阅读 · 0 评论 -
u-boot.lds分析(u-boot-1.3.4 nandflash启动 引导linux内核)
u-boot.lds决定了u-boot可执行映像的连接方式,以及各个段的装载地址(装载域)和执行地址(运行域)。GNU官方网站上对.lds文件形式的完整描述:SECTIONS {...secname start BLOCK(align) (NOLOAD) : AT ( ldadr ) { contents } >region :phdr =fill.原创 2009-12-19 16:50:00 · 2135 阅读 · 1 评论 -
bootm引导内核过程详解之一-cmd_bootm
//文件名:u-boot-1.3.1/common/cmd_bootm.c//bootm引导内核过程详解之一-cmd_bootm//Thomas.Yang 2010.05.25 /*do_bootm()是bootm命令真正执行的第一个函数主要功能 :1. 复制Image(这里指的是uImage) 头到全局变量header;2. 检查header的magic numb原创 2010-05-25 19:27:00 · 6349 阅读 · 0 评论