很久没发发博,最近收到很多人的私信,都是关于Pandaboard ES这块板子的,本人觉得他们目前最渴望的是成功编译
x-load,uboot,kernel,filesystem(Android),并且放在板子上能完美的跑起来,暂时放开了底层驱动,乃至上层应用的开发
(这是后开发的关键,移植、驱动只是搭建平台);
简单说起,存在各种问题种种的本质原因是什么?深思一下,放佛自己也经历过这段时期,一个无人指导,疯狂对着英文
文档寻找突破的艰难时期。大家不要急,弄底层是相当考耐力,经得起沉寂的。总结一下,有以下3个问题你得先着手开
始思考,值得深思:
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++规范,这些都是良好开发人员优秀的表现。
当然,开发的目的是为了产品,项目,一个设计不满足与需求都是没有意义的,一个产品一个项目社会没有需求更加没有价值
可言,或者你个人可以开发一台自己的手机,从中获得很多乐趣,这是对自己的价值,当然也不能埋没。可是时间就在这,或许你
可以有更多的时间做其他事情,这里就涉及选择的问题,很多时候并不是自己选的,但是在未来你肯用她作为你的“老婆”,这就是
中国,我有个朋友就是这样,家里人介绍婚事由于双方利益就成了,抛弃了原来的女朋友。