Ubuntu驱动程序开发1-环境搭建
Posted Mike_2019
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu驱动程序开发1-环境搭建相关的知识,希望对你有一定的参考价值。
1、安装交叉编译工具链
1.1 下载4.9.4版本的交叉编译器,并存放到/usr/local/arm目录
链接:https://releases.linaro.org/components/toolchain/binaries/4.9-2017.01/arm-linux-gnueabihf/
1.2 新建/usr/local/arm文件,并将下载好的压缩包解压到此文件夹中
sudo tar -vxf gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz
这样,该文件夹里面就是我们的交叉编译工具链。
1.3 修改环境变量
1.3.1 所有用户全局设置
打开/etc/profile文件,在最后面添加如下内容:
export PATH=$PATH:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin
生效:
source profile
1.3.2 当前用户全局设置
打开~/.bashrc文件,添加内容同上(注意文件名根据自己实际下载的填写)
生效:
source .bashrc
1.4 在使用交叉编译工具链之前还需安装其他库
sudo apt-get install lsb-core lib32stdc++6
1.5 验证
arm-linux-gnueabihf-gcc -v
1.6 使用
1.6.1 编译
arm-linux-gnueabihf-gcc -g -c led.s -o led.o
-g,产生调试信息;-c,编译但不链接;-o,指定编译产生的文件名
1.6.2 链接
arm-linux-gnueabihf-ld -Ttext 0X87800000 led.o -o led.elf
-Ttext,指定链接地址,即程序的运行地址
1.6.3 格式转化
arm-linux-genueabihf-objcopy -O binary -S -g led.elf led.bin
-O,指定输出格式为二进制格式;-S,不复制源文件中的重定位信息和符号信息;-g,不复制源文件调试信息
1.6.4 反汇编
arm-linux-gnueabihf-objdump -D led.elf > led.dis
-D,表示反汇编所有的段。大多数情况下我们都是用 C语言写试验例程的,有时候需要查看其汇编代码来调试代码,
因此就需要进行反汇编,一般可以将 elf文件反汇编。
2、 搭建NFS服务
tftp和nfs用于在开发板上通过网络系统来访问ubuntu系统下的文件。
sudo apt-get install nfs-kernel-server rpcbind #安装NFS服务 mkdir ~/nfs #创建一个nfs文件夹 chmod 777 ~/tftpboot #赋予权限 sudo vi /etc/exports #配置nfs
添加如下配置内容:
/home/mklinux/nfs *(rw,sync,no_root_squash)
重启NFS服务:
sudo /etc/init.d/nfs-kernel-server restart
3、搭建TFTP服务
sudo apt-get install tftp-hpa tftpd-hpa sudo apt-get install xinetd mkdir ~/tftpboot chmod 777 ~/tftpboot#赋予权限 sudo vim /etc/xinetd.d/tftp #配置tftp
添加如下配置内容:
server tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /home/mklinux/tftpboot/ disable = no per_source = 11 cps = 100 2 flags = IPv4 }
启动tftp服务
sudo service tftpd-hpa start
打开/etc/default/tftpd-hpa文件
sudo vim /etc/default/tftpd-hpa
添加如下内容:
# /etc/default/tftpd-hpa TFTP_USERNAME="tftp" TFTP_DIRECTORY="/home/mklinux/tftpboot" TFTP_ADDRESS=":69" TFTP_OPTIONS="-l -c -s"
重启tftp
sudo service tftpd-hpa restart
4、 搭建SSH服务
ssh服务用于支持在Windows下使用终端软件SecureCRT,MobaXterm登陆Ubuntu。
sudo apt-get install openssh-server
配置文件为/etc/ssh/sshd_config,使用默认即可。
以上是关于Ubuntu驱动程序开发1-环境搭建的主要内容,如果未能解决你的问题,请参考以下文章