ARM Linux入门与实践
基本信息
内容简介回到顶部↑
本书是以作者自学、应用嵌入式linux时的笔记(包括实验、出现的问题、调试过程、经验总结等)为基础,再增加应用到的硬件平台而成的。全书以亲自制作实验平台硬件,亲自设计实验软件为线索,指导读者从零开始学习到最终掌握arm和linux应用的方方面面。
全书可以分成arm硬件、arm前后台系统应用和基于linux系统的应用3个部分。arm硬件部分包括整个硬件的原理分析、原理图、pcb板的绘制、元件焊接、硬件的检测与调试。arm前后台系统应用部分包括启动代码、处理器内部外设、扩展外部设备及接口等的所有底层软件分析与实现,还有bootloader、文件系统、gui等的原理与实现。linux系统的应用部分包括基于pc机的操作、应用编程和驱动、嵌入式linux的开发环境创建、各种硬件的驱动实现、网络编程、图形用户界面设计等。
本书可作为有志于掌握arm、linux等嵌入式技术的高校学生、工程师等的参考书。
全书可以分成arm硬件、arm前后台系统应用和基于linux系统的应用3个部分。arm硬件部分包括整个硬件的原理分析、原理图、pcb板的绘制、元件焊接、硬件的检测与调试。arm前后台系统应用部分包括启动代码、处理器内部外设、扩展外部设备及接口等的所有底层软件分析与实现,还有bootloader、文件系统、gui等的原理与实现。linux系统的应用部分包括基于pc机的操作、应用编程和驱动、嵌入式linux的开发环境创建、各种硬件的驱动实现、网络编程、图形用户界面设计等。
本书可作为有志于掌握arm、linux等嵌入式技术的高校学生、工程师等的参考书。
作译者回到顶部↑
本书提供作译者介绍
程昌南,一名普通而平凡的嵌入式爱好者;一名对技术痴迷、执着的自学者;一名喜欢记录、总结自学经验,积极与朋友们分享、交流的热心网友,现任21 IC中国电子网论坛的ARM版版主。
2000年开始自学51系列单片机,2003年参加并获得“索尼杯”全国大学生电子设计竞赛国家一等奖。毕业后从事嵌入式应用开发,自学、应用过PIC单片机、TI 2000 DSP、AtmeI的ARM、三星的S3C44B0X、S3C2410A、S3C2440A等ARM、Freescale的ColdFire,及Linux操作系统。
2007年将多年的自学、工作经验.. << 查看详细
2000年开始自学51系列单片机,2003年参加并获得“索尼杯”全国大学生电子设计竞赛国家一等奖。毕业后从事嵌入式应用开发,自学、应用过PIC单片机、TI 2000 DSP、AtmeI的ARM、三星的S3C44B0X、S3C2410A、S3C2440A等ARM、Freescale的ColdFire,及Linux操作系统。
2007年将多年的自学、工作经验.. << 查看详细
目录回到顶部↑
第一篇 arm硬件
第1章 概述
1.1 嵌入式系统、单片机、arm及linux概述
1.2 arm处理器的选择
1.3 s3c2410a简介和公版资源
1.4 arm开发工具及调试方法
1.4.1 集成开发环境
1.4.2 硬件仿真器
1.4.3 前后台系统的调试方法
1.4.4 嵌入式linux的开发调试方法
1.5 亲自制作实验平台在arm学习中的意义和可行性
第2章 实验平台硬件分析
第3章 硬件制作
第4章 系统核心部分硬件调试
第二篇 arm前后台系统部分
第5章 启动代码分析
第6章 基于an2410ssb的外设实验
第7章扩展底板an2410mb的调试与实验
第三篇 基于linux系统的应用
第9章 基于pc机的linux学习
第1章 概述
1.1 嵌入式系统、单片机、arm及linux概述
1.2 arm处理器的选择
1.3 s3c2410a简介和公版资源
1.4 arm开发工具及调试方法
1.4.1 集成开发环境
1.4.2 硬件仿真器
1.4.3 前后台系统的调试方法
1.4.4 嵌入式linux的开发调试方法
1.5 亲自制作实验平台在arm学习中的意义和可行性
第2章 实验平台硬件分析
第3章 硬件制作
第4章 系统核心部分硬件调试
第二篇 arm前后台系统部分
第5章 启动代码分析
第6章 基于an2410ssb的外设实验
第7章扩展底板an2410mb的调试与实验
第三篇 基于linux系统的应用
第9章 基于pc机的linux学习
前言回到顶部↑
本书的使用及学习方法.
ARM和Linux学习方法的体会
如何才能学好或尽快上手ARM和Linux?这是很多初学者想问的,也曾经在网上讨论过。其实学习没有捷径,主要还是取决于学习态度和学习方法。ARM、Linux也一样,在此阿南根据自学过程中的体会和网上的讨论作一些总结。
ARM的学习。有了单片机或计算机结构的基本知识、C语言的基础,上手ARM是比较容易的。学习ARM,首先应该了解一下ARM的体系结构,了解它有哪些版本、哪些模式、哪些寄存器、异常等。这方面的内容可以参考《ARM体系结构与编程》一书,这本书介绍的内容还是很全的,可以先快速地浏览,特别是汇编指令不需要记住,以后应用时再查。其次选定一种具体厂家型号的ARM处理器,学习该处理器相关的开发工具的使用,如开发环境、仿真器及评估板等。然后可以分析该处理器的外围扩展方法,如SDRAM、NAND Flash等,一般官方或第三方都会提供原理图,可以用来分析。接下来要理解该处理器的启动过程,亲自尝试从一块裸板逐步运行自己的应用程序,也可以参考官方的启动代码及例程。最后就可以调试、测试该处理器的各种外围部件,例如定时器PWM、串口、LCD等,特别是中断及执行过程。
Linux的学习。尽管我们最终应用的是嵌入式Linux,但还是要先在PC机下学习,因为无论基于PC机还是嵌入式处理器的Linux开发、编程、调试等都是相近的,而PC机的性能、资源等都更加丰富,嵌入式Linux的开发环境通常也都建立在PC机Linux环境下,另外Linux大量的书籍也都是针对PC机写的。阿南觉得学习的顺序应该是先在PC机上安装Linux系统,再参考相应的入门书籍,主要是熟悉Linux环境,学习常用的命令和操作(不一定多,基本、常用的就可以,以后在使用过程中慢慢积累),理解各Linux下的目录结构与作用等。其次,学习在Linux环境下编程。可以参考《GNU/Linux编程指南》或《UNIX环境高级编程》,它们介绍了文件描述符的概念,打开、读、写等操作的系列基础知识;没有这些基础而直接看《Linux设备驱动程序》会觉得困难。再次,了解一下Linux内核源代码树的目录结构、编译等。最后,学习《Linux设备驱动程序》,理解驱动程序的结构框架等。根据实践需要也可学习网络编程和图形用户界面GUI编程,可以参考学习《UNIX网络编程》和《C++ GUI Qt3编程》。另外由于Qt GUI是基于C++的,所以需要学习C++的知识,也可以选择其他如Microwindows、MiniGUI等。有了PC机的Linux基础及编程知识后,就可以直接应用于嵌入式了!此时需要一个硬件平台(如开发板或直接的产品等目标系统)和该平台的开发环境。一般的处理器原厂或第三方都会提供开发环境,所以不需要我们移植,它包括建立在PC宿主机上的编译等工具和嵌入式Linux内核(包括硬件驱动等BSP)源码。此时只须学习开发环境的建立和使用,以及将PC机所学的知识应用于具体的嵌入式平台。如果涉及硬件及驱动,那么应该有一定的硬件调试和解决问题的能力,此时单片机、ARM基础及外围设备接口的调试能力将起到很重要的作用。很多朋友(包括非电子、自动化专业的朋友)都希望将来从事Linux驱动方面的工作,认为学习了Linux驱动方面的知识就OK了,而往往忽略硬件本身的调试解决问题能力,阿南觉得这是不正确的。因为Linux驱动与前后台控制硬件外设的区别只在于它与应用程序的接口,它要遵循一定的结构和规则,这种规则涉及的也就是通常讲的Linux驱动知识和技术,它是固定的,是容易掌握的,只要遵循就不会出问题。而硬件及外设是千变万化的,它所涉及的技术是多方面的,除处理器本身外,还有各种接口及协议、数字、模拟技术等。这些在设计、调试时是很容易出现问题的,此时要求我们有一定的调试、测试手段和方法。所以,阿南认为要想成为一名优秀的ARM Linux驱动工程师,首先必须是一名优秀的、具有丰富调试经验的单片机或ARM处理器应用工程师。
本书的使用与相关知识的同步学习曾经有一个朋友这样告诉阿南:“如果看您的笔记就能掌握ARM Linux驱动,那就是最好的目的了”。对不起,阿南做不到,写不出这种“葵花宝典”。这本书的前身是在21IC BBS上发表的《嵌入式Linux入门笔记》,主要是阿南在自学Linux和在项目中应用Linux时记录的笔记、出现的错误和心得等,是自己平时工作中非常重要的参考手册。发表后得到众网友的喜爱、支持及北航出版社胡晓柏主任的鼓励,故花更多的时间、精力将笔记丰富出版。..
嵌入式是一门实践性很强的技术,而《嵌入式Linux入门笔记》主要记录的是Linux等相关的软件部分,没有包括硬件相关的部分,为了让读者能够亲自实践,故增加了ARM及硬件部分。并且亲自设计了AN2410SSB(最小系统板)和AN2410MB(扩展底板),给出了所有原理图,介绍了制作过程,记录了用裸板开始调试的步骤和过程,介绍了如何让ARM运行及启动等各方面的内容,以及前后台(无操作系统下)的应用等。本书没有将所涉及的技术及理论都包括进来,不仅篇幅有限,而且也没有必要,因为已有太多相当经典的资料。
本书第1章为概述。第2章分析了硬件的原理图,读者应该阅读S3C2410A的数据手册,特别是信号引脚功能描述,内存控制部分。第3章主要介绍了关于Protel原理图和PCB板的绘制,如果读者没有Protel的基础可以参考人民邮电出版社的《电路设计与制版——Protel 99入门与提高》或其他Protel书。如果有Protel基础,只是没有绘制过多层板,那么可以参考人民邮电出版社的《Protel 99SE多层电路板设计与制作》。第4章介绍了S3C2410A系统核心部分的调试方法和工具的使用,以及利用工具进行测试的方法、手段。该部分是整个系统的基础,也是非常重要的,读者需要多试验,出现问题时多参考S3C2410A的数据手册。第5章专门分析了S3C2410A的启动代码,用于理解S3C2410A的启动过程,中断处理过程及存储器等相关部分,也是非常基础和重要的。因为启动代码由汇编组成,此时可参考清华大学出版社的《ARM体系结构与编程》,学习理解ARM的汇编语言等相关知识。第6、7章为硬件平台上实现ARM的外围实验和扩展实验,读者仍然要参考S3C2410A的数据手册,在仿真调试情况下理解ARM内部的寄存器、存储器、状态寄存器等与ARM体系相关的知识。另外还要阅读如WAV音频格式,SD卡规范及相关的数据手册等。CPLD部分读者可以参考电子工业出版社的《基于Quartus II的FPGA/CPLD设计》,学习基本的工程创建,图形设计输入,编译和编程等。Altera CPLD更详细的资料可以去官网下载。第8章介绍了前后台系统还需要考虑的相关知识:NAND Bootloader、文件系统和图形界面。图形界面部分,读者需要理解一些基本的绘图原理和算法,可以参考机械工业出版社的《计算机图形学的算法基础》。第9章介绍了在PC机下的Linux各方面技术,这些都是嵌入式Linux的基础,非常重要,涉及的知识内容也很多。在该章中,阿南只是总结了一些实践操作的部分内容,所以还需要读者自己去参考学习Linux的这些书籍:Linux系统的基本操作参考清毕大学出版社的《Red Hat Linux 9系统管理》(这本书应该被实践安装的桌面Linux系统相应版本的书替代),应用编程参考清华大学出版社的《GNU/Linux编程指南》或机械工业出版社的《Unix高级环境编程》,驱动编程参考中国电力出版社的《Linux设备驱动程序》。第10章主要介绍S3C2410A的嵌入式Linux开发环境的搭建及工具的使用。这里采用的是MIZI公司的Linux for S3C2410平台,读者也可以直接参考《MIZI Linux SDK for S3C2410》文档。第11章介绍在S3C2410A下实现Linux驱动,很多原理性的知识依然要参考《Linux设备驱动程序》一书,而且要多试验验证。读者在调试实现过程中也可以直接参考Linux for S3C2410的内核源码中和硬件、驱动相关的代码例子(可以在Windows系统下安装Source Insight软件,方便阅读Linux内核源代码)。第12章介绍嵌入式Linux桌面系统,可读写文件系统YAFFS的实现,嵌入式Web服务器BOA、NFS及WIFI。这些都是实践性很强的应用操作,所以读者主要是应用它们,出现问题时上网查找相关应用操作,寻找解决问题的思路,再测试验证。第13章是网络编程方面的知识,主要参考清华大学出版社的《UNIX网络编程第1卷:套接口API》,目的是掌握TCP客服机/服务器的实现及网络的调试方法。第14章介绍嵌入式GUI开发环境的创建和开发方法,桌面系统的移植。学习前读者应该先学习基于Qt的应用编程,可以参考北航出版社的《C++ GUI Qt3编程》,如果没有C++的基础可以参考清华大学出版社的《C++程序设计教程》。
致谢
感谢我的导师(也是本书的另一位作者)——方强多年来的关心与指导,且对本书付出的辛苦劳动。
感谢我的公司——广州市天誉创高科技有限公司及同事们,他们对本书提供了很大帮助。段克为本书绘制了部分电路图,丁亚锋为本书编写并调试了部分程序。另外,还要感谢曾水生、李玉琪、刘卫国、张端峰、龙靖、彭雄飞、王勇、黄焕立、王菊林、黄斌、何运辉、吴建、方斌、黄伟、傅良英、胡孝发、黄志艳、张凯、欧孔德、梁家乐、宁雪玉、蔡青青及蓝萍等人的帮助。
感谢深圳英蓓特公司提供RealView MDK开发工具及相关资料和技术支持。感谢EDN网为本书创立书友会(http://group.ednchina.com/999/)和开展本书的AN2410SSB学习板助学等活动。
感谢北京航空航天大学出版社嵌入式系统事业部主任胡晓柏的信任与鼓励,感谢21IC BBS上网友们的支持、建议和帮助。
感谢我的父母、老师、姐姐、姐夫及所有亲戚朋友们,你们的关心与爱都是阿南不断前进的动力。
阿南的技术水平、经验都还很欠缺,书中的错误和不妥之处在所难免,恳请广大读者朋友们批评指正;也欢迎登陆21IC BBS的ARM论坛或《ARM Linux入门与实践》书友会与阿南交流,共同提高。...
阿南
2008年9月
ARM和Linux学习方法的体会
如何才能学好或尽快上手ARM和Linux?这是很多初学者想问的,也曾经在网上讨论过。其实学习没有捷径,主要还是取决于学习态度和学习方法。ARM、Linux也一样,在此阿南根据自学过程中的体会和网上的讨论作一些总结。
ARM的学习。有了单片机或计算机结构的基本知识、C语言的基础,上手ARM是比较容易的。学习ARM,首先应该了解一下ARM的体系结构,了解它有哪些版本、哪些模式、哪些寄存器、异常等。这方面的内容可以参考《ARM体系结构与编程》一书,这本书介绍的内容还是很全的,可以先快速地浏览,特别是汇编指令不需要记住,以后应用时再查。其次选定一种具体厂家型号的ARM处理器,学习该处理器相关的开发工具的使用,如开发环境、仿真器及评估板等。然后可以分析该处理器的外围扩展方法,如SDRAM、NAND Flash等,一般官方或第三方都会提供原理图,可以用来分析。接下来要理解该处理器的启动过程,亲自尝试从一块裸板逐步运行自己的应用程序,也可以参考官方的启动代码及例程。最后就可以调试、测试该处理器的各种外围部件,例如定时器PWM、串口、LCD等,特别是中断及执行过程。
Linux的学习。尽管我们最终应用的是嵌入式Linux,但还是要先在PC机下学习,因为无论基于PC机还是嵌入式处理器的Linux开发、编程、调试等都是相近的,而PC机的性能、资源等都更加丰富,嵌入式Linux的开发环境通常也都建立在PC机Linux环境下,另外Linux大量的书籍也都是针对PC机写的。阿南觉得学习的顺序应该是先在PC机上安装Linux系统,再参考相应的入门书籍,主要是熟悉Linux环境,学习常用的命令和操作(不一定多,基本、常用的就可以,以后在使用过程中慢慢积累),理解各Linux下的目录结构与作用等。其次,学习在Linux环境下编程。可以参考《GNU/Linux编程指南》或《UNIX环境高级编程》,它们介绍了文件描述符的概念,打开、读、写等操作的系列基础知识;没有这些基础而直接看《Linux设备驱动程序》会觉得困难。再次,了解一下Linux内核源代码树的目录结构、编译等。最后,学习《Linux设备驱动程序》,理解驱动程序的结构框架等。根据实践需要也可学习网络编程和图形用户界面GUI编程,可以参考学习《UNIX网络编程》和《C++ GUI Qt3编程》。另外由于Qt GUI是基于C++的,所以需要学习C++的知识,也可以选择其他如Microwindows、MiniGUI等。有了PC机的Linux基础及编程知识后,就可以直接应用于嵌入式了!此时需要一个硬件平台(如开发板或直接的产品等目标系统)和该平台的开发环境。一般的处理器原厂或第三方都会提供开发环境,所以不需要我们移植,它包括建立在PC宿主机上的编译等工具和嵌入式Linux内核(包括硬件驱动等BSP)源码。此时只须学习开发环境的建立和使用,以及将PC机所学的知识应用于具体的嵌入式平台。如果涉及硬件及驱动,那么应该有一定的硬件调试和解决问题的能力,此时单片机、ARM基础及外围设备接口的调试能力将起到很重要的作用。很多朋友(包括非电子、自动化专业的朋友)都希望将来从事Linux驱动方面的工作,认为学习了Linux驱动方面的知识就OK了,而往往忽略硬件本身的调试解决问题能力,阿南觉得这是不正确的。因为Linux驱动与前后台控制硬件外设的区别只在于它与应用程序的接口,它要遵循一定的结构和规则,这种规则涉及的也就是通常讲的Linux驱动知识和技术,它是固定的,是容易掌握的,只要遵循就不会出问题。而硬件及外设是千变万化的,它所涉及的技术是多方面的,除处理器本身外,还有各种接口及协议、数字、模拟技术等。这些在设计、调试时是很容易出现问题的,此时要求我们有一定的调试、测试手段和方法。所以,阿南认为要想成为一名优秀的ARM Linux驱动工程师,首先必须是一名优秀的、具有丰富调试经验的单片机或ARM处理器应用工程师。
本书的使用与相关知识的同步学习曾经有一个朋友这样告诉阿南:“如果看您的笔记就能掌握ARM Linux驱动,那就是最好的目的了”。对不起,阿南做不到,写不出这种“葵花宝典”。这本书的前身是在21IC BBS上发表的《嵌入式Linux入门笔记》,主要是阿南在自学Linux和在项目中应用Linux时记录的笔记、出现的错误和心得等,是自己平时工作中非常重要的参考手册。发表后得到众网友的喜爱、支持及北航出版社胡晓柏主任的鼓励,故花更多的时间、精力将笔记丰富出版。..
嵌入式是一门实践性很强的技术,而《嵌入式Linux入门笔记》主要记录的是Linux等相关的软件部分,没有包括硬件相关的部分,为了让读者能够亲自实践,故增加了ARM及硬件部分。并且亲自设计了AN2410SSB(最小系统板)和AN2410MB(扩展底板),给出了所有原理图,介绍了制作过程,记录了用裸板开始调试的步骤和过程,介绍了如何让ARM运行及启动等各方面的内容,以及前后台(无操作系统下)的应用等。本书没有将所涉及的技术及理论都包括进来,不仅篇幅有限,而且也没有必要,因为已有太多相当经典的资料。
本书第1章为概述。第2章分析了硬件的原理图,读者应该阅读S3C2410A的数据手册,特别是信号引脚功能描述,内存控制部分。第3章主要介绍了关于Protel原理图和PCB板的绘制,如果读者没有Protel的基础可以参考人民邮电出版社的《电路设计与制版——Protel 99入门与提高》或其他Protel书。如果有Protel基础,只是没有绘制过多层板,那么可以参考人民邮电出版社的《Protel 99SE多层电路板设计与制作》。第4章介绍了S3C2410A系统核心部分的调试方法和工具的使用,以及利用工具进行测试的方法、手段。该部分是整个系统的基础,也是非常重要的,读者需要多试验,出现问题时多参考S3C2410A的数据手册。第5章专门分析了S3C2410A的启动代码,用于理解S3C2410A的启动过程,中断处理过程及存储器等相关部分,也是非常基础和重要的。因为启动代码由汇编组成,此时可参考清华大学出版社的《ARM体系结构与编程》,学习理解ARM的汇编语言等相关知识。第6、7章为硬件平台上实现ARM的外围实验和扩展实验,读者仍然要参考S3C2410A的数据手册,在仿真调试情况下理解ARM内部的寄存器、存储器、状态寄存器等与ARM体系相关的知识。另外还要阅读如WAV音频格式,SD卡规范及相关的数据手册等。CPLD部分读者可以参考电子工业出版社的《基于Quartus II的FPGA/CPLD设计》,学习基本的工程创建,图形设计输入,编译和编程等。Altera CPLD更详细的资料可以去官网下载。第8章介绍了前后台系统还需要考虑的相关知识:NAND Bootloader、文件系统和图形界面。图形界面部分,读者需要理解一些基本的绘图原理和算法,可以参考机械工业出版社的《计算机图形学的算法基础》。第9章介绍了在PC机下的Linux各方面技术,这些都是嵌入式Linux的基础,非常重要,涉及的知识内容也很多。在该章中,阿南只是总结了一些实践操作的部分内容,所以还需要读者自己去参考学习Linux的这些书籍:Linux系统的基本操作参考清毕大学出版社的《Red Hat Linux 9系统管理》(这本书应该被实践安装的桌面Linux系统相应版本的书替代),应用编程参考清华大学出版社的《GNU/Linux编程指南》或机械工业出版社的《Unix高级环境编程》,驱动编程参考中国电力出版社的《Linux设备驱动程序》。第10章主要介绍S3C2410A的嵌入式Linux开发环境的搭建及工具的使用。这里采用的是MIZI公司的Linux for S3C2410平台,读者也可以直接参考《MIZI Linux SDK for S3C2410》文档。第11章介绍在S3C2410A下实现Linux驱动,很多原理性的知识依然要参考《Linux设备驱动程序》一书,而且要多试验验证。读者在调试实现过程中也可以直接参考Linux for S3C2410的内核源码中和硬件、驱动相关的代码例子(可以在Windows系统下安装Source Insight软件,方便阅读Linux内核源代码)。第12章介绍嵌入式Linux桌面系统,可读写文件系统YAFFS的实现,嵌入式Web服务器BOA、NFS及WIFI。这些都是实践性很强的应用操作,所以读者主要是应用它们,出现问题时上网查找相关应用操作,寻找解决问题的思路,再测试验证。第13章是网络编程方面的知识,主要参考清华大学出版社的《UNIX网络编程第1卷:套接口API》,目的是掌握TCP客服机/服务器的实现及网络的调试方法。第14章介绍嵌入式GUI开发环境的创建和开发方法,桌面系统的移植。学习前读者应该先学习基于Qt的应用编程,可以参考北航出版社的《C++ GUI Qt3编程》,如果没有C++的基础可以参考清华大学出版社的《C++程序设计教程》。
致谢
感谢我的导师(也是本书的另一位作者)——方强多年来的关心与指导,且对本书付出的辛苦劳动。
感谢我的公司——广州市天誉创高科技有限公司及同事们,他们对本书提供了很大帮助。段克为本书绘制了部分电路图,丁亚锋为本书编写并调试了部分程序。另外,还要感谢曾水生、李玉琪、刘卫国、张端峰、龙靖、彭雄飞、王勇、黄焕立、王菊林、黄斌、何运辉、吴建、方斌、黄伟、傅良英、胡孝发、黄志艳、张凯、欧孔德、梁家乐、宁雪玉、蔡青青及蓝萍等人的帮助。
感谢深圳英蓓特公司提供RealView MDK开发工具及相关资料和技术支持。感谢EDN网为本书创立书友会(http://group.ednchina.com/999/)和开展本书的AN2410SSB学习板助学等活动。
感谢北京航空航天大学出版社嵌入式系统事业部主任胡晓柏的信任与鼓励,感谢21IC BBS上网友们的支持、建议和帮助。
感谢我的父母、老师、姐姐、姐夫及所有亲戚朋友们,你们的关心与爱都是阿南不断前进的动力。
阿南的技术水平、经验都还很欠缺,书中的错误和不妥之处在所难免,恳请广大读者朋友们批评指正;也欢迎登陆21IC BBS的ARM论坛或《ARM Linux入门与实践》书友会与阿南交流,共同提高。...
阿南
2008年9月
书摘回到顶部↑
第一篇ARM硬件
第1章概述
1.1嵌入式系统、单片机、ARM及Linux概述
嵌入式系统的范围很广,指具有计算能力的非PC系统,即具有通常使用的个人电脑的全部或部分特质的专用计算机系统。如生活中的PDA、手机、电视机顶盒、数字电视、数码相机以及工业自动化仪表、医疗仪器等。它分硬件和软件两部分,硬件以嵌入式处理器(相当于PC的CPU)为核心,外扩ROM、RAM(相当于PC的硬盘、内存条)、输入/输出设备(PC的键盘/显示器)、各种通信接口(串口、USB、网络)等。软件由引导程序(PC的BIOS)、嵌人式操作系统(相当于PC机的Windows XP)和应用程序(相当于在Windows XP上运行的程序,如金山词霸、Word等)3部分组成,或只有其中的某部分。
……
第1章概述
1.1嵌入式系统、单片机、ARM及Linux概述
嵌入式系统的范围很广,指具有计算能力的非PC系统,即具有通常使用的个人电脑的全部或部分特质的专用计算机系统。如生活中的PDA、手机、电视机顶盒、数字电视、数码相机以及工业自动化仪表、医疗仪器等。它分硬件和软件两部分,硬件以嵌入式处理器(相当于PC的CPU)为核心,外扩ROM、RAM(相当于PC的硬盘、内存条)、输入/输出设备(PC的键盘/显示器)、各种通信接口(串口、USB、网络)等。软件由引导程序(PC的BIOS)、嵌人式操作系统(相当于PC机的Windows XP)和应用程序(相当于在Windows XP上运行的程序,如金山词霸、Word等)3部分组成,或只有其中的某部分。
……








点击看大图




加载中...

