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服务

  tftpnfs用于在开发板上通过网络系统来访问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-环境搭建的主要内容,如果未能解决你的问题,请参考以下文章

(01)PyQt5开发环境搭建

linux驱动ARM学习环境搭建

一种简单的OpenHarmony开发环境搭建

Ubuntu 14.04.2 + Vmware搭建Linux驱动开发环境

ubuntu下搭建JAVA开发环境

Ubuntu12下编译安装PHP5.3开发环境