学嵌入式linux软件开发需要的知识.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
学嵌入式linux软件开发需要的知识

首先,我得声明嵌入式Linux的内核很重要,非常非常重要!但是这个东西如果你没有一定的基础,还是暂时不碰为好。因为想知道它的工作机理,你必须具备N多知识才可以的。弄明白内核(包括驱动和协议栈,以及内核工作机制)你至少需要操作系统原理、体系结构、微机原理、ARM体系结构、网络原理、数据结构、C语言、数字电路技术方面的知识;当然这些还远远不够,你还需要了解很多细微之处;这里就不打算多举例了,在这方面有兴趣的同学在学校开设课程不完备的条件下你很容易走上一条死路,一定要慎重!   其次,我不建议新手以一个万能的超人方式来学习嵌入式(有人说嵌入式是程序界的特种兵,啥啥都会,上述观点我只是部分赞同),嵌入式不是计算机专业的专利,在很多年前,嵌入式根本就不是计算机专业的人能玩的;因为它是一门跨专业学科的行业,以前一直电子和通信两家独有。随着硬件技术越来越成熟,慢慢地才把嵌入式开发的精力从硬件中解放出来,逐步转移至软件开发方面,尤其在智能系统的使用上,软件开发层面的任务也越来越多,逐渐向大规模软件方向发展。所以,软硬方向二者选一是非常合理的!   再次,一旦你确立了软件开发作为自己的发展方向,那么你选择一个嵌入式系统就是当务之急的问题了,我建议你选择Linux,因为它是完全开源的,很多东西错了你就能直接查找到原因,不依赖他人而直接解决;否则只能向厂家报告BUG了。这个Linux还有一个非常明显的好处,就是你一旦达到了某种高度,你在看其它系统如WINCE、Symbian等,你也不会对它感冒的,因为你已经知道他们的GUI等关键技术的大体原理了。   最后,选择了Linux之后,你就必须熟练地使用C语言,熟悉你使用的Linux系统;切记开始从浅滩入水才能到深海的道理,否则直接入深海你必然会被淹死的。“先会用,后会做,最后会创造”,这个过程一定要好好把握,切勿超之过急!   学习嵌入式Linux设计需要的细节很多,不过这都不是问题,关键在于你的心态!一般而言需要了解、掌握、熟悉和精通的东西我都在《暑假项目》一文中提及了。那么我常说的,如果你能自己写个GUI系统的话,那你将会很通透的理解嵌入式Linux的构架,也会很深刻的明白嵌入式Linux软件开发的精髓。 DIY的GUI系统需要的知识: 1、系统提供写屏幕的/dev下的文件名是哪个?文件操作如何和类似二维数组的LCD一一对应? 2、一个图形界面需要的是格式问题(8位、16位、24位、32位),这些格式如何写入数据? 3、如何在LCD上画一个点,并且能很好的兼容各种格式? 4、当有多个进程或线程向LCD写入信息时,如何避免写入冲突? 5、触摸屏和鼠标操作相似吗?如何编写类似鼠标的操作呢? 6、解决了画点的问题,那你能根据画点的方法,写出画线、画框、画圆和其他形状的方法吗? 7、能根据你解决的触摸屏问题和画点、线、面等方法绘制一个类似Windows界面的GUI吗? 8、多个GUI界面直接叠加如何解决?那事件响应呢? 9、特殊GUI组件你怎么设计,如对话框、按钮、文本框。。。。。。他们表现方式可不一样啊 10、当组件在某个顶级窗口上出现时,一但被其他组件覆盖,你如何进行裁剪? 11、你如何编写组件被触发时所需要执行的事件机制? 12.、组件之间的消息机制是如何传递的,你是如何处理的? 13、文字显示你怎么办?很多组件需要文字标签,你是怎么解决的? 14、若一个项目需要多个程序分别运行才能完成,那么这两个程序一旦都是GUI的,他们之间的显示还能层叠和有效防止这两个程序写入LCD时不发生冲突吗?你设计之初的构架合理吗?   当你把DIY的GUI系统做完,你突然发现原来原来原来一切一切一切是这样的道理啊,这时候再看WINDOWS你突然发现,你能解释以前你无法明白的现象了!这个时候,你已经得小道而成小仙啦!   接着你可以尝试狂暴而有趣的移植技术,把你看到的,分析后能够移植的东东都移植过去,权当练习!此时你已经默默地把网络(Socket)、数据库(SQLIT3)、多媒体(....)都玩了一遍,可以了!可以考虑做像样的项目或去搞内核研究了。其他的系统,我估计你只需要最多2个月,你就知道如何使用和开发了。一切将变得VERY EASY! 大道至简,小而蕴真! 下面是古文鉴赏,不需要的朋友可以下载后编辑删除!!谢谢!! 九歌·湘君?屈原??朗诵:路英 君不行兮夷犹,蹇谁留兮中洲。? 美要眇兮宜修,沛吾乘兮桂舟。? 令沅湘兮无波,使江水兮安流。? 望夫君兮未来,吹参差兮谁思。? 驾飞龙兮北征,邅吾道兮洞庭。? 薜荔柏兮蕙绸,荪桡兮兰旌。? 望涔阳兮极浦,横大江兮扬灵。? 扬灵兮未极,女婵媛兮为余太息。? 横流涕兮潺湲,隐思君兮陫侧。? 桂棹兮兰枻,斫冰兮积雪。? 采薜荔兮水中,搴芙蓉兮木末。? 心

文档评论(0)

xvli2 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档