天嵌 ARM开发社区

 找回密码
 注册
查看: 2342|回复: 8

驱动测试程序编译问题

[复制链接]
jonnyju 发表于 2010-6-23 19:47:21 | 显示全部楼层 |阅读模式
用自带的文件系统
然后,编写lled驱动

用的动态加载驱动的方法
NFS到开发板后,insmod成功,/dev/下也出现设备文件
但运行测试程序时,出现
-bin/sh: led_test :not found

编译测试程序命令:arm-linux-gcc -o led led.c
编译成功
但运行出错,这是为什么?
亚瑟王 发表于 2010-6-24 12:22:23 | 显示全部楼层
问一下,你是怎么运行的,然后出什么错误?
 楼主| jonnyju 发表于 2010-6-24 18:18:21 | 显示全部楼层
arm-linux-gcc -o led_test led_test.c
生成的led_test文件拷到板子的/usr/bin下

led_test on
出现:
-bin/sh: led_test :not found
 楼主| jonnyju 发表于 2010-6-24 19:50:38 | 显示全部楼层
arm-linux-gcc -o led_test led_test.c -static
后面加个-static就可以,这是为什么
我是用贵公司出厂的文件系统的。
 楼主| jonnyju 发表于 2010-6-26 12:04:50 | 显示全部楼层
arm-linux-gcc -o led_test led_test.c -static
后面加个-static就可以,这是为什么
我是用贵公司出厂的文件系统的。
亚瑟王 发表于 2010-6-26 19:04:23 | 显示全部楼层
1、加static是静态编译,就不需要文件系统中的lib库的支持了。
2、你的arm-linux-gcc的版本是什么?制作文件系统的交叉编译器的版本是什么?如果是天嵌科技提供的2.6.30.4的文件系统是使用的4.3.3的编译器。
 楼主| jonnyju 发表于 2010-6-27 09:24:04 | 显示全部楼层
是3.4.5的,用静态编译的也是可以用的,是不是换成4.3.3的就可以不用静态编译了吗?
或者是跟Makefile的写法有关,下面是我的Makefile:
  1. DEVICE = led_gpio
  2. KERNELDIR = /home/jrq/Work/Source/linux-2.6.30.4
  3. PWD := $(shell pwd)
  4. CROSS_COMPILE = /opt/EmbedSky/crosstools_3.4.5_softfloat/gcc-3.4.5-glibc-2.3.6/arm-linux/bin/arm-linux-
  5. CC = $(CROSS_COMPILE)gcc

  6. obj-m := $(DEVICE).o

  7. modules:
  8.         $(MAKE) -C $(KERNELDIR) M=$(PWD) modules
  9.         arm-linux-gcc -o led_gpio_test led_gpio_test.c -static
  10. clean:
  11.         rm -rvf $(DEVICE).ko $(DEVICE).mod* *.o  module* Module* .$(DEVICE).* $(DEVICE)_test

  12. .PHONY: modules clean
复制代码
亚瑟王 发表于 2010-6-28 21:38:07 | 显示全部楼层
是的,换成4.3.3的不用静态的也可以。因为3.4.5的库和4.3.3的库不兼容。
亚瑟王 发表于 2010-6-28 21:38:29 | 显示全部楼层
你把第4行指定的编译器改成4.3.3的就行了。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2024-9-20 03:00 , Processed in 1.025430 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表