csky linux 编译内核,TQ2440的EmbedSky_hello模块编译内核问题及解决

已在内核代码中添加EmbedSky_hello驱动为例,进行内核编译时候出现了一下几个问题:

1、在 /opt/EmbedSky/linux 2.6.30.4/drivers/char目录下修改“Kconfig”文件,添加如下内容:

config EmbedSky_HELLO

tristate "TQ2440/SKY2440 Hello Driver"

depends on ARCH_S3C2440

help

EmbedSky TQ2440/SKY2440 Hello.

后,别忘了在同目录下的“Makefile”文件中添加如下内容:

obj-$(CONFIG_EmbedSky_HELLO) +=EmbedSky_hello.o

将原来的 obj-$(CONFIG_TQ2440_HELLO) +=EmbedSky_hello.o 一句删除。

然后,按照常理,在/opt/EmbedSky/linux 2.6.30.4/目录下运行#make menuconfig命令后在内核配置界面里选择Device Drivers -->....Character devices -->后会出现如下选项:

<>TQ2440/SKY2440 Hello Driver

但在刚解压的内核中进行上述工作,最后不会出现上面说的配置选项,这是为什么呢?原因在于没有进行系统类型的设置,也就是没有和上面的“depends on ARCH_S3C2440”搭配好。现在需要进行如下工作:

#make menuconfig命令进入内核配置界面,选择“Load an Alternate Configuration File”,输入路径“arch/arm/configs/s3c2440_defconfig”,回车进入到“System Type”选项配置菜单,将S3C2440 Machines选项下做如下选择:只选择SMDK2440和SMDK2440 withS3C2440 CPU module两个选项。然后退回最初的配置菜单,选择最下面的“Save an Alternate Configuration File”,将其保存为“.config”文件。在编译系统时会自动调用该文件。

再进行驱动配置就会出现“ <>TQ2440/SKY2440 Hello Driver”选项了。

2、在内核目录下运行命令“make SUBDIR=drivers/char/ modules”生成EmbedSky_hello.ko文件(在drivers/char/目录下),将其复制到开发板 /lib 目录下,按常理当运行“#insmod EmbedSky_hello.ko”加载模块命令后,会显示EmbedSky_hello.c文件中printk指令所定义的出输出内容。但是事与愿违,出现了如下错误提示:

EmbedSky_hello: version magic '2.6.30.4 mod_unload ARMv4 ' should be '2.6.30.4-EmbedSky mod_unload ARMv4 '

insmod: cannot insert 'EmbedSky_hello.ko': invalid module format

出错原因:模块版本与内核版本不匹配!

解决办法:导入预设配置信息,进入menuconfig 继续配置General config ->......Local version -> 加入如下内容:“-EmbedSky ”退出保存为 .config ,重新编译内核,将EmbedSky_hello.ko复制到板子,然后再“#insmod EmbedSky_hello.ko,然后就congratulations,you succeed啦!^_^0b1331709591d260c1c78e86d0c51c18.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/506851.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux设置swap分区为128g,swap分区或文件的数量与大小限制

在Linux系统下&#xff0c;这个虚拟内存就被叫做swap。Linux swap分区是有限制的。在安装操作系统的时候&#xff0c;安装向导会提示用户需要创建多少的SWaP空间。通常情况下&#xff0c;SWaP比较合适的大小为物理内存的1-2倍。1. 早期的linux对虚拟内存的限制linux2.2以前的内…

linux设备树例程,iTOP-iMX6-设备树内核-实时时钟RTC以及Linux-c测试例程

当 Linux 开发者谈论一个实时时钟&#xff0c;他们通常指的是某种能记录墙上时间&#xff0c;并且有备用电池&#xff0c;以至于在系统关机的时候仍然可以工作的器件。Linux 有两个系列广泛兼容的用户空间 RTC 设备节点&#xff1a;• /dev/rtc &#xff1a; PC 机及兼容机系统…

linux有哪些实时同步工具,rsync文件同步工具常见模式有哪些?linux系统

互联网时代发展迅速&#xff0c;Linux运维技术的需求更多推进不少。市场对于Linux运维人才的需求也在逐渐加大。Linux行业崛起&#xff0c;在云计算大环境下&#xff0c;市场上对高级运维人员的需求将越来越大。文件同步工具rsync是运维工作中会遇到的命令&#xff0c;那么rsyn…

linux下rman自动备份,linux 下rman 自动备份

一、新建备份目录并授权&#xff1a;[oracleTAIXIN-HR ~]$ mkdir -p /home/oracle/app/hr_back (备份目录)mkdir -p /home/oracle/app/hr_back/archbackmkdir -p /home/oracle/app/hr_back/rmanscripts[oracleTAIXIN-HR ~]$ chmod 755 /home/oracle/app/hr_back (授权)chown…

linux jdk bin下载,Linux下安装jdk-6u45-linux-x64.bin

最近在学习linux下java开发&#xff0c;在搭环境的过程中发现网上很多配置都是错误的&#xff0c;现在写出来&#xff0c;供参考&#xff1a;从Oracle上下载jdk-6u45-linux-x64.bin1.下载文件:jdk-6u45-linux-x64.bin,将文件做成光盘挂载[rootlocalhost ~]mount /dev/cdrom /mn…

查看linux上redis的运行状态,Redis教程(七)使用info查看服务状态

一、Redis info命令介绍Redis info命令是Redis自带的一个用于查看服务状态的命令&#xff0c;这个命令类似于top一样可以查看redis服务的整个状态&#xff0c;并且分为了5大类&#xff1a;二、Redisinfo命令语法redis-cli -a redis_pass info #查看所有模块信息redis-cli -a re…

linux应用参数 冒号,Lua-面向对象中函数使用时冒号(:)和点(.)的区别

Lua-面向对象中函数使用时冒号(:)和点(.)的区别&#xff0c;我们先来看一段简单的代码&#xff1a;local Animal {}functionAnimal:Eat( food )print("Animal:Eat", self, food)endfunctionAnimal.Sleep( time )print("Animal.Sleep", self, time)endAnima…

linux tcp cork,在此用例中,TCP_CORK和TCP_NODELAY是否有显着差异?

在写完关于TCP_NODELAY和TCP_CORK的答案之后&#xff0c;我意识到我必须缺少对TCP_CORK的要点的了解&#xff0c;因为我尚不清楚100&#xff05;为何Linux开发人员认为有必要引入一个新的TCP_CORK标志&#xff0c;而不是仅仅依靠应用程序在适当的时间设置或清除现有的TCP_NODEL…

linux 优先级必须为整数,进程友好性(优先级)设置对Linux没有影响

您看到的行为几乎可以肯定是因为Linux 2.6.38(2010年)中添加了自动组功能.据推测,当您描述运行这两个命令时,它们在不同的终端窗口中运行.如果你在同一个终端窗口中运行它们,那么你应该看到nice值有效.这个答案的其余部分详细阐述了这个故事.内核提供了一种称为自动分组的功能,…

欧框语言框架标准C2,CEFR欧洲语言共同参考框架

http://www.v4.cc/News-3997660.htmlCEFR全称是Common European Framework of Reference for Languages&#xff0c;是由欧洲语言测试者协会(ALTE)于2001年首次发布的一套建议标准&#xff0c;用来评估语言学习者在所学语言的成就&#xff0c;同时也给予一个教育上的评估方针。…

车羊问题c语言编程,C语言-人狼羊菜问题-最容易看懂的解决方法及代码

题目描述&#xff1a;农夫需要把狼、羊、菜和自己运到河对岸去&#xff0c;只有农夫能够划船&#xff0c;而且船比较小&#xff0c;除农夫之外每次只能运一种东西&#xff0c;还有一个棘手问题&#xff0c;就是如果没有农夫看着&#xff0c;羊会偷吃菜&#xff0c;狼会吃羊。请…

c语言简短的泡沫排序法编程,冒泡排序--简单(c语言)

//// main.cpp// bubble//// Created by duanqibo on 2019/7/17.// Copyright © 2019年 duanqibo. All rights reserved.// 冒泡排序 c语言#include #include #include #include #define N 4typedef struct student{int num;char name[20];char sex[2];int age;}stu[…

c语言求a1到an的和,C语言菜鸟基础教程之a++与++a

(一)a在C语言或其它语言中&#xff0c;符号表示“自加”&#xff0c;就是变量在原来的基础上加1。例1&#xff1a;a 0;a;则此时a的值为1。同样的道理&#xff0c;--表示”自减”。例2&#xff1a;a 100;a--;则此时a的值为99。注意&#xff0c;程序语言里没有”自乘”和”自除…

c语言 u16 printf,C 语言printf打印各种数据类型的方法(u8/s8/u16/s16.../u64/double/float)(全)...

u16首先必须知道u8,s8等数据类型的定义&#xff1a;typedef signed char s8;typedef unsigned char u8;typedef signed short s16;typedef unsigned short u16;typedef signed int s32;typedef unsigned int u32;typedef signed long long s64;typedef unsigned long long u64;…

算法与数据结构c语言版PPT,C语言算法与数据结构.ppt

C语言算法与数据结构.ppt第十二章 算法与数据结构12.1 算法的基本概念,该节知识点所占试题比重为12&#xff0c;属于重点考查对象&#xff0c;基本上每次必考&#xff0c;主要考查算法的定义和对算法复杂度的理解。历次试题分值在04分之间波动。,12.1.1 考点1 算法的定义,算法是…

android 应用自动重启,Android 应用崩溃后自动重启的方法

public class HKApplication extends Application {private List activityList new ArrayList();Overridepublic void onCreate() {super.onCreate();// 以下用来捕获程序崩溃异常if (!Config.debug) {Thread.setDefaultUncaughtExceptionHandler(restartHandler); // 程序崩溃…

android+自定义版本号,Android打包版本号设置方法

之前没有设置过打包的命名&#xff0c;每次打包都是默认的"app-realease.apk"&#xff0c;之后手动修改名字来显示出它是一个新版本。晚上学习了如何配置打包名称&#xff0c;很简单&#xff0c;修改build.gradle里的代码就行。详细记录如下&#xff1a;1、打开app这…

android工程师饱和,Android开发是否饱和了?你所不了解的Android开发

原标题&#xff1a;Android开发是否饱和了&#xff1f;你所不了解的Android开发Android开发是否饱和了?是很多人关心的问题&#xff0c;对于想要从事Android开发的人更是头等大事。如今&#xff0c;就业难成横亘在求职者面前的难题&#xff0c;而与 之相反是互联网行业的高薪多…

android的读取xml配置文件,android中XMl文件的读取

废话不多说了直接上代码&#xff1a;新建一个Xml文件用于读取&#xff1a;test.xmljavaEclipseSwiftXcodeC#Visual Studio后台&#xff1a;import android.support.v7.app.ActionBarActivity;import android.os.Bundle;import android.util.Log;import android.widget.TextView…

android 获取wifi的加密类型,wifi加密类型

最近开发wifi方面的功能&#xff0c;需要根据wifi加密类型来展现UI。遇到了一个比较蛋疼的问题&#xff1a;如何判断wifi加密类型wifi的管理需要通过WifiManager来操作WifiManager mWifiManager (WifiManager) context.getSystemService(Context.WIFI_SERVICE);开启和关闭wifi…