Linux开源模块迁移概述暨交叉编译跨平台移植总结--从《嵌入式Linux驱动模板简洁和工程实践》

本文摘录《嵌入式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在运行。善于利用开源软件的交叉编译移植可以实现非常高速的多用途。

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

时间: 2024-10-14 10:30:53

Linux开源模块迁移概述暨交叉编译跨平台移植总结--从《嵌入式Linux驱动模板简洁和工程实践》的相关文章

Linux开源模块移植概述暨交叉编译跨平台移植总结--摘自《嵌入式Linux驱动模板精讲与项目实践》

本文摘自<嵌入式Linux驱动模板精讲与项目实践>一书中的"开发与调试技巧". Linux的强大威力就在于有很多开源项目可以使用,通常很多需求可以通过寻找相关的开源模块做为快速解决方案.要把这些开源模块应用到嵌入式中,其中一个关键点就是要使用交叉编译工具对开源项目进行交叉编译. 根据具体情况,下载的开源项目在组织上有很多情况,在此对各种情况进行归类介绍. 1. 下载的开源软件包找不到Makefile 对于这种开源包通常是采用configure的方式组织的,那么第一步就是使用

交叉编译VIM并移植到ARM嵌入式Linux系统

原创作品,允许转载,转载时请务必以超链接形式标明文章.作者信息和本声明,否则将追究法律责任.   众所周知,vim是vi的增强版本,实际体验要比vi好用很多,由于笔者为ARM系统制作的基于busybox的文件系统中只带了vi工具,本文主要介绍怎么移植vim工具到基于busybox的制作的rootfs中. 一.编译环境: Host机:ubuntu-16.10(64bit) Target: arm 交叉工具链:arm-linux-gnueabi-gcc 工具包: ncurses-5.9.7: htt

龙尚3G、4G模块嵌入式Linux系统使用说明【转】

本文转载自;http://blog.csdn.net/zqixiao_09/article/details/52506812 驱动部分: 1.kernle/drivers/usb/serial/option.c的结构体数组 static struct usb_device_id option_ids[]中增加加入产品的VID和PID { USB_DEVICE( 0x1c9e, 0x9e00 ) }  //   U5300v/C7500 evdo { USB_DEVICE( 0x1c9e, 0x9

【分享】4412开发板-嵌入式Linux开发需要掌握的基础知识和技能

本文转自迅为电子论坛:http://www.topeetboard.com 1.Linux 基础 安装Linux操作系统 Linux文件系统 Linux常用命令 Linux启动过程详解 熟悉Linux服务能够独立安装Linux操作系统 能够熟练使用Linux系统的基本命令 认识Linux系统的常用服务安装Linux操作系统 Linux基本命令实践 设置Linux环境变量 定制Linux的服务 Shell 编程基础使用vi编辑文件 使用Emacs编辑文件 使用其他编辑器 2.Shell 编程基础

嵌入式Linux会议LinuxCon欧洲的时间表公布

From: http://linuxgizmos.com/embedded-linux-conference-and-linuxcon-europe-schedules-posted/ Linux基金会公布了LinuxCon + CloudOpen +嵌入式Linux大会欧洲的时间表,它们将在10月13-15日于德国的杜塞尔多夫举行.除了Linux基金会在七月初发布的LinuxCon + CloudOpen + ELC(嵌入式Linux大会)欧洲的主题演讲的初步名单外,Linux的倡导组织追加了

嵌入式Linux操作系统学习规划

开发板用友善之臂的吧mini2440 连3.5寸屏500块钱的样子有好几张DVD学习光盘 这款口碑比较高 嵌入式Linux操作系统学习规划ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标: (1) 掌握主流嵌入式微处理器的结构与原理(初步定为arm9) (2) 必须掌握一个嵌入式操作系统 (初步定为uclinux或linux,版本待定) (3) 必须熟悉嵌入式软件开发流程并至少做一个嵌入式软件项目. 从事嵌入式软件开发的好处是: (1)目前国内外这方面的人都很稀缺.这一

嵌入式linux系统移植开发视频教程

深入浅出嵌入式linux系统移植开发(环境搭建.uboot的移植.嵌入式内核的配置与编译) 课程讲师:韩老师 课程分类:Linux 适合人群:中级 课时数量:56课时 用到技术:嵌入式Linux开发模式 涉及项目:基于tftp烧写系统 咨询qq:1840215592 课程介绍: 本课程重点是给大家讲解嵌入式linux系统移植的开发方法,采用理论与实践,硬件与软件相结合的方法. 1.在每节开始之前先简单回顾上一节所讲的主要内容,并对本节所讲的内容先进行概述,讲解概念.技术要点,设计实现思路等内容,

【课程分享】深入浅出嵌入式linux系统移植开发 (环境搭建、uboot的移植、嵌入式内核的配置与编译)

深入浅出嵌入式linux系统移植开发 (环境搭建.uboot的移植.嵌入式内核的配置与编译) 亲爱的网友,我这里有套课程想和大家分享,如果对这个课程有兴趣的,可以加我的QQ2059055336和我联系. 课程内容简介 本课程重点是给大家讲解嵌入式linux系统移植的开发方法,采用理论与实践,硬件与软件相结合的方法. 1.在每节开始之前先简单回顾上一节所讲的主要内容,并对本节所讲的内容先进行概述,讲解概念.技术要点,设计实现思路等内容,最后总结本次课程的要掌握的要点. 2.在讲课的过程中对关键技术

零基础嵌入式Linux开发工程师培训视频

零基础嵌入式Linux开发工程师高端培训(ARM实战.系统移植.驱动开发.网络电子书开发)适合人群:初级课时数量:336课时用到技术:ARM实战.系统移植.驱动开发涉及项目:网络电子书开发.案例咨询qq:1840215592 课程大纲:C语言基础篇:实用嵌入式C Linux程序设计第一章 嵌入式开发基础及功能演示第二章 C语言基础第三章 C语言中的循环第四章 数组和字符串第五章 函数和指针 Linux应用篇:嵌入式Linux应用程序开发第一部分:嵌入式软硬件平台概述第二部分:嵌入式linux系统