uclinux驱动程序简单方便的调试方法——动态加载调试方式


对于uclinux来说,调试驱动和应用程序是一个复杂的过程,如果每做一次修改,就要编译一次内核,其工作量是相当巨大的,所以找到一种简单方便的调试方法非常重要,而静态加载驱动和应用程序是工程的最终形式。
记下建立步骤用来备忘和以飨像我这样的小菜虫们,呵呵   (uclinux源码版本为20060311)
1、配置内核:
   功能包括 nfs客户服务端 + 可加载模块功能
   在内核配置界面 :
   Loadble module support ---> [*] Enable loadable moudule support 
                                 [*] Kernel moudule loader(NEW)
   Flie systems ---> Network File Systems ---> <*> NFS file system support
                                               [*] Provide NFSv3 client support
   Networking options ---> [*] IP: fast network address translation
   用户配置界面:
   Network Applications ---> [*] portmap
   BusyBox ---> [*] insmod
                [*] lsmod
                [*] rmmod
2、make dep
   make clean
   make lib_only
   make user_only
   make romfs
   make linux
   make
   下载uclinux_rom.bin到开发板
3、建立开发板与VMlinux的NFS连接 (见 随笔 《uclinux 驱动开发配置》)
4、编写驱动程序
5、编写应用程序
6、在vmware_linux(fedora 10)打开minicom终端   (见 随笔 《uclinux 驱动开发配置》)
7、启动开发板 输入命令:
   >/cd var
   >var/ mkdir mnt
   >var/portmap &   (打开NFS客户端)
   >var/ifconfig eth0 192.168.1.155 (vmware_linux IP 为 192.168.1.107)
   >var/mount -t nfs -o nolock 192.168.1.107:/home/armwork/mnt /var/mnt
8、将编译好的驱动程序.o文件(例 gpio.o) 和 驱动应用程序(例 led  beep) 传到 /var/mnt中
9、输入命令:
   >var/mnt/ insmod gpio.o
   >var/mnt/ lsmod   (查看有没有加载进)
   >var/mnt/ ./led   
   >var/mnt/ ./beep 
10、执行不成功,只需修改.c 源码,再编译后,传到/var/mnt中执行调试,很方便。
11、调试成功后,将驱动程序和驱动应用程序加载到内核,编译内核载入就OK了。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值