arm嵌入式系统开发:软件设计与优化

作者结合了丰富的ARM软件工程经验和ARM开发者的需要的广泛、透彻的知识。内容简介ARM处理器基础;ARMThumb指令集;C语言与汇编语言程序的设计与优化;基本运算、操作的优化,通信、物联、医疗等全球系统级软件技术领域的大师、一线技术专家将汇聚一堂,围绕现代C++语言、系统级软件、架构与设计演化、高性能与低时延、质量与效能、工程与工具链、嵌入式,(二)嵌入式1、扎实的CC++语言基础、有相关编程。希望《arm嵌入式系统开发:软件设计与优化》一文对您能有所帮助!

ARM嵌入式系统开发-软件设计与优化

小兄弟,你好!
从你的文字中可以看出你是一个有理想有抱负的人,如果真的是这样的话,只要把心放平静,踏踏实实的去努力,一定会很成功的!
下面,我说下我的建议:
我感觉你是想学好计算机的,而且给自己定了一个很明确的目标:嵌入式。我想说,你选的这条路非常正确,嵌入式的热门程度和发展前景已不需证明,每个IT人都知道,后PC时代已经来临;另外,现在对于大多数的中国学生只有深深的投入Linux的怀抱,才能真正的理解计算机,才能在未来的某个阶段成为真正的计算机人才(由衷的感谢推动GUN计划的先哲们)。为什么这么说呢,现在计算机的课程最开始一般是C/C++语言,数据结构等程序设计的知识,其实在我看来,这样安排并不是想让刚刚接触计算机的学生一上来编程就多么多么的牛逼,而是做个铺垫,为接下来的操作系统,计算机组成原理,计算机网络打基础,是为了能很好的理解这些计算机的基础知识,只有这样才能深刻的明白什么是计算机,计算机能做什么,各个细节又是如何实现的。这样思路就打开了,由于计算机中抽象分层的思想无处无在,以后遇到什么问题都可以一层一层的剖析,最后都会归结到这些最基本的知识上,它们才是整个计算机世界的基石。记得,梁肇新曾经说过:我就是程序,程序就是我!很牛逼的一句话。只有在整个计算机世界的思路都融汇贯通后,才能写出真正的好程序。
所以说,虽然你的目标很明确,但也一定要先将这些基础知识打实,不然茫然的去搞arm+linux是会很费时费力的,而且结果也不会很好,因为这些基础的思想决定了你以后能走多远!
如果你还没有形成比较好的思想的话,还是应该先尽快补上。同时,对于嵌入式这方面,可以熟悉一下linux的基本使用,了解一下伟大的GUN思想,熟悉下linux环境下的C程序(嵌入式中C是绝对的NO.1)的编译,调试等。
接下来,就可以开始linux的系统编程了(基础的东西还是不能丢),在这个阶段里你会加深对操作系统,计组,网络的理解,因为系统编程很多都是他们的具体实现。
然后就是arm,没什么好说的,一门语言而已,如果操作系统和计组比较好的话,没问题,一个工具而已。
最后就是嵌入式的开发了,这里需要综合的用到前面的几乎所有东西。还是那句话,如果计算机思想好的话,理解起来还是比较容易的,最大的问题是动手,实践,如果条件允许的话,可以考虑买一块开发板,处理器最好用S3C2410,现在很多场合都拿这个举例,福建的一个公司有块板子卖的不错貌似。
还有一点要提下,目前嵌入式领域,至少在中国,算法这个东西用的还真是不多,也许学久了,会觉的没有创造性,这里,就看你自己了,看你的想法和感觉吧,自己支配花在算法研究上的精力。
大体的框架是这样,当然这是我的想法。现在整理下,还是要再强调下,思想,计算机的思想,一点要把握住!

C语言和数据结构:谭浩强的书,21天学通C,还有最经典的C程序设计,我觉的都不错,关键是语法,熟练就ok,不用太注重书,课本也可以;数据结构同理。这里可以看下代码大全,对编程的思想很有好处,也比较容易看懂。
基础的,重中之重---
操作系统:操作系统的设计与实现,附录里有Minx的源代码。
计算机组成原理:深入理解计算机系统。
计算机网络:谢希仁的就不错,我比较喜欢国外那边计算机网络。
嵌入式------
linux使用:网上很多,没有特别要介绍的。注意装个linux发行版,网络好的话,可以Ubuntu,否则就SUSE或者Fedora吧,都一样。
linux系统编程:很多好书,百度一下就ok,如果时间多的话,多看两本,否则就看Linux程序设计吧。
arm:我没过多在意,所以了解不太多,你可以查下,我看的是arm体系结构与编程。
嵌入式开发:这里比较复杂,我学的时候没有发现一本集大成的书,都是零零散散的,不过后来发现一本,我也只是翻了翻了,你可以试着看看arm嵌入式系统开发:软件设计与优化。这里的东西很多,也很烦人。主要有,交叉编译工具和环境的配置,内核的裁剪,编译与移植,另外还有驱动程序的开发。各个块,网上都有很多资料。
如果你现在努力的学习,上面的东西学完应该没问题,程度嘛,到熟练就不错了,毕业后会有个相当好的工作(不论什么学校)。
之后的发展,就是在工作中学习了,经验的积累,计算机思想的巩固与延伸,另外可以开始看下内核了,内核完全注释,内核情景分析可以在开始的时候很好的让你亲近linux内核。
嵌入式涉及方方面面,不愁没有你展示平台!
希望你能一直坚持下去,为了自己,为了中国嵌入式,为了伟大的GNU!
希望能帮到你。呵~~,困了,今天没事,夜里弄了一晚上东西,出去吃点东西,休息下:)

ARM嵌入式系统开发:软件设计与优化

不排除Linux的前景,但真正用到Linux的产品现在有多少?未来几年有多少?极少。
Linux太难,所以产品开发周期长,太消耗资源,所以硬件开销大增。这些都对实际产品不利。
你的想法很好,想自学arm+一门嵌入式操作系统(Linux属于嵌入式操作系统),首先说明一下arm并不是太难的,若是有单片机基础,自学起来并不吃力,我的建议是大学学好基础部分:arm硬件,汇编,嵌入式C语言编程,嵌入式操作系统,但并不推荐把时间花在Linux上,推荐uc-os2这个操作系统。重要的是基础,万变不离其宗。

arm嵌入式系统开发:软件设计与优化

嵌入式的方法步骤:
1、基础知识:
目的:能看懂硬件工作原理,但重点在嵌入式软件,
科目:数字电路、计算机组成原理、嵌入式微处理器结构。
汇编语言、C/C 、编译原理、离散数学。
数据结构和算法、操作系统、软件工程、网络、数据库。
方法:虽科目众多,但都是较简单的基础,且大部分已把握。不一定全学,可根据需要选修。
主攻书籍:the c programming language(一直没时间读)、数据结构-C2。
2、学习linux:
目的:深入把握linux系统。
方法:使用linux—〉linxu系统编程开发—〉驱动开发和分析linux内核。先看深,那主讲原理。看几遍后,看情景分析,对照深看,两本交叉,深是纲,情是目。剖析则是0.11版,适合学习。最后深入代码。
主攻书籍:linux内核完全剖析、unix环境高级编程、深入理解linux内核、情景分析和源代。
3、学习嵌入式linux:
目的:把握嵌入式处理器其及系统。
方法:(1)嵌入式微处理器结构与应用:直接arm原理及汇编即可,不要重复x86。
(2)嵌入式操作系统类:ucOS/II简单,开源,可供入门。而后深入研究uClinux。
(3)必须有块开发板(arm9以上),有条件可参加培训(进步快,能熟悉些朋友)。
主攻书籍:毛德操的《嵌入式系统》及其他arm9手册与arm汇编指令等。 嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一。嵌入式系统用在一些特定专用设备上,通常这些设备的硬件资源(如处理器、存储器等)非常有限,并且对成本很敏感,有时对实时响应要求很高等。特别是随着消费家电的智能化,嵌入式更显重要。像我们平常常见到的手机、PDA、电子字典、可视电话、VCD/DVD/MP3 Player、数字相机(DC)、数字摄像机(DV)、U-Disk、机顶盒(Set Top Box)、高清电视(HDTV)、游戏机、智能玩具、交换机、路由器、数控设备或仪表、汽车电子、家电控制系统、医疗仪器、航天航空设备等等都是典型的嵌入式系统。嵌入式系统是软硬结合的东西,搞嵌入式开发的人有两类。一类是学电子工程、通信工程等偏硬件专业出身的人,他们主要是搞硬件设计,有时要开发一些与硬件关系最密切的最底层软件,如BootLoader、Board Support Package(像PC的BIOS一样,往下驱动硬件,往上支持操作系统),最初级的硬件驱动程序等。他们的优势是对硬件原理非常清楚,不足是他们更擅长定义各种硬件接口,但对复杂软件系统往往力不从心(例如嵌入式操作系统原理和复杂应用)。

arm嵌入式系统结构与编程pdf

嵌入式C/C++编程,数据结构、算法和代码优化,MySQL/SQLite数据库设计,嵌入式Linux体系结构和接口技术,ARM体系结构,Android应用编程,嵌入式Linux系统和内核编程,Android内核实例和驱动编程,WinCE和.Net Micro FrameWork,嵌入式Linux项目实训—编码沟通.

相关文章

最新问题

热线 热线
400-118-6638
QQ QQ
QQ在线咨询
微信 微信
微信
关注 关注
关注
返回顶部

微信扫一扫

微信扫一扫