您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > Embed_Linux
大纲Linux简介常用命令UbootToolchain编译Burn启动流程问题总结Linux简介Linux是遵循GPL声明,包含内核、系统工具、完整的开发环境和应用的UNIX类操作系统,由LinusTorvalds维护系统的内核。Linux系统对用户同时提供图形和文本用户界面,文本界面是shell接口,图形界面是XWindow系统(GNOME/KDE)。Linux支持多种硬件平台:x86、ARM、MIPS、Powerpc、Sparc等。Linux采用单内核模式。Linux自身使用的专用的文件系统为Ext3,支持NFS、FAT、NTFS等多种文件系统。Linux系统结构Kernel的主要功能进程调度存储管理虚拟文件系统网络接口进程间通讯Linux常用命令Reboot重新启动Halt关闭系统Cat显示文件内容Less一次以一个page显示文件内容Ls查看目录及文件Cp拷贝文件Rm删除文件Mv文件更名或搬移Linux常用命令Pwd显示当前工作目录Cd切换目录Mkdir创建目录Chown改变文件拥有者Chmod修改文件的权限Df显示磁盘的使用Du显示目录的使用Ps查询正在执行的进程Kill终止正在执行的进程Uboot介绍Uboot是一个遵循GPL条款的开源BootLoader。主要功能:硬件设备初始化提供一个控制台及一个命令集在操作系统运行前操控硬件设备提供下载功能burnFlash引导linux系统Toolchain介绍交叉编译在一个平台上生成另一个平台上的可执行代码交叉编译是和嵌入式系统的广泛发展同步的在进行嵌入式系统的开发时,运行程序的目标平台通常具有有限的存储空间和运算能力,比如常见的ARM平台,在ARM平台上进行本机编译就不太可能了,这是因为一般的编译工具链(compilationtoolchain)需要很大的存储空间,并需要很强的CPU运算能力。为了解决这个问题,交叉编译工具就应运而生了。通过交叉编译工具,我们就可以在CPU能力很强、存储空间足够的主机平台上(比如PC上)编译出针对其他平台的可执行程序。Toolchain建立OS:Ubuntu8.04需要安装的基本组件:glibc2.5、binutils2.16.92、libstdc++5执行下列命令:mkdir~/toolchain_marvellcd~/toolchain_marvelltarxvjfarm-marvell-linux-gnueabi.tar.bz2-C./vim~/.bashrc增加下面一行:•exportPATH=$PATH:/home/username/toolchain_marvell/binKernel编译进入kernel目录执行以下命令:makeARCH=armCROSS_COMPILE=arm-marvell-linux-gnueabi-pxa168_android_nfs_defconfigmakeARCH=armCROSS_COMPILE=arm-marvell-linux-gnueabi--j6编译完成后,在arch/arm/boot目录下有生成zImage文件,该文件就是要burn到目标板上的可执行文件Uboot编译进入Uboot目录执行以下命令:makeARCH=armCROSS_COMPILE=arm-marvell-linux-gnueabi-cleanmakeARCH=armCROSS_COMPILE=arm-marvell-linux-gnueabi-avengers_configmakeARCH=armCROSS_COMPILE=arm-marvell-linux-gnueabi-–s在当前目录有生成u-boot.bin文件,该文件即是要burn到目标板上的可执行文件裸板burn安装XDB打开XDB,选择菜单Flash-burnflashBoard选择Pxa168Flash选择Nandflash执行burn前,先作init和erase按下表burn文件:NTIM_OBM_uboot_ASPEN_Mode3.bin--flashaddress0x00000ASPN_NTLOADER.bin--flashaddress0x20000u-boot.bin--flashaddress0x40000打开超级终端,port属性设置为115200,8N1,以测试目标板串口输出。Uboot启动流程Kernel启动流程常见问题总结-串口没有输出现象:裸板burn之后,串口没有输出可能的问题:目标板复位不正确Vcore电压不足Rx、Tx接反了Connector有问题Uboot串口配置不正确文件没有正确burn常见问题总结-LCD没有亮现象:Kernel启动之后,LCD没有亮可能的问题:EC模块没有,程序要作相应修改:•修改rootfs的init.rc文件,增加如下一行:setpropbattery.fake_actrue•修改rtc_mmp.c文件的mmp_rtc_read_time函数,注释power_mcu的调用。Kernel与rootfs版本没有对应
本文标题:Embed_Linux
链接地址:https://www.777doc.com/doc-3181896 .html