• 1.arm的linux系统搭建


    从裸板到系统

      一般是CPU内部有启动代码,如nuvoton的nuc900系列的芯片内部就有ibr程序,来控制启动过程,在usb启动时负责加载usb驱动,这样在pc端就可以识别到usb设备了,然后通过turbowriter工具(运行时会传输xusb.bin到cpu),可以下载u-boot程序到flash中去了;然后再根据u-boot引导linux内核,烧写文件系统。这是大概的方法。后面会在下面添加以某个平台为主的详细搭建过程。

    二、编译u-boot遇到的问题

      1、version 'GLIBCXX_3.4.9' not found

      原因:使用的宿主机版本和交叉编译器版本太老;

      解决方法:

      (1)下载RPM包:

      http://kojipkgs.fedoraproject.org/packages/gcc/4.3.2/7/i386/libstdc++-4.3.2-7.i386.rpm

      拷贝到虚拟机下

      (2)提取包并将生成的libstdc++库文件考到到/usr/lib

      #rpm2cpio libstdc++-4.3.2-7.i386.rpm | cpio -idv

      则在当前目录下生成./usr/lib目录,包含:libstdc++.so.6.0.10、软连接和 libstdc++.so.6

      将生成的libstdc++.so.6.0.10 、软连接和 libstdc++.so.6拷贝到/usr/lib下:

      #cp libstdc++* /usr/lib -a

      查看:

      ls -l libstdc++.so.6

      显示:

      /usr/lib/libstdc++.so.6 -> /usr/lib/libstdc++.so.6.0.10

      (3)执行strings /usr/lib/libstdc++.so.6 | grep GLIBC

      返回结果包含:GLIBCXX_3.4.9

      GLIBCXX_3.4

      GLIBCXX_3.4.1

      GLIBCXX_3.4.2

      GLIBCXX_3.4.3

      GLIBCXX_3.4.4

      GLIBCXX_3.4.5

      GLIBCXX_3.4.6

      GLIBCXX_3.4.7

      GLIBCXX_3.4.8

      GLIBCXX_3.4.9

      GLIBCXX_3.4.10

      GLIBC_2.0

      GLIBC_2.3

      GLIBC_2.4

      GLIBC_2.3.4

      GLIBC_2.1

      GLIBC_2.1.3

      GLIBC_2.2

      GLIBCXX_FORCE_NEW

      GLIBCXX_DEBUG_MESSAGE_LENGTH

     

  • 相关阅读:
    Android跨进程通信AIDL服务*
    Android跨进程通信广播(Broadcast)*
    Android跨进程通信Content Provider*
    Android跨进程通信访问其他应用程序的Activity*
    Android RecyclerView实现加载多种条目类型*
    Android ListView多布局*
    Android屏幕横竖屏切换和生命周期管理的详细总结*
    Android中的asserts和res/raw资源目录*
    Android系统服务 —— WMS与AMS*
    Android中为什么主线程不会因为Looper.loop()方法造成阻塞
  • 原文地址:https://www.cnblogs.com/mingyunrangwozoudaoxianzai/p/9572131.html
Copyright © 2020-2023  润新知