博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux开源模块迁移概述暨交叉编译跨平台移植总结--从《嵌入式Linux驱动模板简洁和工程实践》...
阅读量:6976 次
发布时间:2019-06-27

本文共 1079 字,大约阅读时间需要 3 分钟。

本文摘录《嵌入式Linux驱动模板简洁和工程实践》一本书“开发和调试技术”。

Linux强大的是,有那么多的开源项目可以使用。通常非常需要可以通过寻找相关的源模块被定义为高速的解决方案。使这些开源模块的嵌入。对开源项目进行交叉编译。

依据详细情况。下载的开源项目在组织上有非常多情况,在此对各种情况进行归类介绍。

1. 下载的开源软件包找不到Makefile

对于这样的开源包一般是採用configure的方式组织的,那么第一步就是使用软件包中的configure生成Makefile文件。比如移植module-init-tools-3.2:

CC=arm-linux-gcc ./configure --prefix=/my_depmod --without-gun-ld --host=arm-linux

在./ configure之前指定交叉编译工具,指定安装路径为/my_depmod,后面选项是CPU相关的。

各个选项能够通过./configure –help查看。

   第二步,生成Makefile之后,打开Makefile就能够看到:

prefix = /home/xlong.lin/workspace/sample/module-init-tools-3.2/my_depmode

CC = arm-linux-gcc

已经自己主动生成了相应的交叉编译Makefile。

第三步,Make进行编译。

第四步,make install安装。

在指定的安装路径下得到终于须要的目标文件或者是库。

第五步,为了确认。使用file查看所得到的文件是否是嵌入式CPU中能够运行的。

2. 有些源代码包下载解压之后有Makefile的,同一时候里面有CC选项的,这样的情况比較简单。仅仅要改动CC等选项就可以。

   比如。移植goahead到单板上。解压之后Makefile中改动:

CC = arm-linux-gcc

AR = arm-linux-ar

   然后Make编译就可以。

 假设Makefile中有CROSS_COMPILE也相同改动交叉编译工具就可以。

3. 有Makefile可是找不到CC或者CROSS_COMPILE的情况。

这样的情况採用 make CROSS= arm-linux-进行编译。

以上仅仅对常见情况的交叉编译进行总结。不管哪种情况编译出来的都须要使用file工具确认是否交叉编译成功,能否够在相应的CPU在运行。善于利用开源软件的交叉编译移植可以实现非常高速的多用途。

版权声明:本文博客原创文章,博客,未经同意,不得转载。

你可能感兴趣的文章
20170507Linux七周二次课 io监控free ps 网络状态 抓包
查看>>
26期20180601目录管理
查看>>
26期20180716 iptables规则备份恢复 firewalld zone
查看>>
营销自动化为什么能吸引企业的喜欢?它有何魅力?
查看>>
网络分流器-网络分流器IP网络路由交换测试技术探讨
查看>>
部分人说 Java 的性能已经达到甚至超过 C++,是真的吗?
查看>>
网络安全技术分析:DDoS的攻与防
查看>>
LNMP安装配置
查看>>
什么是机器人底盘 答案在这里!
查看>>
SNMP 协议 OID的使用
查看>>
【CSS3教程】CSS3基础&常用技巧&实例集合
查看>>
面试题:2018最全Redis面试题整理
查看>>
引用头文件#include <queue>出错
查看>>
koa2 简单了解
查看>>
阿里P7架构师告诉你Java架构师必须知道的 6 大设计原则
查看>>
详解微信域名防封的方法以及检测等工具的技术原理
查看>>
smobiler介绍(二)
查看>>
Windows 8 快捷键大全
查看>>
安装hadoop下的sqoop1.99.3及配置问题全解决
查看>>
expect
查看>>