2022年嵌入式系统设计的最后知识点总结.docx
《2022年嵌入式系统设计的最后知识点总结.docx》由会员分享,可在线阅读,更多相关《2022年嵌入式系统设计的最后知识点总结.docx(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品_精品资料_1、嵌入式系统的定义?系统概念可编辑资料 - - - 欢迎下载精品_精品资料_以应用为 中心 、以运算机技术为 基础 、软硬件 可裁剪 、适应应用系统对功能、牢靠性、 成本、体积、功耗严格要求的专用运算机系统 .“嵌入”、“专用”、“运算机”2、嵌入式系统的软、硬件组成?以及主要特点?软件 :从底层到上层:bootloader 等系统初始化引导程序、设备驱动层(包括驱动程序、板级支持包 BSP 等)、操作系统、用户应用程序. (底层为上层供应服务)开发软件 :即集成开发环境( asemmbler&compiler&linker&debugger&loader)硬件 组成:核心板
2、 +外围板 +外设 核心板:微掌握器( CPU 和外设接口、外设掌握器) 、电源、时钟、复位、 SDRAM 、flash.外围板面对外围设备,一般是引脚的集合、电平转换电路.外围设备. ,当然也可以将核心板和外围板放在一起.硬件特点 :通常由嵌入式处理器和嵌入式外围设备组成, 高度集成, 常采纳 SOC 设计方法, 对功耗、体积等有严格要求,定制性打算了它的可裁剪性,没有像运算机领域的垄断, 解决方案不唯独.软件特点 :采纳交叉开发方式,系统软件层次分明,操作系统为用户程序供应标准 API,供应图形接口和文件系统.用户调用系统服务,系统调用设备驱动从而操纵硬件.3、嵌入式系统产品设计的基本流程
3、?需求分析功能性需求是系统的基本功能,如输入输出信号、操作方式等. 非功能性需求包括系统性能、成本、功耗、体积、重量等因素.规格说明精确的反映客户的需求并且作为设计时必需明确遵循的要求.体系结构设计描述系统如何实现所述的功能和非功能需求,包括对硬件、 软件和执行装置的功能划分以及系统的软件、硬件选型等.软硬件设计基于体系结构,对系统的软件、硬件进行具体设计.系统集成把系统的软件、 硬件和执行装置集成在一起,进行调试, 发觉并改进单元设计过程中的错误.系统测试对设计好的系统进行测试,看其是否满意规格说明书中给定的功能要求.4、处理器及操作系统的选型主要考虑哪些方面? 操作系统本身所供应的开发工具
4、 . 操作系统向硬件接口 移植难度 . 操作系统的 内存要求 . 开发人员 是否熟识 此操作系统及其供应的系统API . 操作系统 是否供应硬件的驱动程序,如网卡驱动程序等. 操作系统的 是否具有可剪裁性 . 操作系统 是否具有实时性能 .5、交叉开发、交叉开发环境?为何需要交叉开发环境?可编辑资料 - - - 欢迎下载精品_精品资料_在一台通用运算机(宿主机)上进行软件的编辑编译,然后下载到嵌入式设备(目标机)中运行调试的开发方式交 叉开 发环境 一般 由运行 于宿 主机 上的交 叉开 发软 件(assembler&compiler&linker&debugger&loader)、宿主机到目
5、标机的调试通道组成需要交叉开发环境是由于目标机一般对体积、 功耗等有严格限制, 资源也面对应用, 较为紧急,要求仅仅能流畅运行代码即可, 而将用户开发软件 (包括各种库、 工具) 放置在主机上, 而且现在的集成开发环境供应了各种修改好的功能库,用起来也便利.6、嵌入式集成开发环境的主要功能?这是由其组成打算的. Assembler 将.c 源代码汇编, compiler 形成目标文件, linker 依据链接描述文件将各个目标代码链接定位生成可执行代码.Debugger 有些交叉开发工具供应了仿真调试通道. Loader 可以将目标文件烧录进设备中(有时需要内部引导代码的协作)7、嵌入式 Li
6、nux 开发主要流程?搭建开发环境 -烧写 bootloader-烧写内核 -烧写根文件系统 -烧写应用程序.开发环境 :REDHAT LINUX 、下载相应的 GCC交叉编译器进行安装、 配置开发主机 (配置 MINICOM和配置网络, MINICOM软件的作用是作为调试嵌入式开发板信息输出的监视器和键盘输入的工具,配置网络主要是配置IP 的址、 NFS 网络文件系统,需要关闭防火墙)烧写 bootloader下载一些公开源代码的BOOTLOADER依据自己具体芯片进行移植修改.下载时,有些芯片没有内置引导装载程序,比如三星的ARM7 、ARM9系列芯片,这样就需要编写烧写开发板上flash
7、 的烧写程序.或者网络上有免费下载的WINDOWS下通过 JTAG并口简易仿真器烧写ARM外围 flash芯片的程序.也有LINUX下公开源代码的 J-FLASH程序.下载内核假如有特的针对你所使用的CPU 移植好的 LINUX操作系统那是再好不过,下载后再添加自己的特定硬件的驱动程序,进行调试修改.下载根文件系统从 下载使用 BUSYBOX软件进行功能裁减, 产生一个最基本的根文件系统.根文件系统在嵌入式系统中一般设为只读,需要使用mkcramfs 、genromfs 等工具产生烧写映象文件.(文件系统就是把你硬盘上数据依据肯定格式组织成一棵树.数据块对应名称. 删了它就相当于把硬盘格式化了
8、.根文件系统就是出了内核以外,全部的系统文件储备的的方.之所以成为根, 是由于有根才能成生长成树,是其它文件的最终挂载点.我们要明白根文件系统和内核是完全独立的两个部分,它是内核启动时所mount的第一个文件系统,里 面有内核启动所必需的数据,不然就退出启动可编辑资料 - - - 欢迎下载精品_精品资料_文件系统这种机制有利于用户和操作系统的交互.数据块对应名称.尽管内核是Linux的核心,但文件却是用户与操作系统交互所采纳的主要工具,特别是LINUX .)下载用户程序可以下载到根文件系统中,有的应用程序不使用根文件系统,而是直接将应用程序和内核设计在一起,这有点类似于UCOS-II 的方式.
9、8、嵌入式 Linux 开发环境中配置 NFS 服务的目的?可以使不同机器、 不同操作系统之间通过网络共享文件,像拜访本的文件一样拜访远端系统 上的文件,在开发阶段,主机制作基于NFS 的文件系统,制定开放目录,开放对象的IP 范围,将目录挂载到嵌入式设备后,嵌入式设备可以便利的拜访、修改主机主机文件.9、硬件重定向?上课的时候老师举得printf ()是个很好的例子, 重定向程序是面对编译环境中的连接器的, 是用户自己定义的C 库函数,有了它,在程序连接时连接器会连接用户自己编写的C 库中的功能函数而不是标准C 库. 相当于将标准 C 库进行了一次移植 .从主机环境到实际运行环境的移植.比如
10、:原来库函数fputc 是把字符输出到调试器掌握窗口中去的,但用户把输出设备改成了UART 端口 ,这样一来 ,全部基于 fputc 函数的 printf 系列函数输出都被重定向到UART 端口上去了.相当于实现类似的功能,但是底层的驱动变了.10、你认为一名好的嵌入式系统设计专业同学,应具备哪些才能?如何培育和提高这些才能?专业技能 : 微机原理 的学问,即知道微处理器的工作过程、工作原理,对51单片机、 X86T 体系、 ARM 体系的架构有肯定的熟识、 .电路学问 ,虽然在系统设计中, 硬件只占 30%的工作量, 而且随着系统复杂度的提高, 对硬件的关怀越来越少,但是对电路的明白程度会限
11、制你代码的优化, 是有寄存器编程不明白底层电路根本编不出程序来, 而且在硬件显现问题的时候, 要有才能精确判定. 操作系统,随着 ARM 在嵌入式系统中占据主导位置,单片机已经退出复杂应用, 操作系统引入了嵌入式系统设计中, 在操作系统供应的平台上做开发, 对操作系统功能、使用、层次组成的懂得的重要性不言而喻.算法与数学 ,这关系着软件代码的优化实现,在高层次的编程中,算法结构和数学学问将发挥很大的作用.掌握理论 ,由于嵌入式系统实现的最主要的功能就是智能掌握,对掌握思想、 掌握算法、掌握理论的懂得有肯定的重要性.专业思维 :对嵌入式 软硬件层次相当明白.对开发环境 及其原理 开发流程 有肯定
12、的熟识.运算思维 :将运算思想、才能贯穿于“需选改用学” ,解决运算问题,一切归于二进制.可编辑资料 - - - 欢迎下载精品_精品资料_职业病思维 :用嵌入式系统的思维去分析生活中遇到的设备,假如能分析明白或者做出估计,将是一件很高兴的事情.“ 编码”思想:其实整个运算机世界,都表达着一种“编码”思想,人如何与机器交互、器件之间如何交互、 通信双方如何定义通信协议, 这都表达着编码的思想.治理的思维 :由于在复杂的运算机系统也是人设计得, 各模块的工作和谐无处不散发着治理的思想,把系统调用抽象为人事支配,将变得很有爱.要信任你要你想到的解决问题的方法(算法) ,确定能编出来.要信任 ,真理确
13、定是存在的, 你仍没有到遇到未解之谜的程度,即只要是问题就能解决, 遇到需要反复测试的时候, 不能丧气, 或许只是哪个学问点懂得的有偏颇,离真理只有一步之遥.从历史看起、 从总体看起 :用历史的眼光和虚心但不自卑的态度看待复杂的系统和学问,这样一切就都简洁又好懂得.熟识指导实践,实践反作用熟识.治理的思想.个人品质 :不悲不喜 :在嵌入式开发过程中, 会有一个又一个问题显现, 不要由于一个问题的解决和搁置而悲喜,更大的喜剧在前方,或许更大的悲剧也在酝酿.勇于钻研 :对解决问题有剧烈的憧憬, 有战胜的希望. 所以一些很恬淡的人往往不会成为 IT 行业的精英.并从中找到成就感、存在感乐在其中 :俗
14、语说爱好是最好的老师, 拿观赏的眼光看待内核的治理思想、看待精妙的算法、看待精密的电路设计,你会发觉一切都美好起来.要会学习:有强大的学习才能,要会查资料、会谈天、会估计.用“学道”的思维去学习一切学问,抓住本质,老子说, 为学日益,为道日损, 损之又损,以至于无为,无为而无不为. ,最复杂的科学,也能用最朴实的话说明.用历史的眼光、用总体的眼光去学习.耐得住孤寂仍得有爱好爱好 .有时会比较枯燥和辛苦,除了对专业的爱好之外, 最好能有些调剂生活的爱好爱好,比如唱歌、画画、旅行、摄影、健身等等.如何提高 ?由于嵌入式系统设计所涉及的学问面相当广,微机原理学问、 电路学问、 接口学问、操作系统、甚
15、至是掌握理论、数学运算等等,所以单单学习学问点的话,会 很枯燥而且提高很慢,一切以应用为中心, 在做项目中成长 ,加深懂得,边学变做,把解决问题当做学习的目标. 找如干良师益友 ,他们能带给你好的影响,包括做项目和做人, 在与他们的沟通共事中你可以快速提高. 大量的阅读, 开阔眼界,明白当前行业的进展状况, 大量阅览 一些典型系统的设计, 所谓书到用时方很少是很有道理的.学一些跟专业相关的学问 ,如数据库、网站设计等,不但能在设计系统时打开思维,仍可以给IT 男换个口味,陶冶一下情操.ARM 体系结构11、ARM 硬件电路最小系统组成?微掌握器(例如 2410, CPU+ 外设接口 /外设掌握
16、器)可编辑资料 - - - 欢迎下载精品_精品资料_电源、时钟、复位、储备器( SDRAM/FLASH( NOR8 位、 NAND8 16 32位)FLASH :存放操作系统、用户程序等需要掉电后储存的数据SDRAM :系统运行的主要区域,系统及用户数据及堆栈,都在这个区域.有时启动模式挑选有时需要 JTAG :对芯片内全部部件进行拜访,通过该接口对系统调试、编程12、ARM 处理器的主要工作模式?ARM 的 7 种处理器模式 (不同的模式下有自己的行为准就)USR .正常程序执行模式FIQ .支持高速数据传送和通道处理IRQ .用于通用中断的处理.治理( SVC ).操作系统爱护模式中止 未
17、定义系统除了 USR 之外,其它6 种又称为特权模式. 6 中种除了系统模式又称为反常模式(即处理反常时的工作模式) .在软件掌握下可以转变模式(即转变CPSR 相应),外部中断或反常处理也引起模式变化,用户模式下不能转变模式.13、核心寄存器的作用:R13 通常用作堆栈指针 ,称为 SP,被初始化为多个模式下的堆栈. R14 用作子程序连接寄存器 LR ,中断反常或执行 BL 时得到 PC 即 R15 的备份.Cpsr 程序状态寄存器 ,32 位只用 12 位,全部模式下均可见.Spsr 储存程序状态寄存器 ,即发生反常时对 CPSR 进行储存,储存当前状态. 5个反常模式下均有各自的 SP
18、SR.14、ARM 处理器的启动过程?第一, 看一下, ARM 启动时的硬件机制,上电产生 复位反常 ,CPU 强制 PC 为 0x00000000 , 执行复位反常处理函数,接下来就相当于执行了STRARTUP.S 的功能.是给用户程序执行给以合适的工作环境, 设置中断向量表、 堆栈、 时钟、 完成内存拷贝等, 相当于 STARTUP.S 或者 bootloader 的前端代码, 是开机执行的程序. .拿 2410 的启动代码举例, 它启动 CPU 的过程是:1、在起始的址安排中断向量表 即中断处理函数( CPU 要求的),以为向量空间只有4 字节, 所以一般只是一个跳转指令,去别处执行.在
19、跳到复位反常 之后,关闭中断,关闭看门狗./2、之后初始化储备器系统3、初始 多个模式下的堆栈 (模式切换时,硬件给SP 置位)/4、初始化有特别要求的外围设备,如LED 灯、看门狗5、初始化用户的执行环境(在FLASH 中运行太慢了,把代码整体搬迁 到 RAM 中)/6、切换处理器的工作模式7、调用主程序15、可编辑资料 - - - 欢迎下载精品_精品资料_当正常的程序执行流程发生临时的停止时,称之为反常对反常的处理有优先级, 处理反常需要跳转至反常模式. 并依据反常向量跳转至响应的子程序(执行之前必需储存现场) ,即反常显现后强制跳转至固定的储备器的址执行.反常是比中断更大的概念.ARM
20、有 7 种反常.包括复位治理模式0x00000000软中断 SWI治理模式0x00000008 IRQIRQ 模式 0x00000018FIQFIQ 模式 0x0000001c仍包括预取中止、数据中止、未定义.(反常显现时,反常模式分组的 R14 和 SPSR用于储存下一条程序的址和 CPSR.反常返回时, SPSR-CPSR,R14-PC)在启动代码中第一就是设置所谓的反常向量表,也就是在指定的位置放置反常处理程序(一般是跳转指令) .反常发生时, CPU 会依据规定强制置 PC,恰好去执行我们设置好的跳转指令,接着执行服务程序.反常处理流程 :(硬件机制,只做这些,跟代码无关. )1、依据
21、反常类型,强制设置 CPSR 的运行模式位2、在切换到的反常模式下, 在当前的链接寄存器 LR r14 中储存上个模式的 PC值-4,以便程序在处理反常返回时能从正确的位置重新开头执行3、将上一个模式的 CPSR 复制到当前反常模式的SPSR中(留意 1 与 2、3 的冲突,不能独立执行,但是是硬件实现的,无关代码)4、强制 PC.然后就到了执行代码的时候从相关的反常向量的址取下一条指令执行,从而跳转到相应的反常处理程序处.反常返回流程 :(有指令)1、将 LR 寄存器中的值减去相应的偏移量对于 IRQ/FIQ 是 4送到 PC中2.、将 SPSR 复制回 CPSR(留意 1 与 2 的冲突,
22、不能独立执行, 用一条带 的指令执行, 怎么着都是一条 )3、清除禁止中断标志 ,假如它被设置成使能4、全部修改过的用户寄存器必需从处理程序的爱护堆栈中复原(即出栈).对中断嵌套的处理:留意:1、储存在 LR 中的 PC 值,和该值返回时的处理过程.当 IRQ 反常中断产生时, 程序计数器 pc 的值已经更新, 它指向当前指令后面第3 条指令(对可编辑资料 - - - 欢迎下载精品_精品资料_于 ARM指令,它指向当前指令的址加12 字节的位置.当 IRQ 反常中断产生时,处理器将值( pc-4 )储存到 IRQ 反常模式下的寄存器lr_irq中,它指向当前指令之后的第2 条指令, 因此返回操
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年嵌入式系统设计的最后知识点总结 2022 嵌入式 系统 设计 最后 知识点 总结
限制150内