将裸板ADS程序移植为linux驱动程序的一些心得
来源:互联网 发布:阿里云301重定向 编辑:程序博客网 时间:2024/06/05 09:44
在做linux下串口驱动、I2C驱动、摄像头驱动的时候,我手里刚好有运行正常的裸板运行的ADS程序,并且在裸板条件下串口、I2C、摄像头都运行正常。我现在要做的工作就是把这些代码移植到linux下,并让他们稳定运行。这里把我进行移植的一些收获写一下:
1,裸板下的寄存器地址在linux下是不能直接用的,最后都需要用ioremap_nocache来做地址变换;
2,用ioramap做地址变换的时候最好在程序最一开始把所有寄存器都变换好,不然如果在有中断处理程序的时候,中断处理程序中是不能使用ioremap的,因为ioremap是会导致系统等待或睡眠的,但是如果中断处理程序如果是快速中断,即不能被打断的中断,那么ioremap就会造成系统异常。
3,裸板的中断请求和linux的中断请求方式不大一样,linux下调用request_irq代替裸板中的请求就可以了。
4,裸板的内存分配和linux当中也不一样,在移植摄像头驱动的时候,裸板代码只使用了一个全局数组来存放视频采集的数据,用做DMA处理,但是在linux下就不能使用全局数组,必须调用内存分配函数kmalloc等,并使用GFP_DMA这个标志来开辟专用于DMA的内存。并且在把内存地址传给寄存器的时候,还需要把虚拟地址转换为物理地址才可以。
- 将裸板ADS程序移植为linux驱动程序的一些心得
- 移植uCOS到STR9的一些心得
- 嵌入式Linux平台USB驱动程序的移植
- 摄像头驱动程序 Arm-Linux摄像头驱动程序的移植
- linux按键驱动程序心得
- 将VC程序移植到Linux系统的几点经验心得
- 编译linux驱动程序出现的一些问题
- UCOS_II的移植到S3C2440 ADS 1.2
- UCOS_II的移植到S3C2440 ADS 1.2
- ADS与IAR的相互移植
- GPIO驱动程序的移植
- .net的一些反编译程序的心得.
- s60 2nd 移植到 3rd 的一些心得
- Doja移植的一些心得,提供参考 [转]
- U-boot移植的一些记录和心得
- 调试Windows Service 程序的一些心得
- 关于程序方面的一些心得
- 关于程序调式的一些心得!
- Eclipse窗口显示:独立、嵌入式
- ubuntu 解决 mp3 乱码
- 关于n个平面最多分空间为几个部分的问题的讨论
- 离线配置Android开发环境
- dotproject安装指南
- 将裸板ADS程序移植为linux驱动程序的一些心得
- WordPress学习笔记
- 线性规划与网络流24题 02太空飞行计划问题
- 我的新博客
- nginx php-fpm调优
- oracle sqlplus连接服务器
- php-fpm.conf两个至关重要的参数
- Win7也能创建软连接,太爽了
- C函数之memcpy()函数用法