编译命令(amlogic open linux) 学习笔记
•所有编译调试命令都在ui_ref/trunk/bld_xxx下面执行,具体哪个bld要根据您使用的板子决定;
•Make #编译全部,包括kernel, busybox, packages等;
•Make root #编译文件系统;
•Make yaffs#把文件系统打包生成yaffs文件系统的映像rootfs.yaffsimage,并保存在build目录;
•编译内核
▫Make k.menuconfig#配置内核,具体配置方法和直接配置内核一致,同时也可以使用make k.config, make k.xconfig等;
▫Make k#编译内核;
▫Make k.modules#编译内核模块,并自动安装到指定的ROOTFS/lib/modules目录;
▫Make k.clean#删除内核编译的临时文件,如果内核做了大的改动或更新,需要这么做,以防止播放部分没有重新编译导致问题;
•编译busybox
▫Make b.menuconfig#配置busybox
▫Make b#编译busybox
▫Make b.xxx#调用busybox内部的命令,包括clean,install;等
•编译packages(软件包)
▫Make p.menuconfig#配置软件包
▫Make p#编译软件包;
▫Make p.clean#删除编译生成的文件.
▫Make p.distclean#删除整个编译生成的packages目录;
▫Make p.${PACKAGES_NAME}.all#编译具体的软件包,这个PACKAGES_NAME和软件包的目录名一致;
工具链
•Arclinux使用了两套工具链,分别用来编译内核和应用程序;
▫Arc-elf32-:基于new-lib的工具链,这个库不是基于linux系统调用开发的,主要用来编译非linux标准的应用程序;由于系统调用不一致,也不能用来编译应用程序;我们一般用来编译linux内核;
▫Arc-linux-uclibc-:基于uclibc和linux的编译工具链,可以用来编译linux下的应用程序;
•Arc-elf32-gcc
•Arc-elf32-g++;
•Arc-linux-uclibc-gcc
•Arc-linux-uclibc-g++
▫三个编译器都可以用来编译C和C++代码;
▫GCC一般用来编译c代码,同时也可以用来编译C++代码;
▫G++一般用来编译C++代码,编译C代码的使用会自动调用GCC;
•其他主要工具,都省略了前缀,arc-elf32-和arc-linux-uclib-,如果不使用前缀,就是执行系统本身的工具链,工具的功能一样:
▫readelf#elf格式分析工具,可以查看section,符号表等;
▫Objdump#反编译工具,可以用来反编译elf格式文件,分析编译结果代码;
▫Objcopy#elf文件转换工具,可以用来生成bin文件,添加,删除symble,section等;
&
相关文档:
1.Linux 内核简介 现在让我们从一个比较高的高度来审视一下 GNU/Linux 操作系统的体系结构。您可以从两个层次上来考虑操作系统,如图 1 所示。 图 1. GNU/Linux 操作系统的基本体系结构 最上面是用户(或应用程序)空间。这是用户应用程序执行的地方。用户空间之下是内核空间,Linux 内核正是位于这里。 GNU C Lib ......
这部分能用本着想记就就记,想不起来就不记的原则。同是出于练习英文的目的,部分不重要内容计划用英文。
事先说明我读的是linux1.0,这里可以几乎不用怎么看到lock 前缀,都是单cpu,同时有引导程序。 首先说明cpu为什么会运转起来:
1:cpu上电后会从某一个地址开始顺序执行程序,当然此时是实模式(如果问什么是实模 ......
1:socket编程中采用的协议族主要有两种
:
1>:网络协议族(形式如:AF_INET, PF_INET等)
2>:本地unix域格式的协议族(形式如:AF_LOCAL, AF_UNIX等)
注:协议族的选择体现在 int socket(int domain, inst type, int protocol)函数的第一个参数处。
2:这两 ......
原理:使用Windows下的连接作为网关。Linux作为一个虚拟的客户端通过这个Windows下的连接连上网。 1、设置Windows下的本地连接答应VMware的虚拟网卡来共享上网。(很重要!) 2、设置Windows下的VMware产生的虚拟网卡1。将其IP设置为192.168.0.1。子网掩码为255.255.255.0。 3、设置VMware的网卡为Host-only 4、启动L ......