`
johnson.lee
  • 浏览: 51775 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

从Java到嵌入式(一)——嵌入式入门

阅读更多
  近一个月以来,开始研究ARM,由于没有基础,所以一路下来,经历了千磨万炼,终于小有收获,特写此博客与人分享。

  首先自己介绍一下,本人生物科学专业毕业,在校一直自学计算机编程,从Flash、网页、VB、Java,C语言算是大学的必修课咯。08年毕业后从事JavaEE开发,2010年转做JavaSE,从事Eclipse插件开发(也是自学的)。

  之前没有电子电路基础,对PCB、串口、并口、电平这些概念还是一头雾水,就开始投入ARM的学习中。学习最重要的就是实践,所以立刻就买了一块FriendlyARM mini2440开发板,买了个嵌入式微型打印机(荣达)、二维码扫描器(矽感)、还有个SONY芯片的工业相机(加拿大PointGray),至于为什么买这些设备,恕不方便透露。两三天的时间,设备陆续买回来了,可一看到设备,就傻眼了,打印机和二维码扫描器的数据线接口怪模怪样的排线,打印机是10pin双排的串口,而扫描器是12pin很薄的卡式接头,电源和数据线在一起,可我的开发板上只有一个DB-9的串口和四个从DB-9引出的4pin的TTL电平串口。怎么办呢?网络呀!对!怎么把这茬忘了,于是到Q_Q群里问,关于电源怎么接呀,串口怎么接呀,但结果都不理想,唉,看来没办法了。还得靠自己。于是静下心来开始分析问题(心静很重要,当时遇到问题后在群里问的那会儿,别提有多急躁了)。

  正所谓,求人不如求己,仔细阅读设备的用户手册,mini2440的用户手册,打印机的用户手册,扫描器的接线说明等等。可一骝下来,都是些电路图,还有些专业符号,看不懂,咋办?还好在群里有个叫"小树"的朋友,推荐我看看郭天祥的视频(在此非常感谢他,给了我指引了正确的方向)。于是乎,从verycd上down下视频,走马观花似的,花了两个晚上快速浏览了一遍,对PCB(印刷电路板)以及电路中的部分电子元件符号有了一定的了解(刚开始连PCB是什么都不知道),对正负极,GND(地线)有了新的认识。说说正负极的问题吧,根据高中的物理知识,一直以为电路要有正负极,这样才能构成一个回路。地线倒是听说过,可没听说电路板上还有地线呀,有一次在Q_Q群里问问题的时候,听到有人说地线就是负极,这下我就晕了,不光是地线,还有电压为负的呢!可以前没听说过呀,高中学的不是地线和正负极是分开的吗(可想我有多可爱了吧)?怎么?后来有人解释说地线就是电势为0的地方,当电路中有电势差时,电流就从电势高的一端流向低的一端,这样就形成了电流。哦!我恍然大悟!简直是一语道破天机呀!对于GND,广义上是地线,但是也分电源地和信号地,不过一般没有严格的区分。几天下来,收益良多,同时也感慨万千呀,总算能认得清电路图中的符号了。

  手册是看了,光纸上谈兵是不能把电源和串口接上来的呀,于是,先上淘宝淘几样DIY必备宝贝,万用表(数字的)是少不了的,还有电烙铁、溶胶枪,螺丝刀套装(数字万用表和溶胶枪是我在我们公司里看到了才知道还有这玩意儿)加起来一百元不到,就搞定了。工具是有了,可线怎么接上去呢?排线接头都对不上来。于是想到找排线头,可哪里有呢?先到卖电脑配件,还有修手机的店里问了下,没有。于是Google,原来还有电子市场哦(又长了见识了),有个赛格电子市场,好家伙,于是查好路线,周末带好设备过去,配接头和接口,除了扫描器的排线头没配到,基本上都齐了,还买了些接电源用的线,排线,串口公母头,虽然东西不多,还花了我RMB30(感觉像是被宰了)。回到家就开始对着万用表说明书看看,插上电烙铁,对着手册的引脚定义,把打印机的10pin的串口排线的另一端焊上DB-9的串口接头。其实串口主要是两根线起作用,一根用来发信号(TXD),一根用来收信号(RXD),还有根地线(GND),其它的线都是起辅助作用,只要收发线接好就OK了。接着做电源线,没有卡线钳,还好有把镊子,虽然慢了点,而且不太好使,但做出来的效果跟用钳子做出来的一样漂亮(心里终于得到了一丝满足)。

  mini2440开发板上提供了一个4pin电源接口,外侧2pin是正极,中间两pin是地线(也就是负极),外侧的两个正极中,一个是直接与外电路相通的,不通过开发板的电源开关的,只要板子通上电(不打开电源开关)就有电,另一个是经过板子的电源开关的,只有板子的电源打开才有电。线头做好后,插入接头。为打印机接上电源,看到打印机指示灯亮了,电路就通了,按照说明书做自检测打印,嘿!还真打印出字来了,搞定!不过还是怀疑串口是否接对了,可笔记本没串口(当初买笔记本的时候不知道DELL的家庭个人版和商务版有什么区别,现在终于懂了,原来个人版的机器没有串口和并口,只适合于家庭个人娱乐用,不适合做开发)!我的天!还好我淘了根USB转串口线,用超级终端连板子测试过,是没问题的。连打印机不知道行不行,于是下载了个串口调试助手——UARTAssit,按说明书的参数配置好后,向打印机发送数据,居然没反应,调试助手也卡住不动了,傻眼了。咦,公司的台式机好像有串口,嘿嘿,打了个如意算盘,于是第二天带着板子到公司里,连上串口用调试助手一测试,OK!终于松了口气了。

  接下来的问题就是相机没有Linux驱动,咋办?凉拌?!于是Email给PointGray的技术支持,第一次用English写Email,自我感觉良好 ^_^,Email是晚上十一点多发的,一点左右就收到回信了,可能加拿大是白天,刚上班吧。技术支持建议用libdc1394这个软件包,可以在Linux下控制1394接口的相机。于是在虚拟机中装上Redhat9(虽然老了点,但是用习惯了),配置好VSFTP,下载libdc1394源代码编译安装,安装过程中好像没什么问题,发现源代码中有测试程序,运行一下helloword.a测试一下,居然报个错说什么初始化失败。这下就晕了呀,怎么办,Google呗!Goo了半天,终于找到了葵花宝典——"libdc1394-HOWTO.pdf",一看,不得了,原来内核中没有1394设备驱动,得要重新编译内核,于是,我便开始了漫长的内核升级之旅。内核升级详情,待续。
分享到:
评论
1 楼 Wuaner 2011-03-04  
祝楼主早日学有所成!  报效祖国
现在的工作是j2ee开发还是已转嵌入式岗位了啊?

相关推荐

    java面试题及技巧4

    │ 164个完整Java代码.zip │ J2EE综合--Struts常见错误的全面汇总.txt │ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+...

    java面试题目与技巧1

    │ 164个完整Java代码.zip │ J2EE综合--Struts常见错误的全面汇总.txt │ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+...

    java面试题以及技巧

    │ 164个完整Java代码.zip │ J2EE综合--Struts常见错误的全面汇总.txt │ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+...

    java面试题及技巧3

    │ 164个完整Java代码.zip │ J2EE综合--Struts常见错误的全面汇总.txt │ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+...

    java面试题以及技巧6

    │ 164个完整Java代码.zip │ J2EE综合--Struts常见错误的全面汇总.txt │ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+...

    毕设&课设&项目&实训-《软硬结合——从零打造物联网》 基于JS的物联网教程。.zip

    有任何使用问题欢迎随时与博主沟通,第一时间进行解答!该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 基于STM32、ESP8266、PHP、QT、应用软件开发、系统...

    毕设&课设&项目&实训-基于 Vue 2.0 的移动端UI组件库.zip

    毕设&课设&项目&实训GreeUI组件库文档 —— 一套基于 Vue 2.0 的移动端UI组件库(专为物联网研究院前端小组Mobile App开发而生).zip所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎...

    精通Qt4编程(第二版)源代码

    Qt相关的另一个产品——Qt Jambi,则是基于Qt库构建的,面向Java程序员的应用程序框架。另外,还有一些开源的在其他语言上的Qt绑定,如C#/Mono的绑定Qyoto,Python的绑定PyQt,Ruby的绑定QtRuby等。有了这些产品,...

    精通qt4编程(源代码)

    Qt相关的另一个产品——Qt Jambi,则是基于Qt库构建的,面向Java程序员的应用程序框架。另外,还有一些开源的在其他语言上的Qt绑定,如C#/Mono的绑定Qyoto,Python的绑定PyQt,Ruby的绑定QtRuby等。有了这些产品,...

    C程序设计语言(第2版·新版中文)

    作者其他资源编程大讲坛:C语言核心开发技术从入门到精通(光盘代码) C语言库函数功能查询器(绿色版) 共有评论81条 hua5040发表的评论 学习,收藏。。。 时间:2010-10-22 18:09:48 来自:58.60.231.* ...

    新版Android开发教程.rar

    � Android 更像一款桌面环境为 Java 的 Linux 操作系统。有助于 Google 实现其 " 随时随地为每个人提供信 息 " 的企业战略。 HTC HTC HTC HTC Dream/G1 Dream/G1 Dream/G1 Dream/G1 具体配置 硬件 3.17 英寸 HVGA ...

    我的编程感悟(中文PDF)(共37M二分卷)分卷一

    全书按照作者本人学习和实践的过程,带着读者从基础的计算机知识到高级的编程技术,从非常专业的汇编优化到非常实际的项目管理进行了一次游戏开发的全景探索。 本书不仅适合游戏开发者阅读,也会给所有的开发者和...

    我的编程感悟(中文PDF)(共37M二分卷)分卷二

    全书按照作者本人学习和实践的过程,带着读者从基础的计算机知识到高级的编程技术,从非常专业的汇编优化到非常实际的项目管理进行了一次游戏开发的全景探索。 本书不仅适合游戏开发者阅读,也会给所有的开发者和...

    vc代码合集

    2012-06-11 10:31 2,314,224 ArcGIS Engine开发从入门到精通源码.rar 2012-06-11 10:32 2,177,024 AS3游戏引擎框架大全(ZF).doc 2012-06-11 10:15 99,780 C++“超级玛丽”游戏的源代码.rar 2012-06-11 10:03 27,136 ...

Global site tag (gtag.js) - Google Analytics