linux开发环境用户指南_第1页
linux开发环境用户指南_第2页
linux开发环境用户指南_第3页
linux开发环境用户指南_第4页
linux开发环境用户指南_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

任何明示或默示的或保证。 市龙岗区坂田电气生产 客户服务传真客户服务邮箱 Linux开发环境。Linux开发环境的搭建、U-boot、Linux内核、根文件系Linux开发应用

前 Hi3518EV200Linux开发环 搭建Linux开发环 安装Linux服务 安装Hi3518EV200 U- Linux内 获取busybox源代 配置 编译和安 A缩略 图1-1嵌入式开发图 图1-2Hi3518EV200Linux开发环 图4-1根文件系统顶 结构 表1-1Hi3518EV200Linux开发环境的各部分软件描 表4-1嵌入式系统中可忽略 表4-2JFFS2参数

1机一般采用串口连接,也可同时通过网口或者JTAG连接,如图1-1所示。 Hi3518EV200LinuxDMEB(目标板,三者同处于一个网络中,如图1-2所示。 在Linux服务器上建立交叉编译环境,Windows工作台通过串口和网口与录到Linux服务器进行程序开发。各部分具体软件介绍如表1-1所示。开发环境中使用了Windows工作台,实际上很多工作也可以在Linux服务器上完成,如使用Windowsputty、超级终端、tftp服务器、DS-5Linux2.6.18及以上版本。安装时建议选Linux3.4.y版本移植开发,根文件系统基于busybox1.20.2版本制作而成。uClibc-Hat3.4.4-2。RedHat较老的版如RedHat9.0等Debian的各类版也是常用的。使用Debian的好处是各类安装包都可以随时更 发布包提供两种编译工具链arm-hisiv300-linux和arm-hisiv400-linux,其中arm-hisiv300-linux为基于uclibc的工具链,arm-hisiv400-linuxglibc的工具链。本文步骤1.解压工具链。工具链及其安装程序位于osdrv/opensource/toolchain/arm-hisiXXX-linux/目 2.sudo/cross.installHi3518EV200SDK安装到Linux服务器中的步骤如下:2.解压。解压文件,使用命令:tar–zxfHi3518E_V200R001XX.tgz步骤3.安装。解压完成后,进入Hi3518E_V200R001XX od777./sdk.unpack”获得权限。

Linux成功安装Hi3518EV200SDK后,内核源代码已存放于SDK 下的osdrv/ 1.手动拷贝.config步骤2.用户通过 3.步骤4.选择完毕后,保存并编译内核时需要在make后添加两个参数:ARCH=arm linux-,其中 PILE表示工具链。文档中统一以 Hi3518E_V200R001C01SPCxxx对应uclibc,使用uclibc工具链时, PILE=arm-hisiv300-linux-。Hi3518E_V200R001C02SPCxxx对应glibc,使用glibc工具链时, 配置保存后,可直接输入“makeARCH=arm uImage命令编译内核生成镜像,此时需要等待几分钟。make PILE=arm-hisiXXX-linux-make make PILE=arm-hisiXXX-linux-

Linux的结构的最顶层是一个被称为“/”的根。系统加载Linux内核,就会挂载一个设备到根上。存在于这个设备中的文件系统被称为根文件系统。所了嵌入式系统使用的所有应用程序、库以及其他需要用到的服务。图4-1列出了根文 根 通用的Linux系统的根文件系统中会包括根文件系统顶层 不过在嵌入式系统中,需要精简根文件系统。部分可以被忽略 如表4-1所示 /home、/mnt、/opt和 /var和 成功安装SDK后,busybox完整源代码就存放在osdrv/ 。 hisilicon$cposdrv/busybox/busybox-1.20.2/busybox_cfg_hi3518ev200_XXX −busybox_cfg_hi3518ev200_v300arm-hisiv300-−busybox_cfg_hi3518ev200_v400arm-hisiv400-hisilicon$makebusybox的配置界面和内核配置相似,其功能选项容易理解,可以根据自己的需求选择配置。在BusyboxSettings>BuildOptions中注意下面两个选项:[*]BuildBusyBoxasastaticbinary(noshared[*]BuildwithLargeFileSupport(foraccessingfiles>2GB)(arm-hisiv300-linux-)CrossCompilerprefix()Pathto(-mcpu=cortex-a7-mfloat-abi=hard-mfpu=neon-vfpv4)Additional()Additional−第一个选项选择是否把busybox编译成静态的可执行文件。如果选择该选大;清除该选项将得到动态的busybox,体积较小,但需要动态库的支−第二个选项是用于选择SDK推荐的交叉编译器,配置好后保存并。欲了解busybox各选项含义请参考busybox配置帮助。hisilicon$hisilicon$make 下的 drwxr-xr-x2lnanlnan40962014-05-2314:37lrwxrwxrwx1lnanlnan112014-05-2314:37linuxrc->drwxr-xr-x2lnanlnan40962014-05-2314:37drwxr-xr-x4lnanlnan40962014-05-2314:37成功安装SDK后,在osdrv/pub/ 用户需要可在busybox的基础上制作根文件系统。1.hisilicon$mkdirrootboxhisilicon$cdrootboxhisilicon$cp–Rpacket/os/busybox-1.20.2/_intsall/*.hisilicon$mkdiretcdevlibtmpvarmnthome步骤2.配置etc、lib、 etc可参考系统/etcinittab、fstab、init.d/rcSbusyboxexamples下拷贝过来,根据需要自行修dev下的设备文件,可以直接从系统中拷贝过来或者使用mknod命令生成需要的设备文件。拷贝文件时请使用cp–Rfile。lib 是存放应用程序所需要的库文件,请根据应用程序需要拷贝相应的库文SDK软件包中已经包括配置好的完整的根文件系统,如果无特别需求,可直接使用。要添加自

cramfs是针对Linux内核2.4的版本所设计的一种新型文件系统,使用简单,加载文件系统运行时需要解压数据并拷贝至内存中,在一定程度上降低效率。另cramfs文件系统是只读的。选项加入。在make config后,进入“File>systems”,选择“miscellaneoussupport(SDmkfs.cramfscramfs文件系统映象的工具。通过这个工具处理已经制作好的cramfs文件系统的映象(这类似于把光盘制作成ISO文hisilicon$mkfs.cramfs./rootbox./cramfs-其中,rootbox是之前已经制作好的根文件系统,cramfs-root.imgcramfs文件

JFFS2RedHatDavidWoodhouseJFFS基础上改进的文件系统,是用于微型嵌入式设备的原始闪存的实际文件系统。JFFS2文件系统是日志结构化的可读写的文JFFS2JFFS2JFFS2文件系统分费的空间大小大致是若干个数据段。JFFS2的另一缺点是当文件系统已满或接近满时,JFFS2运行速度会迅速降低。这是因为收集的问题。 3.为了使内核支持JFFS2文件系统,必须在编译内核时把JFFS2的选项加入( 的内核默认已经加入了支持。在makeconfig后,进入“File>systems”,选择support”选项(SDK里面提供的内核默认已经选择了该文件系统的支持。hisilicon$mkfs.jffs2–d./rootbox-l–e0x20000-ojffs2-已经制作好的根文件系统。参数说明如表4-2所示。dleFlasho

−NANDFlash−使用硬件的sparearea区域文件组织信息,启动时只需扫描组织信息,启−采用多策略回收算法,能够提高回收的效率和公平性,达到损耗平衡所依赖的内核代码路径,进行编译,即可生成yaffs2文件系统模块。hisilicon$mkyaffs2image./rootboxyaffs2-root.imgpagesize其中,rootbox是之前已经制作好的根文件系统,yaffs2-root.imgyaffs2文件系统镜像文件,pagesizeNANDFlash器件的页大小,ecctype是单板上焊接NANDFlash器件的ecc类型。initrd之外,还要支持cramfs文件系统。内核需要做如下配置,initrd才可以正常工RAMdisk(initrd)support”。“CompressedROMfilesystemsupport”。1.cramfs镜像文件,具体制作方法请参见“4.3.1cramfs2.1initrd文件,制作命令为“mkimageAarmTramdisk-Cnone-a0-e0-ncramfs-initrd-d./cramfs-imagecramfs-initrd”。 32UID/GIDS make config(保存即可make ./mksquashfsrootfs./rootfs.squashfs.img-b64K–comp其中,rootfs是之前已经制作好的根文件系统,rootfs.squashfs.imgsquashfs文块大小。-comp指定文件系统压缩方式为xz。请根据实际情况修改参数。

的改进是更次的,是文件系统数据结构方面的优化。 make config(保存即可make PILE=arm-hisiXXX-linux- ./make_ext4f–l32M–s t4.img其中,-l32Mubootemmc32M,-sgzip压缩,rootft4.imgExt4文件系统映像文件,rootfs是之前已经制作好的根5

在Linux环境下使用Vim+ctags+cscope,功能也相当强大。中。通常将应用程序放到 如果需要制作cramfs、YAFFS2JFFS2文件系统,制作相应的文件系统(请参见数。同样,启动Linux后便可运行新的应用程序。如果新添加的应用程序需要系统启动后自动运行,请编辑/etc/init.d/rcS文件,添加需要启动的应AAAdvancedRISCCCo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论