arm9 编写linux驱动,ARM9开发板上开发驱动程序步骤

在开发一个驱动程序之前,要先做许多配置工作,首先是要把2.6.32.2版本linux内核拷贝到ubuntu10.10其中一个文件夹中,linux内核版本号必须得跟开发板内核版本一样。本设计把内核放在共享文件夹(share)中,然后再修改内核中linux2.6.32.2/driver/char文件夹里面的Kconfig脚本文件,本设计采用putty远程登录到ubuntu系统,并用串口线打印信息到PC显示器。用vi编译器开发出来的超声波驱动程序的名称是TIMER_IRQ ,在Kconfig脚本文件里面添加TIMER_IRQ的代码如下:

config TIMER_IRQ

tristate

"TIMER_IRQ Support for Mini2440 GPIO IRQ"

depends

on MACH_MINI2440 default m if MACH_MINI2440

help

This option enables support for TIMER_IRQ connected to GPIO

lines

on Mini2440 boards.

完成之后保存退出,然后用指令cd退回到linux2.6.32.2路径下,敲指令make menuconfig

后会出现内核配置界面,如下图20:

blog_7231978b0100rgwn.html

蓝色标识那一行就是新配置成的块编译项,左边中括号里的“M”表示编译成模块形式,不需要编译的模块必须得把“M”选项去掉,换成空格形式,以后在编译模块的时候内核就会根据这个配置项来编译驱动程序。

上面修改Kconfig脚本文件只是实现在了通知内核该编译哪些驱动程序,至于内核是怎样编译驱动程序的还需要修改Makefile文件,添加了连接代码之后内核每次在编译时就会找到源驱动代码,以及编译成目标代码。同样用切换指令cd进入/driver/char/路径下,用vi编译器打开Makefile文件,敲入指令为

vi Makefile,出现如图21所示:

blog_7231978b0100rgwn.html

在脚本文件里面添加如下代码:

obj-$(CONFIG_TIMER_IRQ)  +=

timer_irq.o

CONFIG_TIMER_IRQ是配置好的源代码名称,timer_irq.o是内核要编译成的目标文件。

配置好了Makefile文件之后,回到linux2.6.32.2路径下,敲入make modules

指令,内核开始编译驱动程序,编译过程如:后生成了timer_irq.ko文件,说明程序编译成功,如下图22:

blog_7231978b0100rgwn.html

最后把timer_irq.ko二进制文件下载到ARM9开发板,就可以开始调试运行了。下载程序步骤如下,首先是把timer_irq.ko文件拷贝到ubuntu的nfsroot目录下:

cp linux2.6.32.2/driver/char/timer_irq.ko

~/nfsroot

回车后没提示任何信息则拷贝成功,然后启动开发板,如下图21,kermit串口已经连接通了,再挂载共享文件,敲入如下命令:

mount –t nfs 202.192.33.129:/home/linter/nfsroot /mnt –o

nolock

回车后没提示任何信息则挂载成功,回到开发板终端,进入mnt目录:

cd /mnt

可以看到timer_irq.ko文件,再把timer_irq.ko文件下载进内核,如下命令:

insmod timer_irq.ko

这样超声波模块的驱动程序开发并下载成功,如下图23。

blog_7231978b0100rgwn.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
针对在ARM Linux上进行hi3516应用程序开发,我可以为你提供一些基本的指导。 首先,你需要准备一个开发环境,包括一个ARM Linux开发板或者嵌入式系统、交叉编译工具链和相关的SDK或开发包。 接下来,你可以按照以下步骤进行应用程序开发: 1. 了解hi3516芯片的技术规格和功能,包括其处理器架构、外设接口以及支持的操作系统等。 2. 在开发板上安装和配置ARM Linux操作系统,确保你可以正常访问和控制开发板。 3. 下载和配置hi3516的SDK或开发包,这些软件包通常包含了设备驱动程序、库文件以及示例代码等。 4. 使用交叉编译工具链编写C/C++或者其他支持的语言的应用程序代码。你可以使用文本编辑器或者集成开发环境(IDE)进行代码编写。 5. 在编写代码时,根据hi3516的技术文档和示例代码,使用相应的API或者库函数进行设备的初始化、配置和控制等操作。 6. 编译你的应用程序代码,并将生成的可执行文件通过网络或者其他方式传输到目标设备上。 7. 在目标设备上运行你的应用程序,进行测试和调试。你可以通过终端或者远程登录的方式执行应用程序,并观察其输出结果和行为。 8. 根据你的需求,不断优化和完善你的应用程序,确保其功能和性能达到预期。 这只是一个大致的开发流程,具体的步骤和细节可能因为你的具体应用场景而有所不同。建议你参考hi3516的官方文档和开发者社区,获取更详细和准确的指导。祝你在hi3516应用程序开发中取得成功!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值