谈谈我的嵌入式经验

转载 2012年03月21日 23:29:21
弹弹我自己的经历,也许会对你有些帮助。 
我是00年毕业,专业是机械系焊接工艺,和计算机是不搭边的,工作后发现机械这行薪水太少,所以转投IT产业,假造一份简历,混进一家公司,做了3年,然后换了2次工作,一直做到现在,这说明了一点,写程序只需要知道%5或更少就可以了(我当时只会用C语言写hello world!,不知道我们主管怎么看上我的,或许他只看了我伪造的简历)。所以大部分东西,比如linux内核源代码,谁吃饱了没事干去看它,一点用都没有,了解它是一个多进程并且稳定的内核就足够了,你需要的是一本函数参考手册,然后在需要时调用系统调用就行了。学习源代码什么的,我觉得有点炫耀自己的意思,其他就没什么好处了! 
废话也说了不少,谈谈经验吧,好歹咱也在嵌入式领域混了5年多,8位,16位,32位全都做过,CPU的主频也经历了4M->16M->40M->266M的发展历程!编程语言也经过了汇编->汇编+C->C语言的飞跃。既然大家对linux比较感兴趣,那么我也谈谈如何在嵌入式linux下开发产品的步骤: 
1。领导多方考察,决定如摩托罗拉mx21 CPU 
2。购买开发板(一套一万多)并由芯片商提供开发环境BSP(Board Support Packet),然后派个产品工程师(不是软件工程师)对大家进行为期一天的培训,其实就是告诉大家BSP里面有什么东西
3。自己干吧
下面是我的工作了,我负责建立开发环境,linux内核裁剪,驱动程序和GUI部分。 
声明:本人以前从未接触过linux开发,所以有个清晰的思路就非常重要了(实际上,做软件来说,只要有清晰的思路,其他都不是问题), 
1。开发环境,首先建立编译环境,安装linux操作系统(先用虚拟机),询问培训人员如何编译,下载,运行hello world C程序,结果发现下载速度不理想,程序的调试会非常困难(在程序中加入printf语句,编译,下载,然后观察printf输出结果),所以考虑到板上运行的是标准linux内核,接口都是统一的,那么先在PC的linux下调试程序,然后交叉编译,下载到板上,会省很多力气。那么思路清晰了,目标就是让目前产品的源代码可以在linux下运行,然后交叉编译,下载到板上运行,下面就是具体工作了: 
1。编写Makefile,保证可以用gcc编译源代码,为了用gdb调试,CFLAG 加上-g选项。 
2。设定输出,使用linux提供的framebuffer机制,将屏幕映射到一段内存,对内存的操作可以立即显示在屏幕上。这个去网上抄段代码就可以了。 
3。设定输入,当然用键盘了,使用tty设备作为输入,同样去网上抄段代码。 
4。设定定时器,继续抄代码。 
5。运行起来,可以在pc上运行我们的产品了. 
6。交叉编译,下载到目标板上了,要修改写文件,输入,输出设备文件名要改,CFLAG中的-g选项去掉,不然代码要大3倍,下载起来太慢了,然后开始下载,去抽只烟,回来后下载结束,运行,发现死机,然后加入printf语句,看看死在那里,然后编译,下载,观察结果,这是个漫长的过程,有次程序死循环,调试了3天,不停地编译,下载,观察结果,最后发现是循环变量的类型有问题,有char改为int就好了,这在pc上是看不出来的。
7。告诉大家,开发环境基本建立,然后测试其他功能,如语音,视频播放器,flash动画播放器等,等待硬件部门制作产品开发板。 
8。然后调试自己的产品开发版,调试各种驱动程序(驱动程序一般是单独调试,差不多后再合入内核) 
以上只是产品开发的一般步骤,事实上,我还在第6步徘徊。。。。 
手累了,其他的以后再说吧
另外告诉你个增长知识的好方法:移植linux代码到VC6中去。 
1。所有程序无外乎输入,输出,其中输入最重要,使用DirectDraw就可以了。 
2。找个linux下的程序,比如flash播放器,gif解码程序,让它在VC6下运行起来,好歹看个画面也可以。  
在移植过程中你会遇到很多问题,然后去网上寻找解决办法,久而久之,你对问题自然会有清晰的思路,而且会扩宽你的知识面。移植最好是系统程序,移植AP没什么意思,也学不到东西! 
浏览源代码最好用sourceinsight。 
有本linux C 函数库手册。 
用google搜索,我是不用百度的

CVTE(商务类)一面二面记录

这是我经历的一家面试不需要带任何证件材料、也不需要签到的企业。  短信通知面试之后可以自己选择第二天的面试时间,我选了上午11:00-12:00 ,大概提前二十分钟到了桃园假日酒店,因为面试在二楼所...
  • Ssxysxy123
  • Ssxysxy123
  • 2016年10月08日 17:48
  • 1277

应届生面试嵌入式工程师的一点点经验

目录 1引言 2嵌入式硬件研发 3嵌入式软件研发 4总结 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~...
  • u010497783
  • u010497783
  • 2016年08月28日 11:16
  • 5038

jvm 性能调优 之一般经验

最近因项目存在内存泄漏,故进行大规模的JVM性能调优 , 现把经验做一记录。 一、JVM内存模型及垃圾收集算法  1.根据Java虚拟机规范,JVM将内存划分为: New(年轻代)T...
  • jgwei
  • jgwei
  • 2014年09月22日 10:58
  • 1244

自学嵌入式 经验分享

  • 2013年05月03日 23:56
  • 40KB
  • 下载

嵌入式C开发经验总结

  • 2017年02月18日 09:17
  • 5.32MB
  • 下载

嵌入式之家资深工程师PCB设计经验介绍

  • 2014年08月14日 19:37
  • 18KB
  • 下载

多年从事嵌入式的工程师经验分享(值得珍藏)

  • 2010年07月03日 11:20
  • 350KB
  • 下载

2.0时代的移动嵌入式产品开发名企经验教程

  • 2008年11月20日 09:53
  • 698KB
  • 下载

嵌入式求职经验总结

  • 2013年03月15日 12:38
  • 61KB
  • 下载

如何从零开始开发一款嵌入式产品(20年工作经验)

作者20年工作经验,站在巨人的肩膀上创新
  • shaynerain
  • shaynerain
  • 2016年09月26日 10:08
  • 2341
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:谈谈我的嵌入式经验
举报原因:
原因补充:

(最多只允许输入30个字)