DM3730,OMAP3530,EVM板子开发经验分享以及Pandaboard ES问题探究

很久没发发博,最近收到很多人的私信,都是关于Pandaboard ES这块板子的,本人觉得他们目前最渴望的是成功编译

x-load,uboot,kernel,filesystem(Android),并且放在板子上能完美的跑起来,暂时放开了底层驱动,乃至上层应用的开发

(这是后开发的关键,移植、驱动只是搭建平台);


简单说起,存在各种问题种种的本质原因是什么?深思一下,放佛自己也经历过这段时期,一个无人指导,疯狂对着英文

文档寻找突破的艰难时期。大家不要急,弄底层是相当考耐力,经得起沉寂的。总结一下,有以下3个问题你得先着手开

始思考,值得深思:


1、你有用源码查看工具看过linux内核吗?x-load、u-boot代码总看过分析过吧?

2、开发前,你是先看芯片手册datasheet,对芯片了解了才去裁剪,还是一开始编译就直接make ****.defconfig,然后uImage

出来了,target目录出了Android目录,就感觉有成就感,是否要看看这到底是什么回事,层与层是什么关系?想想这样做有

什么后果?只举一个例,不同引脚的mcu封装,难道源码会给你提前配好适合你的封装吗?可以说,就算配对了也是巧合而已。

必须查看分析代码,进行必要的修改。


3、关于底层驱动,个人感觉很多说曾经驱动过LED的人,不知道领悟到了linux对模块的处理没有?还有一个问题,很多人误认

为linux驱动程序,对底层的硬件可以直接取地址进行操作......本人觉得这些人改认真看看文档看看基础书籍;对于那些连

operation_file opts的作用都搞不清,里面的函数意义是什么都还没弄懂的,建议不要太浮躁,慢慢来,一点一点弄懂它。

不然你就更别想研究安卓驱动了,安卓驱动层层封装,在安卓,想用做成framwork service的api给java开发人员调用设备IO等,

是不简单的。可以简单的从起点/dev/test 设备节点,上升到一个java的service,中间经理HAL封装,JNI,到JNI之后,是java开

发人员的事情了.....底层linux驱动没搞定,暂时就别想了,如果做也只能用虚拟的设备节点或者原有的设备文件做测试。

其实搭建好平台,驱动好自己的设备后,当然是非常有趣的上层应用开发。近日在用简单的QT界面,对设备做了测试,平台是

EVM3730,面向对象编程总是那么友好,这里不便宜暴露我弄的是什么系统或者服务器,嵌入式开发就是非常简单的就可以实

现人民的想法,而开发过程中,我觉得乐趣在于设计系统,继承关系,用什么设计模式,考虑到效率。还有不可忽视的是规范,

代码规范,版本控制是一个优秀的工程师的前提条件,这里分享tortoiseSVN这个版本控制软件,以及doxygen自动文档生成软件,

Google C++规范,这些都是良好开发人员优秀的表现。


当然,开发的目的是为了产品,项目,一个设计不满足与需求都是没有意义的,一个产品一个项目社会没有需求更加没有价值

可言,或者你个人可以开发一台自己的手机,从中获得很多乐趣,这是对自己的价值,当然也不能埋没。可是时间就在这,或许你

可以更多的时间做其他事情,这里就涉及选择的问题,很多时候并不是自己选的,但是在未来你肯用她作为你的“老婆”,这就是

中国,我有个朋友就是这样,家里人介绍婚事由于双方利益就成了,抛弃了原来的女朋友。


说多了,祝各位玩技术愉快,如果觉得玩技术痛苦,建议换工作了吧,这不适合你。


你可能感兴趣的:(嵌入式底层开发,Linux内核的一点事,tortoisesvn,linux内核,jni,linux,service,文档)