嵌入式系统设计的最后知识点总结Word文件下载.doc

上传人:b****3 文档编号:15408836 上传时间:2022-10-30 格式:DOC 页数:19 大小:279.20KB
下载 相关 举报
嵌入式系统设计的最后知识点总结Word文件下载.doc_第1页
第1页 / 共19页
嵌入式系统设计的最后知识点总结Word文件下载.doc_第2页
第2页 / 共19页
嵌入式系统设计的最后知识点总结Word文件下载.doc_第3页
第3页 / 共19页
嵌入式系统设计的最后知识点总结Word文件下载.doc_第4页
第4页 / 共19页
嵌入式系统设计的最后知识点总结Word文件下载.doc_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

嵌入式系统设计的最后知识点总结Word文件下载.doc

《嵌入式系统设计的最后知识点总结Word文件下载.doc》由会员分享,可在线阅读,更多相关《嵌入式系统设计的最后知识点总结Word文件下载.doc(19页珍藏版)》请在冰豆网上搜索。

嵌入式系统设计的最后知识点总结Word文件下载.doc

硬件组成:

核心板+外围板+外设(核心板:

微控制器(CPU和外设接口、外设控制器)、电源、时钟、复位、SDRAM、flash。

外围板面向外围设备,一般是引脚的集合、电平转换电路。

外围设备。

),当然也可以将核心板和外围板放在一起。

硬件特点:

通常由嵌入式处理器和嵌入式外围设备组成,高度集成,常采用SOC设计方法,对功耗、体积等有严格要求,定制性决定了它的可裁剪性,没有像计算机领域的垄断,解决方案不唯一。

软件特点:

采用交叉开发方式,系统软件层次分明,操作系统为用户程序提供标准API,提供图形接口和文件系统。

用户调用系统服务,系统调用设备驱动从而操纵硬件。

3、嵌入式系统产品设计的基本流程?

需求分析

功能性需求是系统的基本功能,如输入输出信号、操作方式等;

非功能性需求包括系统性能、成本、功耗、体积、重量等因素。

规格说明

精确地反映客户的需求并且作为设计时必须明确遵循的要求。

体系结构设计

描述系统如何实现所述的功能和非功能需求,包括对硬件、软件和执行装置的功能划分以及系统的软件、硬件选型等。

软硬件设计

基于体系结构,对系统的软件、硬件进行详细设计。

系统集成

把系统的软件、硬件和执行装置集成在一起,进行调试,发现并改进单元设计过程中的错误。

系统测试

对设计好的系统进行测试,看其是否满足规格说明书中给定的功能要求。

4、处理器及操作系统的选型主要考虑哪些方面?

①操作系统本身所提供的开发工具。

②操作系统向硬件接口移植难度。

③操作系统的内存要求。

④开发人员是否熟悉此操作系统及其提供的系统API。

⑤操作系统是否提供硬件的驱动程序,如网卡驱动程序等。

⑥操作系统的是否具有可剪裁性。

⑦操作系统是否具有实时性能。

5、交叉开发、交叉开发环境?

为何需要交叉开发环境?

在一台通用计算机(宿主机)上进行软件的编辑编译,然后下载到嵌入式设备(目标机)中运行调试的开发方式

交叉开发环境一般由运行于宿主机上的交叉开发软件(assembler&

loader)、宿主机到目标机的调试通道组成

需要交叉开发环境是因为目标机一般对体积、功耗等有严格限制,资源也面向应用,较为紧张,要求仅仅能流畅运行代码即可,而将用户开发软件(包括各种库、工具)放置在主机上,而且现在的集成开发环境提供了各种修改好的功能库,用起来也方便。

6、嵌入式集成开发环境的主要功能?

这是由其组成决定的。

Assembler将.c源代码汇编,compiler形成目标文件,linker根据链接描述文件将各个目标代码链接定位生成可执行代码。

Debugger有些交叉开发工具提供了仿真调试通道。

Loader可以将目标文件烧录进设备中(有时需要内部引导代码的配合)

7、嵌入式Linux开发主要流程?

搭建开发环境--烧写bootloader--烧写内核--烧写根文件系统--烧写应用程序。

开发环境:

REDHAT-LINUX、下载相应的GCC交叉编译器进行安装、配置开发主机(配置MINICOM和配置网络,MINICOM软件的作用是作为调试嵌入式开发板信息输出的监视器和键盘输入的工具,配置网络主要是配置IP地址、NFS网络文件系统,需要关闭防火墙)

烧写bootloader

下载一些公开源代码的BOOTLOADER根据自己具体芯片进行移植修改。

下载时,

有些芯片没有内置引导装载程序,比如三星的ARM7、ARM9系列芯片,这样就需要编写烧写开发板上flash的烧写程序。

或者网络上有免费下载的WINDOWS下通过JTAG并口简易仿真器烧写ARM外围flash芯片的程序。

也有LINUX下公开源代码的J-FLASH程序。

下载内核

如果有专门针对你所使用的CPU移植好的LINUX操作系统那是再好不过,下载后再添加自己的特定硬件的驱动程序,进行调试修改。

下载根文件系统

从下载使用BUSYBOX软件进行功能裁减,产生一个最基本的根文件系统。

根文件系统在嵌入式系统中一般设为只读,需要使用mkcramfs、genromfs等工具产生烧写映象文件。

文件系统就是把你硬盘上数据按照一定格式组织成一棵树。

数据块对应名称。

删了它就相当于把硬盘格式化了。

根文件系统就是出了内核以外,所有的系统文件存储的地方。

之所以成为根,是因为有根才能成生长成树,是其它文件的最终挂载点。

我们要明白根文件系统和内核是完全独立的两个部分,它是内核启动时所mount的第一个文件系统,里面有内核启动所必须的数据,不然就退出启动

文件系统这种机制有利于用户和操作系统的交互。

尽管内核是Linux的核心,但文件却是用户与操作系统交互所采用的主要工具,尤其是LINUX。

下载用户程序

可以下载到根文件系统中,有的应用程序不使用根文件系统,而是直接将应用程序和内核设计在一起,这有点类似于UCOS-II的方式。

8、嵌入式Linux开发环境中配置NFS服务的目的?

可以使不同机器、不同操作系统之间通过网络共享文件,像访问本地文件一样访问远端系统上的文件,在开发阶段,主机制作基于NFS的文件系统,制定开放目录,开放对象的IP范围,将目录挂载到嵌入式设备后,嵌入式设备可以方便地访问、修改主机主机文件。

9、硬件重定向?

上课的时候老师举得printf()是个很好的例子,重定向程序是面向编译环境中的连接器的,是用户自己定义的C库函数,有了它,在程序连接时连接器会连接用户自己编写的C库中的功能函数而不是标准C库。

相当于将标准C库进行了一次移植。

从主机环境到实际运行环境的移植。

比如:

本来库函数fputc()是把字符输出到调试器控制窗口中去的,但用户把输出设备改成了UART端口,这样一来,所有基于fputc()函数的printf()系列函数输出都被重定向到UART端口上去了。

相当于实现类似的功能,但是底层的驱动变了。

10、你认为一名好的嵌入式系统设计专业学生,应具备哪些能力?

如何培养和提高这些能力?

专业技能:

微机原理的知识,即知道微处理器的工作过程、工作原理,对51单片机、X86T体系、ARM体系的架构有一定的认识、。

电路知识,虽然在系统设计中,硬件只占30%的工作量,而且随着系统复杂度的提高,对硬件的关心越来越少,但是对电路的了解程度会限制你代码的优化,是有寄存器编程不了解底层电路根本编不出程序来,而且在硬件出现问题的时候,要有能力准确判断。

操作系统,随着ARM在嵌入式系统中占据主导地位,单片机已经退出复杂应用,操作系统引入了嵌入式系统设计中,在操作系统提供的平台上做开发,对操作系统功能、使用、层次组成的理解的重要性不言而喻。

算法与数学,这关系着软件代码的优化实现,在高层次的编程中,算法结构和数学知识将发挥很大的作用。

控制理论,因为嵌入式系统实现的最主要的功能就是智能控制,对控制思想、控制算法、控制理论的理解有一定的重要性。

专业思维:

对嵌入式软硬件层次相当了解;

对开发环境及其原理开发流程有一定的认识;

计算思维:

将计算思想、能力贯穿于“需选改用学”,解决计算问题,一切归于二进制。

职业病思维:

用嵌入式系统的思维去分析生活中遇到的设备,如果能分析明白或者做出推测,将是一件很开心的事情。

“编码”思想:

其实整个计算机世界,都体现着一种“编码”思想,人如何与机器交互、器件之间如何交互、通信双方如何定义通信协议,这都体现着编码的思想。

管理的思维:

因为在复杂的计算机系统也是人设计得,各模块的工作协调无处不散发着管理的思想,把系统调用抽象为人事安排,将变得很有爱。

要相信你要你想到的解决问题的方法(算法),肯定能编出来。

要相信,真理肯定是存在的,你还没有到遇到未解之谜的程度,即只要是问题就能解决,遇到需要反复测试的时候,不能气馁,也许只是哪个知识点理解的有偏颇,离真理只有一步之遥。

从历史看起、从总体看起:

用历史的眼光和谦虚但不自卑的态度看待复杂的系统和知识,这样一切就都简单又好理解。

认识指导实践,实践反作用认识。

管理的思想。

个人品质:

不悲不喜:

在嵌入式开发过程中,会有一个又一个问题出现,不要因为一个问题的解决和搁置而悲喜,更大的喜剧在前方,也许更大的悲剧也在酝酿。

勇于钻研:

对解决问题有强烈的向往,有征服的渴望。

所以一些很恬淡的人往往不会成为IT行业的精英。

并从中找到成就感、存在感

乐在其中:

俗话说兴趣是最好的老师,拿欣赏的眼光看待内核的管理思想、看待精妙的算法、看待精密的电路设计,你会发现一切都美好起来。

要会学习:

有强大的学习能力,要会查资料、会聊天、会推测。

用“学道”的思维去学习一切知识,抓住本质,老子说,‘为学日益,为道日损,损之又损,以至于无为,无为而无不为。

’,最复杂的科学,也能用最朴素的话解释。

用历史的眼光、用总体的眼光去学习。

耐得住寂寞还得有兴趣爱好。

有时会比较枯燥和辛苦,除了对专业的兴趣之外,最好能有些调节生活的兴趣爱好,比如唱歌、画画、旅行、摄影、健身等等。

如何提高?

因为嵌入式系统设计所涉及的知识面相当广,微机原理知识、电路知识、接口知识、操作系统、甚至是控制理论、数学计算等等,所以单单学习知识点的话,会很枯燥而且提高很慢,一切以应用为中心,在做项目中成长,加深理解,边学变做,把解决问题当做学习的目标。

找若干良师益友,他们能带给你好的影响,包括做项目和做人,在与他们的交流共事中你可以迅速提高。

大量的阅读,开阔眼界,了解当前行业的发展状况,大量阅览一些典型系统的设计,所谓书到用时方很少是很有道理的。

学一些跟专业相关的知识,如数据库、网站设计等,不但能在设计系统时打开思维,还可以给IT男换个口味,陶冶一下情操。

ARM体系结构

11、ARM硬件电路最小系统组成?

微控制器(例如2410,CPU+外设接口/外设控制器)

电源、时钟、复位、

存储器(SDRAM/FLASH(NOR8位、NAND81632位))

FLASH:

存放操作系统、用户程序等需要掉电后保存的数据

SDRAM:

系统运行的主要区域,系统及用户数据及堆栈,都在这个区域。

有时启动模式选择

有时需要JTAG:

对芯片内所有部件进行访问,通过该接口对系统调试、编程

12、ARM处理器的主要工作模式?

ARM的7种处理器模式(不同的模式下有自己的行为准则)

USR;

正常程序执行模式

FIQ;

支持高速数据传送和通道处理

IRQ;

用于通用中断的处理。

管理(SVC);

操作系统保护模式

中止

未定义

系统

除了USR之外,其它6种又称为特权模式。

6中种除了系统模式又称为异常模式(即处理异常时的工作模式)。

在软件控制下可以改变模式(即改变CPSR相应),外部中断或异常处理也引起模式变化,用户模式下不能改变模式。

13、核心寄存器的作用:

R13通常用作堆栈指针,称为SP,被初始化为多个模式下的堆栈。

R14用作子程序连接寄存器LR,中断异常或执行BL时得到PC即R15的备份。

Cpsr程序状态寄存器,32位只用12位,所有模式下均可见。

Spsr保存程序状态寄存器,即发生异常时对CPSR进

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 工作计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1