
0
为什么嵌入式几乎全部用的是linux而不是WinCE
倪光南本身没有任何领导开发操作系统的经验,先不谈桌面操作系统工程量多大,想要在一年之内花1个亿就出一个桌面级系统也就只能拿现成的开源内核做二次开发才比较现实,这样的话顶多也就是个linux或者freebsd的新发行版,安全性在哪里。osask是一个开源的32位微型操作系统,它并非以linux等内核为基础,而是完全从零开始开发,在一张软盘的容量下实现了gui、多任务、多语言等高级特性,启动时间只需1秒。其中修改内核要求手机内核代码必须开源,尽管内核代码根据gpl协议必须开源,国内某些手机仍然不公开其内核源代码,这也是kali nethunter仅支持oneplus、三星和谷歌nexus的原因。
第一,学习基本的裸机编程。
对于学硬件的人而言,必须先对硬件的基本使用方法有感性的认识,更必须深刻认识该硬件的控制方式,如果一开始就学linux系统、学移植那么只会马上
就陷入一个很深的漩涡。我在刚刚开始学ARM的时候是选择ARM7(主意是当时ARM9还很贵),学ARM7的时候还是保持着学51单片机的思维,使用ADS去编程,第一个实验就是控制led。学过一段时间ARM的人都会笑这样很笨,实际上也不是,我倒是觉得有这个过程会好很多,因为无论做多复杂的系统最终都会落实到这些最底层的硬件控制,因此对这些硬件的控制有了感性的认识就好很多了

学习裸机的编程的同时要好好理解这个硬件的构架、控制原理,这些我称他为理解硬件。所谓的理解硬件就是说,理解这个硬件是怎么组织这么多资源的,这些资源又是怎么由cpu、由编程进行控制的。比如说,s3c2410中有AD转换器,有GPIO(通用IO口),还有nandflash控制器,这些东西都有一些寄存器来控制,这些寄存器都有一个地址,那么这些地址是什么意思?又怎么通过寄存器来控制这些设备的运转?还有,norflash内部的每一个单元在这个芯片的内存中都有一个相应的地址单元,那么这些地址与刚刚说的寄存器地址又有什么关系?他们是一样的吗?而与norflash相对应的nandflash内部的储存单元并不是线性排放的,那么s3c2410怎么将nandflash的地址映射在内存空间上进行使用?或者简单地说应该怎么用nandflash?再有,使用ADS进对ARM9行编程时都需要使用到一个初始化的汇编文件,这个文件究竟有什么用?他里面的代码是什么意思?不要这个可以吗?
诸如此类都是对硬件的理解,理解了这些东西就对硬件有很深的理解了,这对以后更深一步的学习将有很大的帮助,如果跳过这一步,我相信越往后学越会觉得迷茫,越觉得这写东西深不可测。因为,你的根基没打好。
不过先声明一下,本人并没有使用ADS对ARM9进行编程,我是学完ARM7后直接就使用ARM9学linux系统的,因此涉及使用ADS对ARM9进行编程的问题我很难回答^_^,自己去研究研究吧。
对于这部分不久将提供一份教程,这个教程中的例程并不是我为我们所代理的板子写的,是我在我们学院实验室拿的,英培特为他们自己的实验箱写的,不过很有借鉴意义,可以作为一份有价值的参考。
第二,使用linux系统进行一些基本的实验。
在买一套板子的时候一般会提供一些linux的试验例程,好好做一段时间这个吧,这个过程也是很有意义的,也是为进一步的学习积累感性认识,你能想象一个从没有使用过linux系统的人能学好linux的编程吗?好好按照手册上的例程做一做里面的实验,虽然有点娃娃学走路,有点弱智,但是我想很多高手都会经历这个过程。
![]()
好的供应商会关心你的生意,这也是他们关注终端.次货调换爽快.舍得在终端投放广告.会不时征求你对货品的意见,会询问你经营的难度在哪里,问你最近生意怎么样,有没有什么货物要补充.融服务。而且,拟成立相关分支机构也有针对性的进行了布署,如成立“东莞市湖北武汉商会(筹)东莞市湖北荆州商会(筹)、东莞市湖北荆门商会(筹)”、东莞市湖北十堰商会(筹)等,都对接了相应人选。
第三,研究完整的linux系统的的运行过程。
所谓完整的linux系统包括哪些部分呢?
子命令有a) grldr filename启动grldr/ntldr文件b) syslinux filename启动ldlinux.bin文件c) msdos filename启动io.sys文件d)freedosfilename启动kernel.sys文件e) chain filename加载启动扇区文件f) linux kernel initrd param启动linux内核显示一行文字设置自动启动的时间设置自动启动的menu项设置颜色。linux kernel(内核)并不负责提供用户强大的应用程序,没有编译器、系统管理工具、网络工具、office套件、多媒体、绘图软件等,这样的系统也就无法发挥其强大功能,用户也无法利用这个系统工作,因此有人便提出以linux kernel为核心再集成搭配各式各样的系统程序或应用工具程序组成一套完整的操作系统,经过如此组合的linux套件即称为linux发行版。内核默认会读取linux内核根目录下.config文件作为内核的默认选项(试题的参考答案),我们一般会根据开发板的类型从中选取一个与我们开发板最接近的系列到linux内核根目录下(选择一个最接近的参考答案)。
那么这3部分是怎么相互协作来构成这个系统的呢?各自有什么用呢?三者有什么联系?怎么联系?系统的执行流程又是怎么样的呢?搞清楚这个问题你对整个系统的运行就很清楚了,对于下一步制作这个linux系统就打下了另一个重要的根基。介绍这方面的资料网上可以挖掘到几吨,自己好好研究吧。
第四,开始做系统移植。

上面说到完整的linux有3部分,而且你也知道了他们之间的关系和作用,那
么现在你要做的便是自己动手学会制作这些东西wince6.0软件。
当然我不可能叫你编写这些代码,这不实现。事实上这个3者都能在网下载到相应的源代码,但是这个源代码不可能下载编译后就能在你的系统上运行,需要很多的修改,直到他能运行在你的板子上,这个修改的过程就叫移植。在进行移植的过程中你要学的东西很多,要懂的相关知识也很多,等你完成了这个过程你会发现你已经算是一个初出茅庐的高手了。
小巧的实时操作系统,整个代码分为内核层和移植层,方便移植和裁剪。iptables系统需要linux系统内核中的网络数据包过滤框架的支持,需要重新配置内核,选中内核中networking support → networking options → network packet filtering framework,将其框架编译进linux内核,然后需要对iptables进行移植,其移植过程如下:。windowsphone8采用和windows8相同的针对移动平台精简优化.nt内核并且内置诺基亚地图,这标志着移动版windowsphone将提前与windows系统同步,部分windows8应用可以更方便的移植到手机上,例如不需要重写代码等(注明:与旧版windows应用不兼容,较难移植,便于移植的是新microsoftdesign应用既windowsrt版应用,这是arm与x86构架的原因,并且可以移植的应用必须是.net编写的应用程序,c与c++程只需封装成组件)。
教育科学研究是以拓展教育科学知识和解决教育教学中的问题为目的的研究,对我校教师来说,从事教育科学研究的一个最主要的目的是解决教育教学实践中的问题,研究始于问题,鼓励教师从事研究要从问题入手。本文研究城市中小学信息技术存在的教学问题及解决策略的课题方向,对存在的问题进行分析,并提出了相应的解决策略,为完善今后研究城市中小学信息技术的教学问题及解决策略奠定基础,确定进一步的研究方向,希望今后可以从中小学信息技术的教育方向进行探究,对中小学信息技术的教学起到一定的参考作用。我给大家介绍一下我自己吧,我是一个高中毕业的穷人家的孩子,结了婚后,丈夫出去打工了,我就是个在家看孩子的全职妈妈,天天靠丈夫的钱来生活,丈夫心情不好,我的待遇什么样你就该能想到吧,我是个自尊心很强的女人,所以我就想自己赚钱,出去上班事不可能了,因为我要看孩子,所以只能找些在家做的,无意中在网上看到了这个淘宝蒹职,于是就想去看看,刚开始自己一点都不懂,不过慢慢的,我就很熟悉了,现在在平台我的朋友很多,好多心事都能和他们诉说,我们就像个温暖的大家庭,如果您能相信我,可以来了解一下,做不做没关系的,做朋友也好啊,出门靠朋友嘛。
这一步的最终目的是,从源代码的官方主页上(都是外国的,悲哀)下载标准的源代码包,然后进行修改,最终运行在板子上。

盗用阿基米德的一句话:“给我一根网线,我能将linux搞定”。
第五,研究linux驱动程序的编写。
移植系统并不是最终的目的,最终的目的是开发产品,做项目,这些都要进行驱动程序的开发。
Linux的驱动程序可以说是五花八门,linux2.4和linux2.6的编写有相当大的区别,就是同为linux2.6但是不同版本间的驱动程序也有区别,因此编写linux的驱动程序变都不是那么容易的事情,对于最新版本的驱动程序的编写甚至还没有足够的参考资料。那么我的建议就是使用、移植一个不算很新的版本内核,这样到时学驱动的编程就有足够的资料了。
这部分的推荐书籍可以参考另一篇文章《推荐几本学习嵌入式linux的书籍》。
第六,研究应用程序的编写。
做作品做项目除了编写驱动程序,最后还要编写应用程序。现在的趋势是图形应用程序的开发,而图形应用程序中用得最多的还是qt/e函数库。我一直就使用这个函数库来开发自己的应用程序,不过我希望你能使用国产的MiniGUI函数库。盗用周杰伦的广告词就是“支持国产,支持MiniGUI”。MiniGUI的编程比较相似Windows下的VC编程,比较容易上手,效果应该说是相当不错的,我曾使用过来开发ARM7的程序wince6.0软件。不过MiniGUI最大的不好就是没有像qtopia这样的图形操作平台,这大大限制了他的推广,我曾经幻想过与北京飞漫公司(就是MiniGUI的版权拥有者)合作使用MiniGUI函数库开发像qtopia这样的图形操作平台,不过由于水平有限这只能是幻想了,呵呵。
完成这一步你基本就学完了嵌入式linux的全部内容了。
0
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/bofangqi/article-102012-1.html
选个“总统”还要去老美那汇报
中国传统道德的悲哀