嵌入式学习经历分享

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

嵌入式学习经历分享起初一直在写一个实时操作系统内核,已有小成了,等写完我会全部公开,希望能够为国内it的发展尽自己一份微薄的力量。最近看到很多学生朋友和我当年一样没有方向,所以把我的经历写出来与大家共勉,希望能给刚如行的朋友们一点点帮助。一转眼我在it行业学习工作已经七年多了,这期间我做过网页,写过MIs、数据库,应用程序,做过通信软件、硬件驱动、协议栈,到现在做操作系统内核和Ic相关开发,这中间走了很多弯路,也吃了不少苦。三流高校一个三流的高校,就连同一个城市的人多数都不知道。因为学校不好也就没有指望能靠学校名气找一个好工作。所有的希望都寄托在自己的努力上大一开学没开学我就开始学习了,并且还买了一本《计算机基础dos3.0》开学前我学完了pascal,那时,没有计算机也没有人可以请教,我连程序是什么的概念都没有,只好死记硬背代码,然后拿纸写,我一直到大三才有了一台486,在这之前用纸写了多少程序我也记不清楚了,只知道最长的一个我拿a4大小的草稿纸写了30多页,我的c语言、c++、vc都是在这样的条件下入门的。所以说条件是可以克服的,希望我的经历多少给条件艰苦的同学们一点信心。心得体会我有一些心得体会与大家分享,只有当我干好本职工作后,我才会学习与工作关系不大的技术,这样公司的上司才不至于反感,在入门阶段的问题我通常不去问那些资深人士,而是问一些资历比较浅的朋友,比如刚毕业不久的学生,因为他们往往会跟你详细的讲解,而资深人士通常觉得你的问题太简单,所以回答的也很简单,我又不好意思多问。等技术上了一定的层次后我才会问他们,他们也能给你比较深入的回答。另外,有些朋友说我机会比较好,他们也希望能从事新的工作可惜没有机会,我听了只有苦笑,我的机会了解的人都应该知道,我没有出生在什么it世家:)也没有谁一路提拔我,所有的路都是自己走出来的,我母亲去世比较早,我的后母(我叫她阿姨)看着我努力过来的,一次她看我大年30还在写程序,她说像我这样努力木头都能学出来。目标一.努力做好本职工作,在工作上得到公司和同事们的认同;二.努力学习ic硬件设计知识,多向同事请教,并利用一切机会多实践;三.实现我的实时操作系统的主要部分,完成tcp/ip协议栈模块,并免费发布源代码;四.和我女朋友结婚并买一套小房子,这是最重要的,因为我明白事业是可以重来的,但是珍贵的感情很难失而复得。我现在开发的操作系统它是一个实时嵌入式系统,目前支持以下特性:a.支持时间片轮转调度和基于优先级调度,最多64个优先级;b.抢占式实时内核;c.为了便于移植,主体用标准c实现;d.汇编代码非常少,不到100行;e.支持任务管理,各任务有独立的堆栈;f.进程同步和通信目前完成了semaphore,messagequeue正在调试;g.实现了定时系统调用;h.可以在windows上仿真调试学习的心得我的一些学习的心得,这些方法未必正确,我也在不断探索和改进中。我的学习和工作有相对明确的目标,我不会一时心动而去学习某一技术,在下决定之前我会考虑很多,包括长期的发展,个人路线的规划,需要付出的代价、可能遇到的困难及解决的办法等等,在决定后还会制定更加明确的计划,包括短期、中期和长期的,身边可以利用到的资源(包括好的书籍、资料、软硬件环境,也包括有经验的朋友或者师长),以及每一个阶段是怎么过渡到高一阶段的计划,往往在一个学习阶段一旦上路后会走的相对顺利,但是跨阶段通常比较麻烦,比如从学习基础知识转到实践。另外我买书也有自己的方法,现在世面上高质量的书远不如低质量书多,对于一个陌生的技术,往往在第一次买书会选择错误,即使买到一本好书但是它的方向也未必适合你,所以我通常会先在网上查找一些该技术的介绍,有了一点点概念后再去买一本比较薄、相对便宜并且内容相对泛泛而谈的书,这是国内作者最善于写的书:),再把它浏览一遍后我就会基本明白这门技术的要点,后面买书和制定计划就会明确的多。否则一开始就想找本好书往往比较困难,而且买回来后努力学习,有时候学了一半才发现是本低质量的书或者是相对过时技术,让人非常懊恼。另外让有经验的人帮你介绍,通常也是一个不错的选择。通信、嵌入式开发有些朋友想学通信、嵌入式开发,但总觉得自己没有软硬件环境,我就按我的了解给大家介绍一下怎么建立这样的环境,当然我了解的只是我学习和工作的方向。通信我做的是数据网方面的工作,包括tcp/Ip、二三层交换、对接入网、h.323和软交换也有一点认识。这些软硬件环境都是可以在pc上构建的。你甚至可以在一个没有网卡的pc上建立一个包含多个路由器、接入服务器、voip网关、网守、主机等的仿真网络环境,而且与实际的网络相当接近,当然这需要你有清晰的网络概念和一定的网络知识,我一直在努力开发一套软件将这个过程简化,目前试验已经做完,我可能会将它融入我的操作系统外围扩展软件中。这样的方法我无法用简单的语句讲的很清楚,我可以说一下大概的思想,就是在pc上实现仿真网卡,(知道windows怎么在没有网卡的机器实现虚拟网卡技术的朋友都应该会明白),然后每一个仿真网卡对应一个虚拟设备,如路由器或者主机。你也可以借助第三方工具完成部分工作,如vmware等。我现在就是利用一个仿真网卡做自己的开发的。嵌入式开发环境至于嵌入式开发环境更加容易实现,pc就是一个非常大的硬件平台,现有的嵌入式操作系统通常都支持x86,你可以在上面做开发,通过软盘boot或者使用虚拟机装载,我用vxworks做了试验,在一台pc上跑windows和vxworks两个系统。另外windows上的兼容dos的16位仿真x86环境也为很多操作系统提供了绝佳的试验环境,我的操作系统在windows上就是这样实现的。LInux在嵌入式中应用也比较广泛,它在网上有大量的资料,而且也相对比较容易实践。同时很多完善的嵌入式开发环境支持软件仿真,如tornado、wince等。华清远见嵌入式学院

1 / 11
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功