linux:嵌入式linux开发环境搭建(整理)

时间:2021-09-26 19:51:20
1、安装VMware、安装ubuntu
安装详细步骤: http://blog.csdn.net/u013142781/article/details/50529030

2、配置网络,保证开发板可以ping通服务器
 > 纯ubuntu系统只要保证开发板和ubuntu系统处于同一网段即可。
 > 虚拟机中需要注意三点:
  1) 开发板、ubuntu系统、windows三者处于同一网段
   ubuntu系统(需单独配置): 192.168.1.8    255.255.255.0
   开发板(需单独配置):         192.168.1.6    255.255.255.0
     SerialCRT软件下Serial-COM1(1)的命令行下
     X6818#:' printenv    // ipaddr / netmask / serverip
     X6818#:' setenv ipaddr 192.168.1.6
     X6818#:' setenv serverip 192.168.1.8
     X6818#:' saveenv
     // 写入环境变量到掉电不丢失的EMMC中
   windows 新网络连接 ip 修改为: 192.168.1.121
     注意修改的是连接开发板的网卡的ip - 方法:拔插开发板网线,看PC上是哪个网络连接。
  2) 设置VMware的桥接模式
   VMware - 【虚拟机】 - 设置 - 网络适配器 - 桥接模式(B)
  3) 选择用于桥接的网卡
   VMware - 【编辑】 - 虚拟网络编辑器 - 桥接模式 - 桥接到(开发板对应的网卡,在本地连接中可以看名字,鼠标放在图标上即可 )
  >> 在串口中执行命令
     X6818#:' ping 192.168.1.8
     看到" host 192.168.1.8 is alive "此行内容即为ping通,成功。
     注意:
      a. 不能主机ping开发板;
      b. 第一次执行ping时不成功,忽略;(一直ping不通检查网线)

3、安装、配置、启动FTP、SSH或NFS服务
1) 准备使用软件维护工具

第一次是用apt-get安装程序时,需要完成两件事:
① 修改/etc/apt/sources.list,将其中注释掉的网址打开。(已打开则不用管)
② 更新可用的程序列表。
    $:' sudo apt-get update

2) 安装、配置、启动服务
使用tftp协议的方式完成windows下的ubootpak.bin的下载
 tftp:tftp是ftp协议的简化版本,其中没有用户管理的功能。
tftp服务器
 1) 安装tftp软件 --->
  联网方式:$:' sudo apt-get install tftpd-hpa [-d]
  // VM联外网的方式:设置 - 网络适配器 - NAT,ubuntu ip自动获得
  非联网方式:
  $:' cd /home/usrname/Downloads/tftp
  $:' sudo dpkg -i *.deb
 2) 配置tftp server :
  $:' sudo vi /etc/default/tftpd-hpa
  ---> TFTP_DIRECTORY="/tftpboot"    // tftp客户端登陆后文件默认目录
 3) 要想让新的配置生效需要重启tftp server ,重启方式:
  $:' sudo /etc/init.d/tftpd-hpa restart
 4) 将要供客户端下载的文件拷贝到/tftpboot/目录下
  $:' sudo cp /mnt/hgfs/arm/env/ubootpak.bin /tftpboot/
  //  $:' sudo chmod a+w /tftpboot/ -R       让拷贝可以省去sudo命令,方便快捷。
测试tftp工具
// 确认serverip= 192.168.1.8
X6818#:' tftp 0x48000000 ubootpak.bin
 该命令下载ubootpak.bin到dram(内存)的0x48000000为开始的地址上了。
 // 0x48000000 是物理地址,它是开发板上的物理地址,该物理地址对应的是哪个ddram,详见 cpu datasheet。
X6818#:' update_mmc 2 2ndboot 0x48000000 0x200 0x53bb0
 // 2: 2th mmc 存储设备(SD0 - 0,SD1 - 1,EMMC - 2)
 // 2ndboot:要更新的分区
 // 0x48000000:源数据地址
 // 0x200:源数据写入2ndboot分区的便宜(实际有512kb)
 // 0x53bb0:写入的字节数(ubootpak.bin文件下载下来的大小 )

nfs网络】用于连接根文件系统
这种方式一般用于开发调试阶段。
1. 服务器端设置 - PC-ubuntu-linux "在linux没有nfs服务时 执行1."
     1) 安装nfs server
         联网:$:' sudo apt-get install nfs-kernel-server
         未联网:$:' cd ~/Downloads/nfs/
                      $:' sudo dpkg -i *.deb
     2) 准备根文件系统数据
         $:' env/rootfs_qt.tar.bz2
         $:' cd /opt/
         $:' cp /mnt/hgfs/porting/env/rootfs_qt.tar.bz2 .
         $:' sudo tar xvf *.bz2
     3) 对服务器进行配置
         配置PC机上的哪些目录可以让客户端通过nfs方式访问
         $:' sudo vi /etc/exports
          /opt/rootfs  *(rw,sync,no_root_squash)
          ' /opt/rootfs':允许客户端通过nfs方式访问的目录
          /* ubuntu-linux下操作该目录,即可同步到开发板linux根目录 */
          *:所有客户端都可以访问
                192.168.1.* 代表客户端IP为192.168.1.X可以访问
          rw:客户端对目录有读写权限
          sync:同步 // man 2 sync; 重要的write函数写入数据后可加。
          no_root_squash:权限,角色
      4) 对新的配置重启nfs服务
          $:' sudo /etc/init.d/nfs-kernel-server restart
          // 看到4个 [ OK ] 重启成功。
2. 客户端设置 - 开发板
      #:' reboot
      // 进入u-boot的命令行,3秒倒计时按空格
      #:' setenv bootargs root=/dev/nfs nfsroot=192.168.1.8: /opt/rootfs ip=192.168.1.6:192.168.1.8:192.168.1.1:255.255.255.0 lcd=vs070cxn tp=gslx680-linux console=ttySAC0,115200 maxcpus=1
            /dev/nfs:属于固定写法。只要是nfs方式挂在网络文件系统
      #:' saveenv
      // uboot下 re 命令,不做任何操作等待 starting kernel启动完全
      #:' re
            Welcome to X6818
            usrname login: root
            Password: 123456
            成功!!!
       #:' cd /

4、在linux中安装基本的开发环境
① 安装C函数库的man手册
    $:' sudo apt-get install manpages-dev
② 安装ctags代码阅读工具
    $:' sudo apt-get install ctags

5、安装交叉编译工具链
  arm-cortex_a9-eabi-4.7-eglibc-2.18.tar.gz
 权限不够时解决方法:
 1> $:' sudo ...
 2> $:' sudo chmod +w /opt/ -R
 3> $:' sudo chmod 777 /opt/ -R

 $:' cd ~/opt/
 $:' sudo cp ~/workdir/arm..<table>/arm... .tar.gz .
 $:' sudo tar xvf *.gz
 >>位置: /opt/arm-cortex_a9-eabi-4.7-eglibc-2.18/bin/
 ' arm-cortex_a9-linux-gnueabi-gcc
 $:' sudo vi /etc/environment
 // 将路径添加到PATH环境变量中

单独自行扩展:
    自己制作工具链,安装包: crosstool-0.43.tar.gz
     http://blog.csdn.net/u011057439/article/details/51863050
    http://blog.csdn.net/lhw88117/article/details/7183896
    https://wenku.baidu.com/view/00106e16a216147917112837.html
    // 目标是生成可以使用 arm-linux-gcc 或 arm-linux-g++ 编译

----------------------------------------------------------------------------------------------------------------------
开发环境搭建精简版(个人实践整理):
【PC】1、安装虚拟机
VMware 10.0.4

2、安装linux到虚拟机
ubuntu-64bit

3、安装辅助工具
串口工具SecureCRT
Editplus编辑器
Source Insignt3(免安装版)

4、调试网段ip配置
PC端网线ip:192.168.1.121(同一网段即可)
ubuntu-linux:192.168.1.8 255.255.255.0
开发板ipaddr:192.168.1.6 (serverip:192.168.1.8)
设置VMware的桥接模式:VMware - 【虚拟机】 - 设置 - 网络适配器 - 桥接模式(B)
选择用于桥接的网卡:VMware - 【编辑】 - 虚拟网络编辑器 - 桥接模式 - 桥接到(开发板对应的网卡)

【VM-ubuntu】
1、命令行提示符
$: vi ~/.bashrc
export PS1='[\W]\$: '
$: bash

2、配置vimrc
$: vi ~/.vimrc
set nu
set ts=4
set autoindent
set cindent
set tabstop=4
set softtabstop=4
set shiftwidth=4
【vim终端】颜色方案:XTerm

3、安装arm交叉编译器
arm-linux-gcc/
$: cp arm-linux-gcc/...gz /opt/
$: tar -xvf *.gz
配置PATH环境变量:~/.bashrc 加入 PATH=/opt/arm-c...-2.18/bin:$PATH
$: source ~/.bashrc

4、安装tftp服务器
tftp/
$: sudo dpkg -i *.deb
$: sudo /etc/init.d/tftpd-hpa restart
$: sudo chmod a+w /tftpboot/ -R

5、安装ctags代码阅读
ctags-5.8.tar.gz/
$: tar -xvf ctags-5.8.tar.gz
$: cd ctags-5.8
$: ./configure
$: make
$: make install
安装结束后,使用ctags命令测试是否成功
或whatis ctags, whereis ctags等

* 其他根据情况安装
界面开发:QT