日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

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

發(fā)布時(shí)間:2024/8/23 linux 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 csky linux 编译内核,TQ2440的EmbedSky_hello模块编译内核问题及解决 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

已在內(nèi)核代碼中添加EmbedSky_hello驅(qū)動(dòng)為例,進(jìn)行內(nèi)核編譯時(shí)候出現(xiàn)了一下幾個(gè)問(wèn)題:

1、在 /opt/EmbedSky/linux 2.6.30.4/drivers/char目錄下修改“Kconfig”文件,添加如下內(nèi)容:

config EmbedSky_HELLO

tristate "TQ2440/SKY2440 Hello Driver"

depends on ARCH_S3C2440

help

EmbedSky TQ2440/SKY2440 Hello.

后,別忘了在同目錄下的“Makefile”文件中添加如下內(nèi)容:

obj-$(CONFIG_EmbedSky_HELLO) +=EmbedSky_hello.o

將原來(lái)的 obj-$(CONFIG_TQ2440_HELLO) +=EmbedSky_hello.o 一句刪除。

然后,按照常理,在/opt/EmbedSky/linux 2.6.30.4/目錄下運(yùn)行#make menuconfig命令后在內(nèi)核配置界面里選擇Device Drivers -->....Character devices -->后會(huì)出現(xiàn)如下選項(xiàng):

<>TQ2440/SKY2440 Hello Driver

但在剛解壓的內(nèi)核中進(jìn)行上述工作,最后不會(huì)出現(xiàn)上面說(shuō)的配置選項(xiàng),這是為什么呢?原因在于沒(méi)有進(jìn)行系統(tǒng)類型的設(shè)置,也就是沒(méi)有和上面的“depends on ARCH_S3C2440”搭配好。現(xiàn)在需要進(jìn)行如下工作:

#make menuconfig命令進(jìn)入內(nèi)核配置界面,選擇“Load an Alternate Configuration File”,輸入路徑“arch/arm/configs/s3c2440_defconfig”,回車進(jìn)入到“System Type”選項(xiàng)配置菜單,將S3C2440 Machines選項(xiàng)下做如下選擇:只選擇SMDK2440和SMDK2440 withS3C2440 CPU module兩個(gè)選項(xiàng)。然后退回最初的配置菜單,選擇最下面的“Save an Alternate Configuration File”,將其保存為“.config”文件。在編譯系統(tǒng)時(shí)會(huì)自動(dòng)調(diào)用該文件。

再進(jìn)行驅(qū)動(dòng)配置就會(huì)出現(xiàn)“ <>TQ2440/SKY2440 Hello Driver”選項(xiàng)了。

2、在內(nèi)核目錄下運(yùn)行命令“make SUBDIR=drivers/char/ modules”生成EmbedSky_hello.ko文件(在drivers/char/目錄下),將其復(fù)制到開(kāi)發(fā)板 /lib 目錄下,按常理當(dāng)運(yùn)行“#insmod EmbedSky_hello.ko”加載模塊命令后,會(huì)顯示EmbedSky_hello.c文件中printk指令所定義的出輸出內(nèi)容。但是事與愿違,出現(xiàn)了如下錯(cuò)誤提示:

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

出錯(cuò)原因:模塊版本與內(nèi)核版本不匹配!

解決辦法:導(dǎo)入預(yù)設(shè)配置信息,進(jìn)入menuconfig 繼續(xù)配置General config ->......Local version -> 加入如下內(nèi)容:“-EmbedSky ”退出保存為 .config ,重新編譯內(nèi)核,將EmbedSky_hello.ko復(fù)制到板子,然后再“#insmod EmbedSky_hello.ko,然后就congratulations,you succeed啦!^_^

總結(jié)

以上是生活随笔為你收集整理的csky linux 编译内核,TQ2440的EmbedSky_hello模块编译内核问题及解决的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。