版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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、嵌入式 Linux 开发主要流
6、程?搭建开发环境 - 烧写 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 的方式。精品资料_8、嵌入式 Linux 开发环境中配置
9、NFS 服务的目的?可以使不同机器、 不同操作系统之间通过网络共享文件,像访问本地文件一样访问远端系统上的文件,在开发阶段,主机制作基于NFS 的文件系统,制定开放目录,开放对象的IP 范围,将目录挂载到嵌入式设备后,嵌入式设备可以方便地访问、修改主机主机文件。9、硬件重定向?上课的时候老师举得printf ()是个很好的例子,重定向程序是面向编译环境中的连接器的,是用户自己定义的C 库函数,有了它,在程序连接时连接器会连接用户自己编写的C 库中的功能函数而不是标准C 库。 相当于将标准C 库进行了一次移植。从主机环境到实际运行环境的移植。比如:本来库函数fputc() 是把字符输出到调试器控
10、制窗口中去的,但用户把输出设备改成了UART 端口 ,这样一来 ,所有基于 fputc() 函数的 printf() 系列函数输出都被重定向到UART 端口上去了。相当于实现类似的功能,但是底层的驱动变了。10 、你认为一名好的嵌入式系统设计专业学生,应具备哪些能力?如何培养和提高这些能力?专业技能 :微机原理 的知识,即知道微处理器的工作过程、工作原理,对51单片机、 X86T 体系、 ARM 体系的架构有一定的认识、 。 电路知识 ,虽然在系统设计中,硬件只占30% 的工作量,而且随着系统复杂度的提高,对硬件的关心越来越少,但是对电路的了解程度会限制你代码的优化,是有寄存器编程不了解底层电
11、路根本编不出程序来,而且在硬件出现问题的时候,要有能力准确判断。操作系统 ,随着 ARM 在嵌入式系统中占据主导地位, 单片机已经退出复杂应用,精品资料_操作系统引入了嵌入式系统设计中,在操作系统提供的平台上做开发,对操作系统功能、使用、层次组成的理解的重要性不言而喻。算法与数学 ,这关系着软件代码的优化实现,在高层次的编程中,算法结构和数学知识将发挥很大的作用。控制理论 ,因为嵌入式系统实现的最主要的功能就是智能控制,对控制思想、 控制算法、控制理论的理解有一定的重要性。专业思维 :对嵌入式 软硬件层次相当了解;对开发环境 及其原理 开发流程 有一定的认识;计算思维 :将计算思想、能力贯穿于
12、“需选改用学”,解决计算问题,一切归于二进制。职业病思维 :用嵌入式系统的思维去分析生活中遇到的设备,如果能分析明白或者做出推测,将是一件很开心的事情。“编码 ”思想:其实整个计算机世界,都体现着一种“编码”思想,人如何与机器交互、器件之间如何交互、通信双方如何定义通信协议,这都体现着编码的思想。管理的思维 :因为在复杂的计算机系统也是人设计得,各模块的工作协调无处不散发着管理的思想,把系统调用抽象为人事安排,将变得很有爱。要相信你要你想到的解决问题的方法(算法) ,肯定能编出来。要相信,真理肯定是存在的, 你还没有到遇到未解之谜的程度,即只要是问题就能解决,遇到需要反复测试的时候,不能气馁,
13、也许只是哪个知识点理解的有偏颇,离真理只有一步之遥。从历史看起、从总体看起 :用历史的眼光和谦虚但不自卑的态度看待复杂的系统和知识,这样一切就都简单又好理解。精品资料_认识指导实践,实践反作用认识。管理的思想。个人品质 :不悲不喜 :在嵌入式开发过程中, 会有一个又一个问题出现, 不要因为一个问题的解决和搁置而悲喜,更大的喜剧在前方,也许更大的悲剧也在酝酿。勇于钻研 :对解决问题有强烈的向往, 有征服的渴望。 所以一些很恬淡的人往往不会成为 IT 行业的精英。并从中找到成就感、存在感乐在其中 :俗话说兴趣是最好的老师, 拿欣赏的眼光看待内核的管理思想、看待精妙的算法、看待精密的电路设计,你会发
14、现一切都美好起来。要会学习:有强大的学习能力,要会查资料、会聊天、会推测。用“学道”的思维去学习一切知识,抓住本质,老子说,为学日益,为道日损,损之又损,以至于无为,无为而无不为。 最复杂的科学,也能用最朴素的话解释。,用历史的眼光、用总体的眼光去学习。耐得住寂寞还得有兴趣爱好。有时会比较枯燥和辛苦,除了对专业的兴趣之外,最好能有些调节生活的兴趣爱好,比如唱歌、画画、旅行、摄影、健身等等。如何提高 ?因为嵌入式系统设计所涉及的知识面相当广,微机原理知识、 电路知识、 接口知识、操作系统、甚至是控制理论、数学计算等等,所以单单学习知识点的话,会很枯燥而且提高很慢,一切以应用为中心,在做项目中成长
15、 ,加深理解,边学变做,把解决问题当做学习的目标。找若干良师益友 ,他们能带给你好的影响,包括做项目和做人, 在与他们的交流共事中你可以迅速提高。大量的阅读, 开阔眼界,了解当前行业的发展状况, 大量阅览 一些典型系统的设计, 所谓书到用时方精品资料_很少是很有道理的。学一些跟专业相关的知识 ,如数据库、网站设计等,不但能在设计系统时打开思维,还可以给IT 男换个口味,陶冶一下情操。ARM 体系结构11 、ARM 硬件电路最小系统组成?微控制器(例如2410 , CPU+ 外设接口 /外设控制器)电源、时钟、复位、存储器( SDRAM/FLASH(NOR8 位、 NAND8 16 32位)FL
16、ASH :存放操作系统、用户程序等需要掉电后保存的数据SDRAM :系统运行的主要区域,系统及用户数据及堆栈,都在这个区域。有时启动模式选择有时需要JTAG :对芯片内所有部件进行访问,通过该接口对系统调试、编程12 、ARM 处理器的主要工作模式?ARM 的 7 种处理器模式(不同的模式下有自己的行为准则)USR ;正常程序执行模式FIQ ;支持高速数据传送和通道处理IRQ ;用于通用中断的处理。管理( SVC );操作系统保护模式中止未定义系统除了 USR 之外,其它6 种又称为特权模式。6 中种除了系统模式又称为异常模式(即处理异常时的工作模式) 。精品资料_在软件控制下可以改变模式(即
17、改变CPSR 相应),外部中断或异常处理也引起模式变化,用户模式下不能改变模式。13 、核心寄存器的作用:R13 通常用作堆栈指针 ,称为 SP,被初始化为多个模式下的堆栈。R14 用作子程序连接寄存器LR,中断异常或执行BL 时得到 PC 即 R15 的备份。Cpsr 程序状态寄存器 ,32 位只用 12 位,所有模式下均可见。Spsr 保存程序状态寄存器 ,即发生异常时对CPSR 进行保存,保存当前状态。5 个异常模式下均有各自的SPSR 。14 、ARM 处理器的启动过程?首先,看一下, ARM 启动时的硬件机制, 上电产生 复位异常 ,CPU 强制 PC 为 0x00000000 ,执
18、行复位异常处理函数,接下来就相当于执行了STRARTUP.S的功能。 是给用户程序执行给以合适的工作环境,设置中断向量表、 堆栈、时钟、完成内存拷贝等, 相当于 STARTUP.S或者 bootloader的前端代码,是开机执行的程序。.拿 2410 的启动代码举例,它启动CPU的过程是:1、在起始地址分配中断向量表 即中断处理函数 ( CPU 要求的),以为向量空间只有4 字节,所以一般只是一个跳转指令,去别处执行。在跳到复位异常 之后,关闭中断,关闭看门狗。/2 、之后初始化存储器系统3、初始 多个模式下的堆栈(模式切换时,硬件给SP 置位)/4 、初始化有特殊要求的外围设备,如LED 灯
19、、看门狗5、初始化用户的执行环境(在FLASH 中运行太慢了,把代码整体搬迁 到 RAM 中)/6 、切换处理器的工作模式7、调用主程序精品资料_15 、当正常的程序执行流程发生暂时的停止时,称之为异常对异常的处理有优先级, 处理异常需要跳转至异常模式。并根据异常向量跳转至响应的子程序(执行之前必须保存现场),即异常出现后强制跳转至固定的存储器地址执行。异常是比中断更大的概念。ARM 有 7 种异常。包括复位管理模式0x00000000软中断 SWI管理模式0x00000008IRQIRQ 模式0x00000018FIQFIQ 模式0x0000001c精品资料_还包括预取中止、数据中止、未定义
20、。(异常出现时,异常模式分组的R14 和 SPSR 用于保存下一条程序地址和CPSR 。异常返回时, SPSR->CPSR ,R14->PC )在启动代码中首先就是设置所谓的异常向量表,也就是在指定的位置放置异常处理程序(一般是跳转指令) 。异常发生时, CPU 会根据规定强制置PC ,恰好去执行我们设置好的跳转指令,接着执行服务程序。异常处理流程 :(硬件机制,只做这些,跟代码无关。 )1、根据异常类型,强制设置CPSR 的运行模式位2、在切换到的异常模式下, 在当前的链接寄存器LR (r14) 中保存上个模式的PC值 -4,以便程序在处理异常返回时能从正确的位置重新开始执行3、
21、将上一个模式的CPSR 复制到当前异常模式的SPSR 中(注意 1 与 2、3 的矛盾,不能独立执行,但是是硬件实现的,无关代码)4、强制 PC 。然后就到了执行代码的时候从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处。异常返回流程 :(有指令)1、将 LR 寄存器中的值减去相应的偏移量(对于 IRQ/FIQ 是 4)送到 PC 中2.、将 SPSR复制回CPSR(注意 1 与 2 的矛盾,不能独立执行, 用一条带 的指令执行, 怎么着都是一条 )3、清除禁止中断标志 ,如果它被设置成使能4、所有修改过的用户寄存器必须从处理程序的保护堆栈中恢复(即出栈)。对中断嵌套的处理
22、:精品资料_注意:1、保存在 LR 中的 PC 值,和该值返回时的处理过程。当 IRQ 异常中断产生时, 程序计数器pc 的值已经更新, 它指向当前指令后面第3 条指令(对于 ARM 指令,它指向当前指令地址加12 字节的位置;当IRQ 异常中断产生时,处理器将值( pc-4 )保存到IRQ 异常模式下的寄存器lr_irq 中,它指向当前指令之后的第2 条指令,因此返回操作可以通过下面指令实现:subs pc, lr, #4有两种返回机制:1、当返回地址保存在当前异常模式的r14 时使用其中一种机制2、当返回地址保存在堆栈时使用另一种机制(进中断的时候保存的)。1、SUBSPC,R14_fiq
23、 ,#4(不同模式有不同的指令,返回 PC 的同时返回 CPSR ,一条指令实现 )2、SUBLR,LR,#4STMFDR13! ,R0 ,R4-R12 ,LR;将寄存器列表中的寄存器R0 ,R4 到 R12 , LR 存入堆栈。精品资料_LDMFD R13!,R0 ,R4-R12 ,PC ;将堆栈内容恢复到寄存器R0 ,R4 到 R12 , PC ,同时 SPSR 复制到 CPSR为可选后缀,当指令为LDM 且寄存器列表中包含R15 ,选用该后缀时表示:除了正常的数据传送之外,还将SPSR 复制到 CPSR ,一条指令实现 。代码指令分析:AREAInit ,CODE ,READONLY ;
24、代码段 Init 、只读CODE32;32 位 ARM 指令集LDRR0, NEXT 1;给 R0 赋地址值BX R0 ;程序跳,并将处理器切换到Thumb 工作状态CODE16;16 位 thumb 指令集NEXTLDRR3, 0x3FF给 R3 赋值END16 、高级语言和汇编语言函数间的相互调用(应该会考 ) :汇编调用 C:IMPORT Main;通知编译器该标号为一个外部标号AREAInit,CODE,READONLY;定义一个代码段ENTRY;定义程序的入口点LDRR0,=0x3FF0000;初始化系统 配置寄存器精品资料_LDRR1,=0xE7FFFF80STRR1,R0LDRS
25、P,=0x3FE1000;初始化用户堆栈BLMain;跳转到 Main ()函数处的C/C+ 代码执行END;标识汇编程序的结束以上的程序段完成一些简单的初始化,然后跳转到Main ()函数所标识的C/C 代码处执行主要的任务,此处的 Main 仅为一个标号, 也可使用其他名称。17 、程序代码段的组成分析、例如:标注下面程序各条语句中的含义AREAInit , CODE , READONLY ;已定义代码段ENTRY ;程序入口LDRR0, =0x3ff5000 ; R0 赋寄存器地址值LDRR1, 0x0f ;要给寄存器赋的值STRR1,R0 ;赋值LDRR0, =0x3ff5008LDR
26、R1, 0x01STRR1,R0 ;给另一个寄存器赋值的过程BLPROC ;跳转至标号为 PROC 的程序出执行:精品资料_:PROC:MOVPC,LR / 将 LR 保存的程序指针返回,即跳到 BL 下一句接着执行:END2410 设计18 、阐述 CPU 、外设、外设控制器、时序、寄存器的相互关系?CPU 与外设控制器构成微处理器,微处理器在核心板(最小系统)上发挥作用,将引脚集合成外设接口加上电平转换等就是外围板,外设通过外围板连接 至外设控制器。CPU 通过寄存器编程控制外设控制器产生时序控制外设。若是没有外设控制器,则需要CPU 自己产生时序来与外设交互, 这种时序相当于一种约定好的
27、意思表示,相当于“语言”或者“通信协议,”例如 若是 2410 与一个带有IIC 接口的器件通信,只需要连接起来,对 IIC 进行寄存器编程,控制它们之间的工作模式,可能收发数据就变成了在中断中读写寄存器操作,屏蔽了IIC 规定的通信细节。若是51 单片机要与IIC 通信的话,就复杂多了,首先要仔细阅读IIC 的协议,不容丝毫差错,然后用IO 口模拟时序,CPU 的工作量很大。19 、寄存器编程的本质?如何获取寄存器的配置?寄存器编程的本质是CPU 控制外设寄存器工作模式的方法。可以想象 寄存器的每一位肯定精品资料_是外设控制器功能模块中的一个个“开关” ,给某一位赋值0 或者 1 ,就相当于
28、使能或关闭某一个功能。20 、2410 最小电路设计?(晶振选择、启动选择、数据宽度)与一般的 ARM 系统相同,都需要微处理器、电源、 晶振、复位、存储器( flash 、SDRAM )、JTAG 接口等,具体情况如下:(需要对 OM0 和 OM1 配置电平以决定启动方式,对OM2 和 OM3 配置电平以决定时钟源 。)电源设计 :处理器用 1.8V ,RTC 给时钟模块供电 1.8V ,存储器和普通 IO 用 3.3V ,ADC 模块用 3.3V ,可见最小系统最少要用3.3 和 1.8 两种直流稳压。课程实验中电源电压 5V ,分别用 LM1085 稳压 3.3V ,用 AS1117 稳
29、压 1.8V 。晶振设计2410 的时钟控制逻辑可以产生系统所需要的时钟,包括 CPU 的 FCLK ,和 AHB总线的 HCLK , APB 的 PCLK 。内部有两个锁相环PLL ,MPLL 提供前三个,UPLL 给 USB 提供 48MHZ 的时钟。主时钟源( UPLL 和 MPLL 的时钟源)可以选择是来自外部时钟还是外部晶振,这是由 OM2 和 OM3 的管脚确定的,可以OM2 和 OM3 同时接低电平,选择外部晶振, 12M 晶振加上 15pF 起振电容(经过锁相环倍频可以达到203M )。复位电路设计可以在 nRESET 端设计像 51 单片机那样的阻容复位电路, 但为了稳定,可
30、以使用复位芯片如 MAX811 或 IMP811 。JTAG 接口设计有 20 针和 14 针两种 JTAG 接口。存储器设计精品资料_2410 有自己的存储器控制器, 并且规定了哪些 bank 空间是 RAM 哪些是 FLASH ,存储器芯片严格按照DATASHEET上的要求和标明的引脚连接方式与存储器控制器的存储器接口相连就可以,控制器会根据地址产生读写存储器芯片的时序,完成存取数据的操作。21 、2410nor 和 nand 启动过程分析 ?NOR flash :读取速度高、而擦写速度低, 容量小,价格高,地址线和数据线分开,采用 SRAM 接口。NAND flash :读速度不如 NO
31、Rflash但是擦写速度高,容量大,价格低,有取代硬盘的趋势,但是地址线和数据复用,需要程序配合才能读写数据。可以通过跳线设置时从NAND FLASH 启动还是从 NOR FLASH 启动。NAND 启动的优势:便宜、 容量大。但是读写逻辑不能用硬件产生,也就是没办法接到 BANK 空间里,必须有程序配合才能读写(有专门的控制器接口,肯定要寄存器编程加上程序配合才能读写,没有PC 的根正苗红 ),所以理论上它是不可以用来启动系统的, 因为那之前什么程序都没有, 要想读写它必须是系统装载完了而且有程序了。但是三星采用了SRAM 映射解决了这个问题,下面就是这个过程:电路中使 OM1 和 OM0
32、都接低电平,从 NAND FLASH 中启动 。(2410 有 NANDFLASH 控制器,连接 NAND Flash 芯片,产生读写时序)在该模式下, 2410 的前 4KB 地址空间对应一个名字叫做“起步石”的 SRAM ,系统启动时,自动将NANDFLASH 的前 4KB 数据加载到起步石中,然后系统自精品资料_动执行这些启动引导代码, CPU 从内部 RAM 的 0x00000000 位置开始启动。 这个过程不需要程序干涉 。也就是类似于 STARTUP.S 的功能,初始化异常向量表、堆栈、将 NAND FLASH中的代码 (有代码支持喽 )拷贝到 SDRAM 中运行。NOR FLAS
33、H采用的的是 SRAM 接口,可以直接到存储器控制器上, ARM 内核产生的时序能对其读写。 将 bank0 上接上 NORflash 芯片。上电产生复位异常后会自动从 NOR flash 中启动。22 、S3C2410 的中断处理流程 ?首先应该明确2410 与 ARM 内核的异常处理系统的角色,根据之前的ARM 异常处理流程,我们清楚明了了哪些是CPU 的硬件机制。 2410 通过中断控制器允许以优先级的方式将几十个中断源共同用一个IRQ 。一个中断申请提出后, IRQ异常发生,切换模式、保存CPSR 、保存 PC ,然后跳转到 handleIRQ 函数,然后跳转到ISRIRQ( 这只是一
34、个大概流程,也许会定义更多的跳转)根据中断源向量表的首地址和偏移量寄存器找出到底是哪个中断发生了。然后跳转到相应的中断处理函数,比如跳到串口中断,还可以根据挂起位(即中断标志位)再次判断到底是接收中断还是发送完成中断。也就是说2410 处理流程除了 ARM 对异常的响应是硬件机制外,其余的都是代码实现的。我们在编程的时候没有写的话,那也是编译器加进去的。2410 对嵌套的处理比起 2410 的处理流程不同的是,因为有了中断控制器,这就是实现高优先级嵌套的硬件基础, 因为每一次进入异常模式用户都会保存环境,这就是中断嵌套的软件基础。 CPU 的异常处理机制总是那些,很明确的。我正在执行一个中断服
35、精品资料_务程序,然后再次发生异常,保存,跳转(CPU )、再次判断是哪个中断,进去之后压栈,运行另一个中断的服务程序,运行完返回, 这是就是返回到上一个中断了。上一个中断运行完,一返回就是返回发生异常前的状态。23 、S3C2410的串口、端口、外部中断、AD 等及寄存器的编程能力(会读datasheet 、会编程、作业、实验的相关代码)ARM 的汇编语言程序.PPT仔细阅读 DATASHEET,记住 寄存器的赋值指令。LDR R0 , =GPHCONLDR R1,=0X2AFAAASTR R1 , R024 、 时钟、看门狗的相关概念时钟为整个系统提供同步脉冲,像人的脉搏一样。看门狗 :其
36、实是一个计数器,当它计数溢出的时候,会使系统复位,所以它的作用是防止系统死机。打开看门狗之后,当代码跑飞或者陷入死循环之后,就不能喂狗, 也就是不能清除计数值,那么它就会使系统重启。VIVI25 、什么是 bootloaderBootloader ,为引导加载程序,是嵌入式系统加电后运行的第一段代码,相当于PC 机的BIOS 。精品资料_Bootloader在系统中的位置通常固化在硬件上的某个固态存储设备上,加电后自启动。Bootloader功能初始化, 给 CPU 合适的工作环境 (相当于STARTUP.S ),以便为最终调用操作系统内核或用户应用程序境。加载内核下载内核或者根文件系统。Bo
37、otloader操作模式有启动加载和下载两种模式。启动加载模式 是 Bootloader的正常工作模式,在嵌入式产品发布的时侯,Bootloader必须工作在这种模式下。即初始化CPU 的工作环境之后,将内核如RAM 执行。下载模式 :目标机上的Bootloader将通过串口连接或网络连接等通信手段从主机下载文件。主要是下载内核映像和根文件系统映像等。从主机下载的文件通常首先被Bootloader保存到目标机的RAM 中,然后再被Bootloader写到目标机上的FLASH类固态存储设备中。Bootloader的这种模式通常在第一次安装内核与根文件系统时被使用;此外,以后的系统更新也会使用到这
38、种工作模式。Bootloader启动过程上电之后,先启动CPU 即执行 startup.s类似功能代码(配置中断、初始化堆栈、拷贝代码等),然后进行加载内核的准备1、至少初始化一个串口,以便向终端用户反馈数据。精品资料_2、检测系统内存映射,哪些是可用的RAM ?在这一步之后, 将检测外部按键,有按键按下将进入下载模式,没有按键的话将执行下面的步骤,加载内核:3、将 kenel 和根文件系统从flash 调入 RAM4、为内核启动设置参数5、调用内核。UCOS_II26 、概念分析可重入函数可以被一个以上的任务调用,而不必担心数据的破坏。可重入型函数任何时候都可以被中断,一段时间以后又可以运行,而相应数据不会丢失。可重入型函数或者只使用局部变量,(关中断、只用局部变量、用互斥型信号量可以使函数变成可重入的)互斥任务在处理共享数据时的排它性,以避免竞争和数据的破坏。也就是任务在某一个时间段独占共享资源,在释放之前别的任务
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 设备维护助理工作总结
- XXX电子科技有限公司员工安全手册(安全操作规程)
- 2025-2030全球汽车主动夜视系统行业调研及趋势分析报告
- 2025年全球及中国台式振动台行业头部企业市场占有率及排名调研报告
- 2025-2030全球监视雷达系统行业调研及趋势分析报告
- 2025-2030全球碳纳米粉行业调研及趋势分析报告
- 2025年全球及中国三重四级杆液质联用仪行业头部企业市场占有率及排名调研报告
- 2025-2030全球DRM数字版权保护技术行业调研及趋势分析报告
- 2025年全球及中国细胞活力检测试剂盒行业头部企业市场占有率及排名调研报告
- 2025-2030全球可重复使用垫料气囊行业调研及趋势分析报告
- 走新型城镇化道路-实现湘潭城乡一体化发展
- 江苏中国中煤能源集团有限公司江苏分公司2025届高校毕业生第二次招聘6人笔试历年参考题库附带答案详解
- 【语文】第23课《“蛟龙”探海》课件 2024-2025学年统编版语文七年级下册
- 2024版冷水机组安装合同
- 北师版七年级数学下册第二章测试题及答案
- GB/T 21369-2024火力发电企业能源计量器具配备和管理要求
- 2025年全体员工安全意识及安全知识培训
- 2025警察公安派出所年终总结工作汇报
- 新版人教版高中英语选修一、选修二词汇表
- 2022年河北邯郸世纪建设投资集团有限公司招聘笔试试题及答案解析
- 万物有灵且美(读书心得)课件
评论
0/150
提交评论