阅读背景:

Makefile中静态库,动态库的创建和使用以及解压缩命令

来源:互联网 
应用层通过操作文件操控硬件使用制作好的工具链:刚开始学习时,用一些已经制作好的工具链,使用以下命令解压到gcc-3.4.5-glibc-2.3.6目录cd /work/toolstar xjf arm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2然后在环境变量PATH中增加路径,入下所示: (很重要,还可以添加在/etc/bash.bashrc中,添加过后重启服务:sudo source /etc/bash.bashrc)export PATH=$PATH:/work/tools/gcc-3.4.5-glibc-2.3.6/bin为了不要每次使用时都手动设置PATH,可以在/etc/environment中修改PATH的值,如下操作:PATH="/usr/local/sbin:/nsr/local/bin:/usr/shin:/usr/bin:/sbin:/bin:/usr/games:/work/tools/gcc-3.4.5-glibc-2.3.6/binldd a.out 查看a.out依赖的库调用静态库:编译的时候链接上就好了,以后就不用了调用共享库的方法:1.将库复制到/lib2.添加到环境变量:export LD_LIBRARY_PATH=共享库路径3.cd /etc/ld.so.conf.d/ sudo vim good.conf(添加库) sudo ldconfig(更新)静态库:ARCH = x86ifeq ($(ARCH), arm)CROSS_COMPILE = arm-cortex_a8-linux-gnueabi-endififeq ($(ARCH), x86)CROSS_COMPILE =endifINCLUDE = ./includeall: libhello.a $(CROSS_COMPILE)gcc -I$(INCLUDE) -c test.c -o test.o $(CROSS_COMPILE)gcc test.o -o test -L./hello -lhellolibhello.a : hello/hello.c $(CROSS_COMPILE)gcc -I$(INCLUDE) -c hello/hello.c -o hello/hello.o $(CROSS_COMPILE)ar -rcs hello/libhello.a hello/hello.oclean: rm -rf *.i *.S *.o test *.abackup: tar cvf ../test.tar.gz ../1503共享库(动态库):ARCH = x86ifeq ($(ARCH), arm)CROSS_COMPILE = arm-cortex_a8-linux-gnueabi-endififeq ($(ARCH), x86)CROSS_COMPILE =endifINCLUDE = ./includeall: $(CROSS_COMPILE)gcc -I$(INCLUDE) -c test.c -o test.o $(CROSS_COMPILE)gcc test.o -o test -L./hello -lhellolib : hello/hello.c $(CROSS_COMPILE)gcc -I$(INCLUDE) -c hello/hello.c -o hello/hello.o $(CROSS_COMPILE)ar -rcs hello/libhello.a hello/hello.osh_lib: good/good.c $(CROSS_COMPILE)gcc -I$(INCLUDE) -c good/good.c -o good/good.o $(CROSS_COMPILE)gcc -shared -fpic -o good/libgood.so good/good.oclean: rm -rf *.i *.S *.o test *.a hello/*.o backup: tar cvf ../test.tar.gz ../1503反汇编生成的可执行文件:-objdump -d test > test.dis粗略的看下test里面的内容: size test nm -a test.o nm -Aal test.o丢弃无用的信息,减小代码体积:arm-cortex_a8-linux-gnueabi-srtip test搭载开发板环境:1. 开发板tftp使用 1.1 开发板跟tftp服务器通过网线相连 1.2 在开发板串口终端ping tftpserver (ping 192.168.3.3) (当Ping不通的时候将开发板的ipaddr设置和主机一个网段) host 192.168.3.3 is alive 需要设置环境变量(printev setenv) gatewayip=192.168.1.1 ipaddr=192.168.3.5 netmask=255.255.0.0 serverip=192.168.3.3 例: setenv ipaddr 192.168.3.5 (设置开发板环境变量的命令) saveenv (保存)网络配置管理:系统中的网络配置文件有:/etc/interfaces /etc/hosts /etc/resolv.conf 基本的命令: ifconfig eth0 192.168.1.20 (临时修改IP) ping 192.168.1.20 -c 4 (表示发送4个包就结束) ifconfig down 关 ifconfig up 开 ifconfig -a (显示所有网卡信息) IP地址存放的配置文件:/etc/network/interfaces (用cat查看或者vim编辑,一下内容可参考) 1 auto lo 2 iface lo inet loopback /*******设置成动态获取IP*********/ 3 auto eth0 4 iface eth0 inet dhcp /*******重启网络**************/ /etc/init.d/networking restart dhclient 设置成动态IP /*******设置静态IP***************/ 5 iface eth0 inet static 6 address 10.0.0.100 // IP地址 7 netmask 255.255.255.0 //子网掩码 8 gateway 10.0.0.1 //网关 1.3 设置tftp 服务器端服务(主机) sudo /etc/init.d/tftpd-hpa restart tftpd-hpa stop/waiting tftpd-hpa start/running, process 11471 安装tftp --> 配置服务器 (sudo vim /etc/default/tftpd-hpa) --> 本机测试(tftp localhost)-->开发板测试(tftp 20008000 zImage go 20008000)TFTP服务器配置:1.sudo apt-get install tftp-hpa tftpd-hpa //安装软件包2.sudo vim /etc/defalut/tftpd-hpa //修改配置文件,添加一下内容TFTP_USERNAME="tftp" //服务器名TFTP_DIRECTORY="/tftpboot" //该路径必须存在TFTP_ADDRESS="0.0.0.0:69" //设定可访问用户,这里是所有用户都可访问TFTP_OPTIONS="-l -c -s" //可查看可创建......3.sudo service tftpd-hpa restart //重启tftp服务器,加载修改过的配置文件4.tftp客户端操作; 下载的时候在主目录,不要在根目录下,可能出错!权限问题! tftp localhost tftp 主机IP //两种方法都是连接服务器的方法 tftp> get 应用层通过操作文件操控硬件使用制作好的工具链:刚开始学习时,用一些已经制作好的工具链,使用以下



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: