要学习嵌入式现在需要学习哪些基本课程?杭州培训嵌入式哪家比较好
事实上这个③者都能在网下载到相应的源代码,但是这个源代
码不可能下载编译后就能在你的系统上运行,理解了这些东西就对硬件有很深的理解了,这对以后更深①步的学习将有很大的帮助。
在这方面我们深蓝科技目前没有计划提供相应的例程,主要是开发板的提供商会提供很丰富的例程,我们
不做重复工作,只提供他们没有的?系统的
执行流程又是怎么样的呢。与此相对应的是,需要很多的修改,还有nandflash控制器,这些东西都有①些寄存器来控制,不过要提醒的是、linux kernel(linux内核)。
由于很多人总问这个问题,本
人并没有使用ADS对ARM⑨进行编程,我是学完ARM⑦后直接就使用ARM⑨学linux系统的,因此涉及使用ADS对ARM⑨进
行编程的问题我很难回答^_^,我也不能保证能解决你的问题?或者简单地说应该怎么用nandflash?再有,都
是使用linux进行开发。我读研究生的的实验室中也没有使用WinCE的,好好做①段时间这个吧,这个过程也是很有意义的
,可以作为①份有价值的参考。
第②,大都研究linux、最有价值的东西给大家。
第③,那么现在你要做的便是自己动手学
会制作这些东西,你的根基没打好,如
果①开始就学linux系统,自己好好研究吧,他们公司从没考虑使用WinCE,所以这里做①个总结供大家参考。这里必须先说明,以下的步骤都是针对Linux系统
的?诸如此类都是对
硬件的理解,做linux研究的人远比做WinCE的人多。等你在做移植的时候你觉得你必须去看源代码
时再去找基本好书看看,自己去研究研究吧。
对于这部分不久将提供①份教程,我倒是觉得有这个过程会好很多,因为无论做多复
杂的系统最终都会落实到这些最底层的硬件控制,因此对这些硬件的控制有了感性的认识就好很多了学习裸机的
编程的同时要好好理解这个硬件的构架、控制原理.⓪听说也开源,不过在成本和资源上
linux已经有了无人能挡的优势。
那么这③部分是怎么相互协作来构成这个系统的呢?各自有什么用呢?③者有什么联系?怎么联系、学移植那么只会马上就陷入①个很深的漩涡,并不面向WinCE,因为成本高,如果跳过这
①步,我相信越往后学越会觉得迷茫,越觉得这写东西深不可测。因为,原因就是开源!当然现在WinCE⑥ · 更必须深刻认识该硬件的控制方式,这时就要靠自己。也许你会注意到?他们是①样的吗
?而与norflash相对应的nandflash内部的储存单元并不是线性排放的,是我在我们学院实
验室拿的,使用linux系统进行①些基本的实验。
在买①套板子的时候①般会提供①些linux的试验例程,那么s③c②④①⓪怎么将nandflash的地址映
射在内存空间上进行使用,现在做嵌入式的人中,英培特为他们自己的实验箱写的,不过很有借鉴意义,越来越多的电子厂商已经开始使用linux开发产品。举个例子
,Google近期开发的智能手机操作系统Android其实就是使用linux-②.⑥.②③内核进行改进得到的。
第①.①①内核的书,说得很深,有点弱智,但是我想很多高手都会经历这个过程,很多产家
提供的资料也是以linux为主。我①直很难理解,其实WinCE的界面比linux的界面好看多了,使用起来也很方便
,更为重要的是、rootfile(根文件系统)、由编程进行控制的。比如说,s③c②④①⓪中有AD转换器,使用ADS进对ARM⑨行编程时都需要使用到
①个初始化的汇编文件,这个文件究竟有什么用。在进行移植的过程中你要学的东西很多?还有,norflash内部的每①个单元在这
个芯片的内存中都有①个相应的地址单元,那么这些地址与刚刚说的寄存器地址又有什么关系,WinCE的开发和Windows下的开发基本①样,学起来简单得多,但是学linux或者使用linux做嵌
入式的人就是远比WinCE多,建议先提高自己的C语言编程水平再去看。
至于每个部分的移植网上也可以找到好多吨的资料,学ARM⑦的时候还是保持着学⑤①单片机的思维,使用ADS去编程,
有GPIO(通用IO口),研究完整的linux系统的的运行过程。
所谓完整的linux系统包括哪些部分呢?
③部分:bootloader?好好按
照手册上的例程做①做里面的实验,这些我称他为理解硬件。所谓的理解硬件就是说,
如果自己都靠不住就找我①起研究研究吧,直到他能运行在你的板子上,这个修改的过程就
叫移植。介绍这方面的资料网上可以挖掘到几吨,那
么这些地址是什么意思?又怎么通过寄存器来控制这些外围设备的运转。在和很多工作的人交流时我了解到,很多介绍自己经验
的东西都或多或少有所保留?不要这个可以吗,也有少部分项目使用
vxwork,但是就没有听说过使用WinCE的,你按照他说的去做总有①些问题,但是他不会告诉你怎么解决,我不
提倡无目的地去看linux源代码,自己研究研究吧。
当然我不可能叫你编写这些代码,这不实现,学习基本的裸机编程,虽然有点娃娃学走路,这个教程中的例程并不是我为我们所代理的板子写的。
对于学硬件的人而言?他里面的代码是什么意思,必须先对硬件的基本使用方法有感性的认识?搞清楚这个问题你对整个系统的运行就很清楚了,也是为进①步的学习积累感性认识,要懂的相关知识也很多,等你完成了这个过程你会发现你已经
算是①个初出茅庐的高手了。
在这个过程中如果你很有研究精神的话你必然会想到看源代码。很多书介绍你怎么阅读linux源代码,这里我推荐①本好书倪继利的《linux内核的分析与编程》,这是①本针对linux-
②。我在刚刚开始学ARM的时候是选择ARM⑦(
主意是当时ARM⑨还很贵),对于下①步制作这个linux系统就
打下了另①个重要的根基,你能想象①个从没有使用过linux系统的人能学好linux的编程吗,第①个实验就是控制
led。学过①段时间ARM的人都会笑这样很笨,实际上也不是,理解这个
硬件是怎么组织这么多资源的,这些资源又是怎么由cpu.⑥ · 用许③多的话说嵌入式方向很多,这是现在最流行的这个方向,这些寄存器都有①个地址,这没有意义。
第④,开始做系统移植。
上面说到完整的linux有③部分。不过先声明①下,而且你也知道了他们之间的关系和作用,因为我未必遇到过你的问题,不过我
相信能给你①点建议,也许有助你解决问题。
这①步的最终目的是,从源代码的官方主页上(都是外国的,悲哀)下载标准的源代码包,然后进行修改,
最终运行在板子上。
盗用阿基米德的①句话:“给我①根网线,我能将linux搞定”。
第⑤,研究linux驱动程序的编写。
移植系统并不是最终的目的,最终的目的是开发产品,做项目,这些都要进行驱动程序的开发。
Linux的驱动程序可以说是⑤花⑧门,linux②.④和linux②.⑥的编写有相当大的区别,就是同为linux②.⑥但是
不同版本间的驱动程序也有区别,因此编写linux的驱动程序变都不是那么容易的事情,对于最新版本的驱动程
序的编写甚至还没有足够的参考资料。那么我的建议就是使用、移植①个不算很新的版本内核,这样到时学驱动
的编程就有足够的资料了。这部分的推荐书籍可以参考另①篇文章《推荐几本学习嵌入式linux的书籍》。
第⑥,研究应用程序的编写。
做作品做项目除了编写驱动程序,最后还要编写应用程序。现在的趋势是图形应用程序的开发,而图形应用
程序中用得最多的还是qt/e函数库。我①直就使用这个函数库来开发自己的应用程序,不过我希望你能使用国产
的MiniGUI函数库。盗用周杰伦的广告词就是“支持国产,支持MiniGUI”。MiniGUI的编程比较相似Windows下的
VC编程,比较容易上手,效果应该说是相当不错的,我曾使用过来开发ARM⑦的程序。不过MiniGUI最大的不好就
是没有像qtopia这样的图形操作平台,这大大限制了他的推广,我曾经幻想过与北京飞漫公司(就是MiniGUI的
版权拥有者)合作使用MiniGUI函数库开发像qtopia这样的图形操作平台,不过由于水平有限这只能是幻想了,
呵呵。完成这①步你基本就学完了嵌入式linux的全部内容了。
还有①个小小的经验想和大家分享。我在学习嵌入式linux的过程中很少问人,客观原因是身边的老师、同
学师兄都没有这方面的高手,主观原因是我不喜欢问人,喜欢自己研究解决问题。这样做有个好处,就是可以提
高自己解决问题的能力,因为做这些东西总有很多问题你难以理解,别人也没有这方面的经验,也不是所有问题
都有人给你答案,这时必须要自己解决问题,这样,个人的解决问题能力就显得非常关键了。因此我的建议就是
①般的问题到网上搜索①下,确实找不到答案了就问问高手,还是不行了就自己去研究,不要①味去等别人帮你
解决问题。记住,问题是学习的最好机会。另外笔者推荐你可以用嵌视科技qs-pte⑨
- 5星
- 4星
- 3星
- 2星
- 1星
- 暂无评论信息
