- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式底层开发总结51单片机应该是大部分搞嵌入式最先接触的,也是学生时期接触的第一款单片机,本人是电子信息工程毕业的,接触的第一个单片机也是51,然后是STM32.51和STM32 STM32比51 难一点,不过本质上都是单片机,STM32片上外设多很多,定时器啥的复杂多的多。STM32片上外设多,功能强大,可以说学了STM32之后基本上所有的单片机应该都能马上上手的,虽然我也只是只接触到51 和STM32.。大四全国电子设计大赛之后就再也没有接触到单片机了。后来工作就一直是ARM+linux,android。---------------------------------------------------------------------------------------------------------------任何计算机系统都是软件和硬件的结合体,如果只有硬件而没有软件,则硬件是没有灵魂的躯壳;如果只有软件没有硬件,则软件就是一堆无用的字符。在底层硬件的基础上,操作系统覆盖一层驱动,屏蔽底层硬件的操作,通过特定的软件接口去操作底层硬件,用户在用户空间可以很容易的把软件设计目标放在策略与需求上,可以很方便的屏蔽掉底层实现,从而很好的完成客户功能需求。计算机系统是软件和硬件的结合体。而软件又分为应用层软件和驱动层软件。驱动层软件是应用层软件和底层硬件的纽带。通过驱动层软件实现对底层硬件屏蔽。在裸机时代,比如单片机系统,程序员往往是直接操作硬件寄存器,直接设置硬件。而在Linux操作系统中,硬件驱动程序中实现对硬件直接操作,而用户空间,通过通用的系统调用接口,实现对硬件操作,应用程序没有直接操作底层设备,通过posix标准,应用程序的系统调用往往是被规定和限值,用户只能通过规定的接口实现对底层硬件的操作,导致了应用程序在类UINIX操作系统具有非常好的可移植性。img src=/0c6d11554f00483ec57ee0_b.jpg data-rawwidth=383 data-rawheight=183 class=content_image width=383图2.1 直接操作硬件程序上图2.1 是裸机时代,应用程序和硬件操作糅合在一起,应用程序和硬件操作高度耦合的框图,上述代码一般很难有良好的代码互用和移植性。往往从一个平台移植到另一个平台,甚至是同一平台不同硬件配置都要求很大的代码改动,另外从应用层来说,应用与驱动高度耦合,应用程序也几乎难以移植,甚至说是没有应用程序概念,原因在于应用与驱动的纠缠不清。img src=/15b99695e831ce5cd8b007d4858a2b70_b.jpg data-rawwidth=437 data-rawheight=317 class=origin_image zh-lightbox-thumb width=437 data-original=/15b99695e831ce5cd8b007d4858a2b70_r.jpg图2.2 无操作系统应用程序和设备驱动程序关系上图2.2所示,良好的裸机代码框架,设备驱动层和应用层之间有良好的分层思想,用户可以较好的实现策略和需求,例如:客户要求实现流水灯程序,程序员在底层机制实现(硬件操作)的基础下,可以充分在用户应用程序中把主要精力方法流水灯的实现,即策略。但是在良好的裸机程序设计,代码移植性可能从一个平台移植到另外一平台只需要修改少量的底层驱动,例如:LED_ON()的实现。但是在用户空间,没有系统调用概念,函数接口千差万别。应用程序移植性差。 img src=/c816731e74743cdcc2e9b3611a8c9b5a_b.jpg data-rawwidth=366 data-rawheight=367 class=content_image width=366图2.3 Linux系统调用框图操作系统中,需求决定应用程序,通过系统调用,调用底层驱动,此外,在驱动程序中,把一部分公用的驱动接口抽象出来,如此,程序员只需修改很少量的驱动资源,形成特定的驱动框架。导致用户只需添加专用的硬件属性作为平台资源,在内核中获取资源,大大解放了设备驱动开发,提高了设备驱动的通用型。在用户空间,由于遵循posix标准,类UNIX操作系统中,所有操作接口基本一样,从而方便了应用程序的移植,应用程序几乎不要做修改。如图2.3所示。Linux操作系统对于所有的硬件都是当做一个文件来操作:一切设备皆文件。Linux设备文件一般分为字符设备,块设备,网络设备。在Linux系统中,除了网络设备之外,所有的设备都被映射到Linux的文件系统中。如图2.4所示。img src=/1438f8b1f8743bd0c55d6a
您可能关注的文档
- 2.6熵变的计算方案.ppt
- 2.6应用一元二次方程2方案.ppt
- 岳麓版历史必修二第一单元提升题.doc
- 岭南版美术四年级神秘的图腾柱.ppt
- 岭南版四年级《高山大海江河》课件.ppt
- 岳麓版八年级下册历史第21课.ppt
- 2.C程序基本知识--变量定义,数据类型,简单程序方案.ppt
- 崇左市矿产资源总体规划(2008~2015年).doc
- 2.8函数模型及其应用方案.ppt
- 2.7_过电压及其防护方案.ppt
- 广州市天河区灵秀小学2025年12月公开招聘编外聘用制专任教师二次延迟备考题库含答案详解.docx
- 广州市天河区灵秀小学2025年12月公开招聘编外聘用制专任教师二次延迟备考题库及答案详解参考.docx
- 广州市天河区灵秀小学2025年12月公开招聘编外聘用制专任教师二次延迟备考题库及完整答案详解一套.docx
- 广州市天河区灵秀小学2025年12月公开招聘编外聘用制专任教师二次延迟备考题库有答案详解.docx
- 广州市天河区灵秀小学2025年12月公开招聘编外聘用制专任教师二次延迟备考题库及完整答案详解1套.docx
- 广州市天河区灵秀小学2025年12月公开招聘编外聘用制专任教师二次延迟备考题库及参考答案详解1套.docx
- 广州市天河区灵秀小学2025年12月公开招聘编外聘用制专任教师二次延迟备考题库及参考答案详解一套.docx
- 广州市天河区灵秀小学2025年12月公开招聘编外聘用制专任教师二次延迟备考题库及答案详解一套.docx
- 广州市天河区灵秀小学2025年12月公开招聘编外聘用制专任教师二次延迟备考题库及一套答案详解.docx
- 广州市天河区灵秀小学2025年12月公开招聘编外聘用制专任教师二次延迟备考题库及参考答案详解.docx
最近下载
- 人教版八年级上册生物期末复习计划.docx VIP
- 民事执行庭案件代理委托协议.docx VIP
- 数字信号处理-理论、算法与实现(第三版)胡广书习题解答.docx
- 电大大作业:试述中国共产党百年奋斗的历史意义是什么?.doc VIP
- 电大大作业:试述中国共产党百年奋斗的历史意义是什么?.pdf VIP
- 试述中国共产党一百年奋斗的历史意义是什么?(二).pdf VIP
- 电大大作业:试述中国共产党一百年奋斗的历史意义是什么.pdf VIP
- 2024年山西万家寨水务控股集团所属企业招聘笔试真题.docx VIP
- 《会计实务专题》形考作业1-4.docx VIP
- 2024年高考作文议论文写作之“记忆”“衡量事情值得做的标准”“拒绝沉溺”作文导写.docx VIP
原创力文档


文档评论(0)