Ubuntu-嵌入式linux开发环境搭建-基本工具安装

1、安装vim
sudo apt-get install vim
ps:
vim显示行号
:set number

2、安装配置git
sudo apt-get install git
git config --global user.name 'XXX'
git config --global user.email 'XXX@XX.com'

3、修改网卡名为eth0:(修改grup引导启动倒计时)
sudo vim /etc/default/grub
找到GRUB_CMDLINE_LINUX=""
改为GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
sudo update-grub
sudo reboot
重启后,网卡名称果然变成了eth0和wlan01234

4、Ubuntu16设置静态IP,修改/etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
#获取动态配置
auto eth0
#iface eth0 inet dhcp
#获取静态配置
iface eth0 inet static
address 172.26.3.36
#address 125.217.48.36
netmask 255.255.0.0
#netmask 255.255.254.0
#gateway 172.26.0.1
#gateway 125.217.49.255

#wlan0为dhcp方式
#iface wlan0 inet dhcp
#删除默认路由,要实现内外网同时访问,所以要指定路由
#route add default gw 192.168.199.1 dev wlan0

5、Ubuntu20设置静态IP,修改/etc/netplan/01-network-manager-all.yaml
在后面添加:
  ethernets:
    eth0:   #配置的网卡名称
      dhcp4: no    #dhcp4关闭
      dhcp6: no    #dhcp6关闭
      addresses: [172.26.3.136/16]   #设置本机IP及掩码
      gateway4: 172.26.0.1   #设置网关
      nameservers:
        addresses: [192.168.147.1, 114.114.114.114]   #设置DNS

(编辑Yaml文件时,请确保遵循YAML代码缩进标准。如果语法不正确,则更改将不会应用。
每个缩进级别由两个空格组成。一定不能使用tab键,每个冒号后面一定要有一个空格(以冒号结尾不需要空格,表示文件路径的模版可以不需要空格))

然后执行:
sudo netplan --debug apply        # 可以显示debug信息
sudo service network-manager stop  # 先停止服务
# 删除文件
sudo rm -rf /var/lib/NetworkManager/NetworkManager.state
#重启服务器
sudo service network-manager start

6、安装默认开启SSH
sudo apt-get install openssh-server
sudo service ssh start            #启动ssh

sudo systemctl enable ssh      # 开机自动启动ssh命令
sudo systemctl disable ssh     # 关闭ssh开机自动启动命令
sudo systemctl start ssh       # 单次开启ssh
sudo systemctl stop ssh        # 单次关闭ssh
reboot                         # 设置好后重启系统
sudo systemctl status ssh      #查看ssh是否启动,看到Active: active (running)即表示成功

7、配置samba
sudo apt-get install samba

#配置需要共享的目录
# 新建目录,用于共享
$ sudo mkdir -p /home/yang/Work
# 更改权限信息
$ sudo chown nobody:nogroup /home/yang/Work
# 给所有用户添加读写权限
$ sudo chmod 777 /home/yang/Work

#添加 Samba 用户
#用户名需要与主机系统的用户名一致。修改命令,将 "yang "替换为你的系统用户名。
sudo smbpasswd -a yang   
#然后你会被提示输入你在设置Samba账户时创建的密码。

#配置 Samba
sudo vim /etc/samba/smb.conf
然后在最后面添加如下脚本:
[share]
    comment = Work Directories
    path = /home/yang/Work
    browseable = yes
    read only = no
    writable = yes
    available = yes
    create mask = 0777                  
    directory mask = 0777                               
    valid users = yang

sudo ufw allow samba            #更新防火墙规则
sudo systemctl restart smbd      #重启Samba服务

8、安装iTOP412平台的交叉编译器(安装路径/usr/local/arm)
版本:gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf.tar.xz
在/usr/local/arm路径下解压缩
然后在/etc/bash.bash.rc中声明环境变量
export PATH=/usr/local/arm/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin:$PATH

9、安装openwrt的交叉编译器(安装路径/usr/local/mips)

git路径:https://gitee.com/kuangzuxiaoN/openwrt_-js7628icon-default.png?t=LA92https://gitee.com/kuangzuxiaoN/openwrt_-js7628

配置编译环境,先安装必要的依赖包:
sudo apt-get install subversion build-essential libncurses5-dev zlib1g-dev gawk git ccache gettext libssl-dev xsltproc

开始编译:
make V=99  (#V=99表示输出详细的debug信息)

编译完成后,声明环境变量
export PATH=$PATH:/usr/local/mips/OpenWrt-Toolchain-ramips-mt7628_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-i686/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/bin:$PATH
export STAGING_DIR=/home/yang/Work/JS7628/openwrt_CC_mt76xx_zhuotk_source/staging_dir:$STAGING_DIR

上面这个“STAGING_DIR”变量中的绝对路径实际放openwrt源码的根目录,如果这个“STAGING_DIR”变量不设置的话,会在用交叉工具链编译文件时有警告,但是不影响编译结果。


10、Ubuntu20.04终端安装、切换低版本gcc/g++
sudo vim /etc/apt/sources.list
增加源
deb http://dk.archive.ubuntu.com/ubuntu/ xenial main
deb http://dk.archive.ubuntu.com/ubuntu/ xenial universe
更新源
sudo apt-get update

安装gcc5,g++5
sudo apt-get install g++-5 gcc-5

安装gcc4,g++4
sudo apt-get install g++-4.8 gcc-4.8

设置优先级
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 40
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/g++-4.8 40
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 50
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/g++-5 50
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/g++-9 90
选择gcc版本
sudo update-alternatives --config gcc

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
i.MX6U是一款广泛应用于嵌入式系统中的处理器,本文将介绍i.MX6U嵌入式Linux驱动开发的指南。 在进行i.MX6U嵌入式Linux驱动开发之前,首先需要搭建开发环境。可以选择使用Ubuntu操作系统,并安装相应的交叉编译工具链和开发工具。接下来,需要获取i.MX6U的相关资料,包括芯片手册、数据手册、参考设计等。 在进行驱动开发之前,需要先了解设备的硬件架构和功能特性。这将帮助开发人员更好地设计和实现驱动程序。可以通过查阅芯片手册和参考设计来获得这些信息。 接下来,可以开始编写驱动程序。驱动程序主要由两部分组成:设备驱动程序和设备文件操作函数。设备驱动程序负责初始化设备、注册设备和处理设备中断等操作。设备文件操作函数则负责对设备文件的读写操作。 在编写设备驱动程序时,需要使用Linux内核提供的驱动框架,如Platform驱动、SPI驱动或I2C驱动等。根据设备的具体特性选择合适的驱动框架,并实现相应的函数接口。 在编写设备文件操作函数时,需要考虑设备的读写接口和数据格式。根据设备的读写方式,可以选择使用Linux内核提供的文件操作接口(如read()和write()函数)或者自定义的设备文件操作函数。 在编写驱动程序的过程中,需要注意一些常见的问题,如资源的申请和释放、中断的处理、数据的传输和校验等。同时,要善用调试工具和日志输出功能,以便更好地排查和解决问题。 最后,在驱动程序编写完成后,需要将其编译成为内核模块,并将其加载到目标系统中进行测试。可以使用insmod和rmmod命令加载和卸载驱动模块,然后使用相关的应用程序进行功能测试和性能评估。 综上所述,i.MX6U嵌入式Linux驱动开发需要掌握相关的开发环境和工具,了解目标设备的硬件架构和功能特性,并按照驱动框架和设备文件操作接口实现驱动程序。通过不断实践和调试,可以开发出稳定可靠的驱动程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值