移植友善Linux到友坚210开发板:LCD驱动与内核改造

5星 · 超过95%的资源 需积分: 9 5 下载量 31 浏览量 更新于2024-09-13 收藏 319KB PDF 举报
"友坚210的lcd屏驱动移植" 在本文中,我们将探讨如何将友善的Linux内核linux-2.6.35.7移植到友坚210开发板上,以解决该板在Linux系统上的兼容性问题。友坚210是一款基于Cortex-A8处理器的开发板,但在核心版上缺乏片选线,限制了对自定义总线设备的连接。因此,用户通常选择使用具有更多资源和支持的android210开发板,但其文档和资源相对匮乏。 传统的解决方案是使用三星公司提供的SDK模板,因为很多开发板硬件设计都基于此模板。然而,尝试直接将Linux 3.0.x内核配置为适应SMDK210并未成功,导致启动失败。在这种情况下,作者决定采用友善科技的Linux 2.6.35.7内核,并利用superboot工具来启动。尽管内核得以启动,但遇到了LCD屏幕不亮、网络连接问题等挑战。 经过分析,作者发现两家公司的内核配置存在显著差异,尤其是在`arch/arm/mach-s5pv210/mach-mini210.c`(友坚是mach-sdmkv210.c)文件中。这个文件是针对特定平台定制的关键部分。LCD屏幕未亮起的问题并非硬件本身的缺陷,而是背光引脚配置不同。通过对这两个文件进行diff比较,作者修改了与背光和触摸屏相关的部分,以适应友坚210的硬件。 移植过程涉及到了以下几个关键知识点: 1. **内核配置**:内核配置对于硬件的识别和驱动加载至关重要。友善科技和友坚科技的内核配置存在差异,这需要开发者深入理解内核配置选项,并根据目标硬件进行适配。 2. **设备驱动**:LCD屏幕驱动是内核的一部分,需要根据具体硬件的接口和特性进行编写或修改。在这个案例中,背光引脚的配置差异导致了LCD屏幕无法正常显示,通过修改内核源码解决了这个问题。 3. **硬件兼容性**:由于开发板硬件设计的不同,直接使用第三方内核可能会遇到兼容性问题。这需要开发者具备阅读和理解硬件数据手册的能力,以便对内核源代码进行适当修改。 4. **内核源码对比**:通过使用像Kompare这样的工具进行源码差异比较,开发者可以定位到不同之处,从而进行针对性的调整。 5. **启动引导工具**:superboot在这里扮演了启动内核的角色,帮助用户绕过某些硬件初始化问题,但并不能解决所有问题,如LCD驱动和网络连接等。 6. **调试技巧**:当遇到启动问题或驱动问题时,通过观察设备的其他功能(如串口、USB等是否正常工作)来缩小问题范围,是一种有效的调试方法。 友坚210的lcd屏驱动移植涉及到Linux内核的深度定制和硬件驱动的适配,需要开发者具备扎实的Linux内核知识以及对硬件原理的理解。通过不断尝试和分析,最终可以解决兼容性问题,使得友坚210能够在Linux系统下顺利运行。
2017-03-22 上传