亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 53404 | 回復: 1
打印 上一主題 下一主題

hello驅(qū)動模塊交叉編譯錯誤 [復制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2017-09-19 17:57 |只看該作者 |倒序瀏覽
本帖最后由 KenZhang1031 于 2017-09-19 18:02 編輯

海思交叉編譯器,編譯hello模塊錯誤,linux內(nèi)核目錄在/root/hisi/Hi3531_SDK_V1.0.B.0/osdrv/kernel/linux-3.0.y,hello目錄在/root/hisi/MyDriver/hello,里面的Makefile為:
  1. PWD         := $(shell pwd)
  2. KERNEL_DIR   = /root/hisi/Hi3531_SDK_V1.0.B.0/osdrv/kernel/linux-3.0.y
  3. MODULE_NAME  = hello
  4. ARCH = arm
  5. CROSS_COMPILE = arm-hisiv200-linux-
  6. CC    = $(CROSS_COMPILE)gcc
  7. obj-m       := $(MODULE_NAME).o   
  8. modules:
  9.         make -C $(KERNEL_DIR) M=$(PWD) modules
  10. clean:
  11.         rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions

  12. .PHONY: modules clean
復制代碼
內(nèi)核已經(jīng)用make ARCH=arm CROSS_COMPILE=arm-hisiv200-linux- uImage編譯成功了
編譯hello模塊的時候,執(zhí)行make,錯誤如下:
  1. [root@KenCentOS hello]# make
  2. make -C /root/hisi/Hi3531_SDK_V1.0.B.0/osdrv/kernel/linux-3.0.y M=/root/hisi/MyDriver/hello  modules
  3. make[1]: Entering directory `/root/hisi/Hi3531_SDK_V1.0.B.0/osdrv/kernel/linux-3.0.y'
  4.   CC [M]  /root/hisi/MyDriver/hello/hello.o
  5. cc1: error: unrecognized command line option "-m64"
  6. cc1: error: unrecognized command line option "-mno-red-zone"
  7. cc1: error: unrecognized command line option "-mcmodel=kernel"
  8. cc1: error: unrecognized command line option "-maccumulate-outgoing-args"
  9. cc1: error: unrecognized command line option "-mno-sse"
  10. cc1: error: unrecognized command line option "-mno-mmx"
  11. cc1: error: unrecognized command line option "-mno-sse2"
  12. cc1: error: unrecognized command line option "-mno-3dnow"
  13. cc1: warning: unrecognized command line option "-Wno-unused-but-set-variable"
  14. make[2]: *** [/root/hisi/MyDriver/hello/hello.o] 錯誤 1
  15. make[1]: *** [_module_/root/hisi/MyDriver/hello] 錯誤 2
  16. make[1]: Leaving directory `/root/hisi/Hi3531_SDK_V1.0.B.0/osdrv/kernel/linux-3.0.y'
  17. make: *** [modules] 錯誤 2
復制代碼
但是Makefile里面改成make ARCH=arm CROSS_COMPILE=arm-hisiv200-linux- -C $(KERNEL_DIR) M=$(PWD) modules就能編譯成功
為什么前面定義的ARCH=arm 和 CROSS_COMPILE=arm-hisiv200-linux- 不起作用,要在make語句定義才有用呢?

論壇徽章:
1
15-16賽季CBA聯(lián)賽之新疆
日期:2017-03-09 12:33:45
2 [報告]
發(fā)表于 2017-09-19 20:02 |只看該作者
回復 1# KenZhang1031

你修改

  1. PWD         := $(shell pwd)
  2. KERNEL_DIR   = /root/hisi/Hi3531_SDK_V1.0.B.0/osdrv/kernel/linux-3.0.y
  3. MODULE_NAME  = hello
  4. ARCH = arm
  5. CROSS_COMPILE = arm-hisiv200-linux-
  6. CC    = $(CROSS_COMPILE)gcc
  7. obj-m       := $(MODULE_NAME).o  

  8. export ARCH CROSS_COMPILE
  9. modules:
  10.         make -C $(KERNEL_DIR) M=$(PWD) modules
  11. clean:
  12.         rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions

  13. .PHONY: modules clean
復制代碼
這樣就可以了。
加了
  1. export ARCH CROSS_COMPILE
復制代碼

評分

參與人數(shù) 1信譽積分 +50 收起 理由
KenZhang1031 + 50 問題解決

查看全部評分

您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP