嵌入式uboot linux 移植笔记详细版

所需积分/C币:50 2019-01-22 19:44:55 18.1MB PDF
2
收藏 收藏
举报

手把手教你移植Linux内核,详细介绍啦S5PV210 嵌入式开发环境的搭建,uboot 源码移植详细步骤,Linux系统移植的详细步骤。
回打开 “wMm贴b18,素m1010P 组织新建文件夹 下载 名称 修改日期 桌面 caches 2014/42823:30文件夹 最近访问的位置 uBuntu vmx 2014/6/11 21: 32 VMware virtual 360云盘 园库 计算机 岛本地磁盘(C 本地磁盘D) 太出薇盘(F 文件名N:Ub ountu vmx All supported files 厂打开O) 取消 Ubuntu-10.10-x86- VMware Workstation File Edit View VM Tabs Help 合 Home x品 Ubuntu-10.10xB6 I Ubuntu-10.10-x86 D Power on this virtual machine DU Edit virtual machine settings v Devices 画 Memory 1 GB □ Processors A Hard Disk(SCSD)40 GB U)CD/DVD(IDE) Using file D:.. 包 Network Adap.NAT NEtwork Adap.Bridged(Au e USB Controller Present Virtual machine details y Sound Card Auto detect State: Powered off Display Auto detect Configuration file: E: \ Virtual Machines\Ubuntu- 10.10-x86\Ubuntuvmx Hardware compatibility: Workstation 9.0 virtual machine Description 然后单方▲ Power on this virtual machine □即可启动 ubuntu系统,出现对讦框 Ubuntu-10.10-x86- VMware Workstation This virtual machine might have been moved or copied In order to configure certain management and networking features, vMware workstation needs to know if this virtual machine was moved or copied If you don 't know, answer I copied it I moved it I copied it Cancel 选择/ moved it 个人QQ:809205580技术交流群::153530783个人博客:http://blog.csdnnet/zjhsucceed329 I Ubuntu-10.10-x86-VMware Workstation Eile Edit View VM Iabs Help n Home x L Ubuntu-1010-x<86 x zoh Username: 用户名为root,密码为zj329 Ubuntu-10.10-x86- VMware Workstation 所白S ile Edit View VM⊥abs r Home x< L Ubunti-10.10-xc86) 2 Applications Places System X Wed Jun 11. 9: 47 PM root O 如果没有安裝 VMware tools,现在开始安装,选择WM-> Insta∥ VMware Too/s,然后在 ubuntu中执行如 下命令 rot@功h:# cp /medic/ VMware\7 ols/vMware7o/5-米 拷贝到当前目录 root@zjh: f tar -ZxVf VMware Tools- root@zjh f# cd vmware-tools-distrib root@zjh: /vmware-tools-distribtt /vmware-install pi 接下来一路yes和回车直到安装完毕。 root@zjh: f rm VMware tools-* vmware-tools-distrib 重启系统,现在随意改变 VMware-workstation窗口的大小, ubuntu的窗口大小会自动适应 个人QQ:809205580技术交流群::153530783个人博客:http://blog.csdnnet/zjhsucceed329 建立 Windows到 ubuntu的文件夹共享: M-> Settings,选择 options,选择 Shared folders, Virtual Machine Settings Hardware Optons al General Bunt-10.10-x86 : Shared expose your files to programs in the This may k. Only ena hared folders if you trust the machine with your data O Disabled D AutoProtect Disabled o Always enabled a Guest Isolation Enabled, Enabled O Enabled until next power off or suspend LOAccess Control Not ena ypted m VMware Tools Time sync off Folders VNC Connections Disabled ah Unity Host Path ApPliance View E:1 Not supported U Advanced Default/Default □Ad[Rww[Pot 单击石下角的Add添加要共享的文件夹,选中上面的 Always enable,确定后重启 ubuntu系统。然后就 可以在 ubuntu下访问 Windows下的文件夹了。例如我共享的E盘: root@zjh: t /s/ mnt/hgfs/E, 3制作交叉编译工具链 31下载工具crosstool-nghttp:/www.crosstool--ng.org/ 32安装 crosstool-ng的软件依赖包 apt-get install bison flex texinfo automake libtool cvs libncurses5-dev aria2 g++ subversion gawk cvsd 33编译安装 crosstool-ng 由于 crosstab}ng默认只能使用普通用户制作交叉编译器,若想使用root用户操作,可以修改 cross4ng源码 scripts/ /crosstool-NG sh in这个文件,其中有一行“# Check running as root”,在它上面添 加 CT ALLOW BUILD AS ROOT SURE=true,这样就可以使用root操作∫。 下面开始编译安装 root@zjh: /home/work/crosstool-ng-1 19.0#. configure root@zjh: home/work/ crosstool-ng-1190# make & make instal 34现在开始制作交叉编译器 root@zjh: home/ work# mkdir crosstool 首先创建一个工作日录: 个人QQ:809205580技术交流群::153530783个人博客:http://blog.csdnnet/zjhsucceed329 root@zjh: home/work# cd crosstool root@zh:/home/ work/ rosstoolt ct- ng list-samp!es查看有哪些默认配置 其中以一个默认配置arm- cortexσ8- linux-gnueabi,我们就以这个为模板进行配置 root@zih:/home/wok/ crosstooli#ct- ng arm-cortex a8- linux- nuea应用这个配置 面开始自定义: root@zjh: homework/ crosstool# ct-ng menuconfig Paths and misc options (home/work/crosstool/src)Local tarballs directory 这里指定你之前下载好的tar包所在日录,这样在制作时就不会重新下载了。 opt/S(CT TARGET)-4.7.3)Prefix directory 这里指定交叉编译器的安装路径:/opt/orm- cortex a8-/inux- gnueab14.7.3 (2) Number of parallel jobs 指定同时执行2个工作,加快编译速度 Target options Floating point: (softfp(PULl 指定使用软浮点 Toolchain options (cortex a8) Tuple's vendor string 添加自定义信息,比如 cortex a8,制作后的交叉编译器名如: arm-cortex a8 linux-gnueabi- 功,制作后的交叉编译器名如: arm-zjh- linux-gnueabi 不设置,制作后的交叉编译器名如: arm-unknown-linux-gnueabi- (arm-linux) Tuple' s alias 设置別名,这样会给每个工具创建一个软链接,比如: arm- nux-gcc链接到到arm- cortex a8-inux- nuea/-gcc Operating System Linux kernel version (3.10.2)---> 选择内核版本,这里最好选大些,LiuⅨX内核都是向后兼容的。 C compiler gcc version (4.7.3) A Compile libmudflap Limud∫fop用于检查内存泄露,包括堆和栈,具体怎么用上网查瓷料。 C-library---> 个人QQ:809205580技术交流群::153530783个人博客:http://blog.csdnnet/zjhsucceed329 glibc version 2.13) Force unwind support (READ HELP!) Companion libraries PPL version(0.11.2)---> CLoOG version(0.15. 11) 注意:在制作过程中,若岀现版本不匹配的错误,重新配置正确的软件版本,再接着制作 Save an alternate Configuration File 保存为配置文件, config,然后退出。 在上面的配置中配置」源码包的存放日录为/home/ / work/ crosstool/src因此需要在 / home/ work/ crosstie01日录下创建日录src root@zjh: /home/work/crosstool# mkdir src 根据上面配置的软件版本或者査看 config文件,查看需要的软件版本,然后使用自己的高速下载工 具(比如迅雷)下载所有需要的软件,然后拷贝到/home/ /work/crosstoo/src目录下 root@zjh: home/work crosstool# Is src binutils-2. 20.la.tar. bz2 expat-210.tar. gz glibc-ports-2.13.tar. bz2 Itrace 0.5.3. orig tar. gz pp/-0112.tar zma cloog- pp/.15.11.tar.gz gcc-4.7.3.tar. bz2 gmp-4.3.2. tar. bz2 mpc-1.0.1.tar. gz strace-4519.tar. bz2 dmalloc-552. tgz gdb-6.8a. tar. bz2 libe/f-0.8. 13. tar. gz mpfr-2.4. 2. tar.xz duma 25 15.tar. gz glibc-213 tar. bz2 linux-3 10.2. tar bz2 ncurses-5.9. tar.gz 执行 ct-ng build开始制作: root@zjh: /home/work/crosstool ct-ng build root@zjh: /home/work/crosstool# ct-ng build INFO Performing some trivial sanity checks INFo Build started 20140611. 233222 [INFo] Building environment variables EXTRA] Preparing working directories EXTRA] Installing user-supplied crosstool-NG configuration EXTRA]==================学 EXTRA] Dumping internal crosstooL-NG configuration EXTRA Building a toolchain for EXTRA build = 1686-pc-Linux-gnu EXTRA host =1686-pc-Linuxgnu EXTRA target arm-cortex a8-Linux-gnueabi EXTRA] Dumping internal crosstooL-NG configuration done in 6. 12s (at 00: 04) INF0]==========三三三三三三世三三三三三三三三三三三三三三三世三三三三三三三三== [INFo] Retrieving needed toolchain components tarballs INFO] Retrieving needed toolchain components' tarballs: done in 0.40s (at 00: 05) INFO INFO] Extracting and patching toolchain components [EXTRA Extracting 'linux-3 10.2 60:31]/ 在制作过程中,可以另外开一个终端,查看制作和编译的详细过程 root@zjh: home/work crosstool# tailf build log 制作完成后,将看到如下信息: 个人QQ:809205580技术交流群::153530783个人博客:http://blog.csdnnet/zjhsucceed329 [INFO Build completed at 20140612.004712 [INFO(elapsed: 74: 49.55 [INFO Finishing installation(may take a few seconds) 然后在我们指定的安装目录下已经安装好了交叉编译器: root@zjh: /home/ work/crosstool# ls/opt/arm-cortex a8-linux-gnueabi-473/ arm-cortex a8-linux-gnueabi bin build log. bz2 include lib libexec share 配置环境变量:在/etc/ profile文件的最后添加一行 export PATH=/opt/arm-cortex a8-linux-gnueabi-4 7 3/bin: $PATH 执行.etc/ profile使配置生效 注意:这里执行的命令为.,相当于 source!etc/ profile,这只是在当前终端生效,要使所有生效, 还得重启系统。 root@zjh / home/ work/ crosstool# arm-linux-gcc-V Using built-in specs COLLECT GCC=arm-linux-gcc COLLECT LTO WRAPPER=/opt/arm-cortex a8-linux-gnueabi-47 3/libexecgccfarm-cortex a8-linux-gnuea bi/4.7.3/to-wrapper Target: arm-cortex a8-linux-gnueab Configured with: / home/ work/crosstool/, build/src/gcc-473/configure -build=1686-build_ pc-linux-gnu ost=i686-build pc-linux-gnu -target=arm-cortex a8-linux-gnueabl -prefix=yopt/arm-cortex a8-linux-gnueabi-473 with-sysroot=yoptarm-cortex a8-linux-gnueabi-473/arm-cortex a8-linux-gnueabi /sysroot enable-languages=C, C++-with-arch=armv7-a --with-cpu=cortex-a8--with-tune=cortex-a8--with-float=softfp with-pkgversion='crosstool-NG 119. --enable- cxa atexit --enable-libmudflap --disable-libgomp --disable-libssp -disable-libquadmath disable-libguadmath-support With-gmp=/home/ work/ crosstool/ build/arm-cortex a8-linux-gnueabi/buildtools With-mpfr=/ home/ work/crosstool/ build/arm-cortex a8-linux-gnueabij/ buildtools with-mpc=/home/work/crosstool/ build/arm-cortex a8-linux-gnueabi/buildtools with-ppl=/home/ work/crosstool/ build/arm-cortex a8-linux-gnueabi/buildtools with-cloog /home/ work/ crosstool/ build/arm-cortex a8-linux-gnueabi/ buildtools with-libelf=no with-host-libstdcxx=-static-libgcc Wl,-Bstatic,-1stdc++, -Dynamic L home/ work/crosstool// build/arm-cortex a8-linux-gnueabi /buildtools/ib -lp enable-threads=posⅸ cenable-target-optspace --disable-n/s --disable-multilib 个人QQ:809205580技术交流群::153530783个人博客:http://blog.csdnnet/zjhsucceed329 With-local-prefix=/optarm-cortex a8-linux-gnueabi-473yarm-cortex a8-linux-gnueabi/sysroot --enable-c99 - -/ong-/ong Thread model: posix gcc version 4.7.3(crosstool-NG 1 19.0 4裸机编程 外什么要学习裸机编程? 答:学习裸机编程是为移植ψ-boot和编写驱动做铺垫,如果你只做应用编程,那就不必学习。 所有裸机源码下载地址:hto:/pan. baidu·com/s/1fEfG6 嵌入式Linuκ学习笔记/裸札编程/tq210NoS:tσκ:bz2源码中有详细注释 41汇编学习 411基础知识 推荐大家阅读《深入浅出嵌入式底层软件开发》第1章和第2章第1节,以及《嵌入式 Linux应用开 发完全于册第3章》。另外我们编程还会用到G№U汇编,参考《 gnu-assembler:pof》,不用通篇阅读完, 在编程过程中遇到个懂的冉来查询。 42ARM模拟器 这里介绍一款ARM模拟器一一 ARMIn,用来学习汇编语言,其主页为 httplarmsim.cs.uvic.ca/到其主页下载最新版,安装好后,运行: F ARMSim-The ARM Simulator Dept of Computer Science File view Cache Watch Help 中[■卜日日 Registers View General Purpose Hexadecimal Unsigned Decimal Signed Decimal OutputView Console 的 OutputViewWatchView 先写一段汇编代码 个人QQ:809205580技术交流群::153530783个人博客:http://blog.csdnnet/zjhsucceed329 test s Author zhaojianhu Email: zjh ed329@163c0m Bloghttp://blog.csdnnet/zjhsucceed329 lobal start 声明一个全局的标号* start mov ro, #0x 12 /*给寄存器RO赋值为0x12* ldrr1.=0x2000 *给寄存器R1赋值为0X2000* strro, r1] /*把RO的值写入以R1的值为内存地址的内存地址处* halt. b halt 死循环 GNU汇编语法攴持C/C+中的注释风格,将上面的代码保存为 test s文件。 单击 ARMIn软件菜单Fle->Load,定位到 test s所在位置,选中 tests,然后打开。 ARMSim-The ARM Simulator Dept, of Computer Science 2=buy Wa hH ↓三 ×+e+s Genaral Purpose Mloa.. ★LsL.s **ail: ibsuacced 329916 athor: zhao anhui **Riag:http://hlng.nsdnnet/7]hsnnceed29 global sta 001003 /*↓卫044工Qx12+ 00000000 4:F3A01A02 dr rI.=lx ?nnn 00000000 CuLtUs:器UUUU 00000000 C0100C: EAPPEFLE b halt /台 R11(p H12(iD]:00000000 R14(1r1:00000000 R15(pa):00001000 zero(2)/:0 MermoryvieMO 222222 gIo Disable 1 9922222292222?992222 ???? ??22222922229222222229292 Ux00ooood+ Lacing assembly language file c: \users \edmin1stratoriDesxtop\tests 2 uto cview图 WatcnvieN 左边为寄存器列表区,右边为代码预览区,下边为观察区,单击File-> Preferences 个人QQ:809205580技术交流群::153530783个人博客:http://blog.csdnnet/zjhsucceed329

...展开详情
试读 127P 嵌入式uboot linux 移植笔记详细版
立即下载 低至0.43元/次 身份认证VIP会员低至7折
抢沙发
一个资源只可评论一次,评论内容不能少于5个字
上传资源赚积分or赚钱
    最新推荐
    嵌入式uboot linux 移植笔记详细版 50积分/C币 立即下载
    1/127
    嵌入式uboot linux 移植笔记详细版第1页
    嵌入式uboot linux 移植笔记详细版第2页
    嵌入式uboot linux 移植笔记详细版第3页
    嵌入式uboot linux 移植笔记详细版第4页
    嵌入式uboot linux 移植笔记详细版第5页
    嵌入式uboot linux 移植笔记详细版第6页
    嵌入式uboot linux 移植笔记详细版第7页
    嵌入式uboot linux 移植笔记详细版第8页
    嵌入式uboot linux 移植笔记详细版第9页
    嵌入式uboot linux 移植笔记详细版第10页
    嵌入式uboot linux 移植笔记详细版第11页
    嵌入式uboot linux 移植笔记详细版第12页
    嵌入式uboot linux 移植笔记详细版第13页
    嵌入式uboot linux 移植笔记详细版第14页
    嵌入式uboot linux 移植笔记详细版第15页
    嵌入式uboot linux 移植笔记详细版第16页
    嵌入式uboot linux 移植笔记详细版第17页
    嵌入式uboot linux 移植笔记详细版第18页
    嵌入式uboot linux 移植笔记详细版第19页
    嵌入式uboot linux 移植笔记详细版第20页

    试读结束, 可继续阅读

    50积分/C币 立即下载 >