当前位置: 首页 > news >正文

交叉编译

1. 交叉开发

交叉编译:
       在电脑把程序编写 编译 调试好 再下载到嵌入式产品中运行

编译:
        gcc
        之前编译环境和运行环境是一样的

交叉编译:
        编译
        把编译代码和运行分开
        编译代码在虚拟机中 运行代码在开发板
    
        在pc端把代码编译好了之后 下载开发板中去运行代码
         在一种环境下去编译另一种环境的程序

交叉编译器:
         arm-linux-gcc

2. 交叉编译器的安装

一般来说,交叉编译器由目标板产商做好,你直接拿来用
也可以自己网上下载
http://releases.linaro.org/components/toolchain/binaries/latest-6/arm-linux-gnueabi/
https://www.veryarm.com/

安装交叉编译器步骤:
1.把交叉编译工具把它放在共享目录中

2.解压
    sudo mkdir -p /usr/local/arm
    sudo tar xvf gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabi.tar.xz -C /usr/local/arm
    =>交叉编译
    /usr/local/arm/gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabi/bin/arm-linux-gnueabi-gcc 1.c -o 1

3.修改环境变量
    交叉编译的命令太长,我们就需要把交叉编译的路径加到环境变量PATH中
    
    export PATH=/usr/local/arm/gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabi/bin/:$PATH
    
    我们需要每一次开机,每一个用户都会有上面的环境变量
    
    vim /etc/profile
    
    把上面的指令加入到/etc/profile 文件中的最后一行
    
    关机重启

3. 与开发板通信

1. 串口软件

sercurCRT

1.设备管理器
    端口(com和LPT)
        ch340  后面的端口号记住
    
    如果黄色感叹号 安转驱动
        sercureCRT -> 串口驱动 -> ch341 

2.在secureCRT里面设置
    协议:Serial
    端口:选择在设备管理器中的端口号
    波特率:115200
    流控选项 去掉勾
    
    出现绿色的勾
    如果界面没有出来 [root@GEC6818 /IOT]#
    ctrl + c
    ctrl + z
    

通过串口下载文件到开发板
rx 用xMordern协议接收文件
    语法:
        rx 要接收的文件
        点击传输 -> 发送xmordern ->找到要发送文件
        
        当接收的文件为灰色时
            chmod +x 接收文件名

2. U盘

u盘格式为fat32

/mnt/udisk 里面如果能够看见u盘的东西 自动挂载

手动挂载
mount 挂载设备  要显示的目录
    eg:
        mount /dev/sda1 /lixiang
        
umount 挂载设备
    eg:
        umount /dev/sda1
        or
        umount /lixiang


如何把u盘的格式转化为fat32
    此电脑->管理->磁盘管理
    找到u盘 删除卷
    分配比较小的空间(1-10G) FAT32

3. tftp

1. 在ubuntu中配置tftp环境
            先设置桥接模式
                        player->管理->虚拟机设置->网络适配器->桥接模式
                        重启ubuntu
        
安装tftpd
        sudo apt-get install tftpd-hpa <--------------
启动 
        sudo service tftpd-hpa start  <--------------
重启
        sudo service tftpd-hpa restart
停止
        sudo service tftpd-hpa stop

配置tftpd服务
        tftp的配置文件在 /etc/default/tftpd-hpa
    
         /home/china/tftpboot 如果想要上传文件到开发板 先把文件拷贝到这个目录
    
    
2.在板子上去查看ip
        ifconfig
               192.168.31.243
    
    如果找不到iPv4的ip 则在/etc/profile中ifconfig lo这一行的下面加:
        ifconfig eth0 192.168.31.243 netmask 255.255.255.0 up
        
        上面的ip的243可以自己设置 eth0是网卡名

用ubuntu ping 板子的ip
         ping 192.168.31.243

用板子 ping ubuntu的ip
         ping 192.168.31.43

下载:
        tftp -g -r 下载的文件名 ubuntu的ip
            -g get 获取 下载
            -r remote 指定远程服务器的文件名

上传:
        tftp -p -l 上传的文件名 ubuntu的ip
            -p put 上传
            -l local 本地

http://www.lryc.cn/news/248247.html

相关文章:

  • 数据结构与算法之递归: LeetCode 46. 全排列 (Typescript版)
  • SQL中 JOIN 的两种连接类型:内连接(自然连接、自连接、交叉连接)、外连接(左外连接、右外连接、全外连接)
  • 微信小程序记住密码,让登录解放双手
  • 国内划片机行业四大企业之博捷芯:技术驱动,领跑未来
  • 后端整合Swagger+Knife4j接口文档
  • k8s中批量处理Pod应用的Job和CronJob控制器介绍
  • UE5 范围内随机生成
  • 杂记 | 使用Docker安装并配置MongoDB以支持事务(单副本,并解决了证书文件错误的问题)
  • css三角,鼠标样式,溢出文字
  • 远程桌面访问MATLAB 2018B,提示License Manger Error -103,终极解决方案
  • Jmeter基础和概念
  • 【Linux 带宽限速】trickle,限制docker 上传速度
  • MindStudio学习记录三:推理应用开发 acl mindx sdk
  • 【RT-DETR改进】SIoU、GIoU、CIoU、DIoU、AlphaIoU等二十余种损失函数
  • 【Linux】EVIOCGBIT
  • 鸿蒙4.0开发笔记之ArkTS装饰器语法基础@Extend扩展组件样式与stateStyles多态样式(十一)
  • 5V摄像机镜头驱动IC GC6208,可用于摄像机,机器人等产品中可替代AN41908
  • PHP echo和print 语句
  • ThinkPHP6.1 多应用模式的一些事儿
  • redis-cluster集群模式
  • 带你用uniapp从零开发一个仿小米商场_10. 首页开发
  • 常使用的定时任务
  • 【人工智能Ⅰ】实验2:遗传算法
  • Hadoop集群升级(3.1.3 -> 3.2.4)
  • (一)基于高尔夫优化算法GOA求解无人机三维路径规划研究(MATLAB)
  • ESP32-Web-Server编程-建立第一个网页
  • csgo/steam游戏搬砖项目的五大认知误区
  • ASCII sorting
  • redis--高可用之持久化
  • 『VUE3 の 要点摘录』