LUO

LUO

3个粉丝

9

问答

0

专栏

0

资料

LUO  发布于  2023-08-16 18:07:20
采纳率 0%
9个问答
836

学习君正T31ZL驱动遇到问题

   

初学LINUX驱动自己在电脑写了一个简单hello的驱动程序也编译通过了但是在T31ZL上却出现-sh: ./hello_test: not found问题,查了一下说是缺少库,发现缺少/lib/ld.so.1,我是要改内核吗?只需要把这个缺少的库复制到内核中就行了?请大佬帮我解决疑惑?

我来回答
回答9个
时间排序
认可量排序

UncleRoderick

32个粉丝

14

问答

1

专栏

14

资料

UncleRoderick 2023-08-16 19:35:47
认可0

这种一般是编译器用的不对,要用交叉编译器去编译你的程序

LUO
LUO   回复   UncleRoderick  2023-08-17 09:20:31
0

但是我确实用的交叉编译器啊,这是我的Makefile:,还有什么地方要改吗?

LUO
LUO   回复   UncleRoderick  2023-08-17 09:32:31
0

这是我编译后

UncleRoderick
UncleRoderick   回复   LUO  2023-08-17 09:51:02
0

看这个信息又没有问题,sdk demo编译的时候的CFLAGS打印下看看,然后把CFLAGS用到你的demo编译上

LUO
LUO   回复   UncleRoderick  2023-08-17 16:30:44
0

根据你的方法,我应该找到问题了,我自己写的驱动程序

链接的是/lib/ld.so.1,SDK中demo应该链接/lib/ld-uClibc.so.0

,链接的库不一样,所以不能运行

LUO
LUO   回复   UncleRoderick  2023-08-17 16:32:12
0


我照着SDK中的Makefile改了改我的Makefile结果出现unrecognised emulation mode: uclibc,但是我检查了我的工具链是支持 uClibc的

LUO
LUO   回复   UncleRoderick  2023-08-17 16:50:28
0

这是SDK中demo的Makeflie它就可以正确链接uclibc,这是我照它改的Makefile,我就链接不了uclibc,不知道为什么?

UncleRoderick
UncleRoderick   回复   LUO  2023-08-17 16:56:33
0

因为他的是$(CC) -C $(CFLAGS) $< -o $@,CFLAGS里面有 -muclibc
你的是$(CC) -o hello_test hello_test.c
改成$(CC) -o hello_test hello_test.c -muclibc试试

LUO
LUO   回复   UncleRoderick  2023-08-17 17:31:35
0


改了,还是不行

或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
相关问答
无更多相似问答 去提问
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区