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

嵌入式项目之交叉编译m2440篇

在Linux虚拟机上写好代码,并进行编译,确保编译无出错,准备移植到开发板上的工作。

系统烧入

首先先将开发板的USB接口以及电源接口接上,这里要记住先不能打开开关S1,原因是打开开关的时候系统会自动判断S2所在的位置,如果先打开S1而S2不在NOR位置上,系统不会进入到NOR。连接好了之后下载友善之臂的2440开发工具,minitools进行烧写系统。如下图

 如果接线都没有错误,但是左下角显示红色没有连接上,那么就是驱动的问题,这里使用驱动精灵进行检测,会检测到一个安卓的驱动没装,点击安装即可。这时候一定要上电,且S2在NOR上。

左下角点变为绿色之后就可以进行系统的烧入了。

交叉编译

交叉编译(架构不同)在电脑上编译,在开发板上运行。电脑(虚拟机)一般是X86架构,而开发板是ARM架构,这两个架构的二进制文件差别较大,所以需要交叉编译。

先在开发板官网找到其资源arm-linux-gcc,然后进行安装。使用命令arm-linux-gcc不发生找不到命令即可。

这次项目使用到一个需要交叉编译的库json,我们先进到json库的路径下,使用make clean命令清空之前编译的文件

./configure --host=arm-linux CC=arm-linux-gcc --prefix=/home/json_arm_install

生成ARM架构的makefile文件,然后使用make和make install 即可安装。

安装完成之后,需要修改一下项目的makefile,使其使用arm-linux-gcc进行编译

 DEBUG=-DARM#DEBUG=Target=mainObject=main.o select.o device.o player.o link.o socket.oCC=arm-linux-gccCFLAGS=-L /home/json_arm_install/lib -I /home/json_arm_install/include$(Target):$(Object)$(CC) $(Object) -o $(Target) -Wall -ljson $(DEBUG) $(CFLAGS) -staticclean:rm -f $(Object) $(Target)

然后将编译好的可执行文件移植到开发板上,即可运行。

相关文章:

  • 深入探讨redis:哨兵模式
  • 【ISP算法精粹】什么是global tone mapping和local tone mapping?
  • 吃透 Golang 基础:数据结构之数组
  • 中级网络工程师知识点8
  • 【Linux笔记】——简单实习一个日志项目
  • AI编程辅助哪家强?深度解析主流AI编程工具的现状与未来-优雅草卓伊凡
  • 内核常见面试问题汇总
  • Mujoco 学习系列(二)基础功能与xml使用
  • 鸿蒙开发——7.ArkUI进阶:@BuilderParam装饰器的核心用法与实战解析
  • Oracle中如何解决BUFFER BUSY WAITS
  • Oracle Apps R12——报表入门:如何定义一个Concurrent Program(请求)
  • 【Tauri2】046—— tauri_plugin_clipboard_manager(一)
  • RVTools 官网遭入侵,被用于分发携带 Bumblebee 恶意软件的篡改安装包
  • SUI批量转账几种方法介绍
  • 谈谈对《加密算法》的理解
  • PyTorch中单卡训练、DataParallel(DP)和DistributedDataParallel(DDP)
  • 如何自己建设网站?
  • 第6章 C控制语句:循环
  • Java转Go日记(四十三):Gorm事务
  • 反射在spring boot自动配置的应用
  • 王晋卿读《酒的精神》︱乏味时代的有味之思
  • 时隔5个月,辽沈银行行长再调整
  • 西岸大剧院夏秋演出季公布,阿云嘎制作《风声》9月驻演
  • 购房成本再降低!今年首次降息落地,30年期百万房贷月供将减少54元
  • 【社论】进一步拧紧过紧日子的制度螺栓
  • 上海徐汇 “家 + 书屋”,创新服务广大家庭