嵌入式系统基础

来源:互联网 发布:石家庄淘宝运营培训班 编辑:程序博客网 时间:2024/05/22 13:16

奋斗

主要内容是:嵌入式系统概述、arm处理器开发平台、嵌入式软件开发流程。

嵌入式系统的主要概念

定义:嵌入式系统为中心,计算机控制系统为基础,适用系统对功能、可靠性、成本、体积、功耗有严格要求的备用计算机系统。

组成模块:特定的功能模块和计算机控制模块。

组成部分:嵌入式微处理器、外围硬件驱动、嵌入式操作系统,用户应用软件等。

特点:

           面向特定应用。

           嵌入式系统的硬件和软件都必须进行高效的设计,量体裁衣,去除冗余,力争相同硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争性。

         嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各行业具体应用结合后的产物。

         为了提高执行速度和系统的可靠性,嵌入式系统的软件一般是固化在存储芯片中或者单片机本身,而不是存储在磁盘中。

        嵌入式开发的软件代码尤其要求高质量,高可靠性。

        嵌入式系统本身不具备二次开发功能,如果要修改,用户必须具备一套开发工具和环境才能进行再次开发。

嵌入式系统的体系结构

        嵌入式系统一般包括:硬件设备,嵌入式操作系统和应用软件。

几种常用的嵌入式操作系统

          嵌入式linux是指对标准的Linux经过小型化裁剪处理后,能够固化在容量只几kb或者几mb的存储芯片或者单片机中,适合于特定嵌入式应用场合的专用Linux操作系统。(主要版本:uCLinux、RT-Linux、Embedix、XLinux、PoketLinux、红旗嵌入式Linux、。。。。)

           VxWork操作系统是美国Wind River开发的一种实时操作系统(RTOS),在当前市场占有率挺高的。

          QNX是一个分布式、嵌入式、可扩展的实时操作系统。

          Windows CE是微软开发的一个开放的、可升级的32位嵌入式操作系统。、

          Plam OS在PDA和掌上电脑有着庞大的用户群。Plam OS是Plam公司开发的专用于PDA上的一种操作系统

嵌入式系统的发展趋势

        1、提供强大的网络支持

        2、小型化、低成本、低功耗。

        3、个性化的人机界面。

        4、完善的开发平台。

奋斗 

嵌入式操作系统的核心部分就是嵌入式处理器

arm处理器

        arm有三种含义:它是一个公司的名称,是一类微处理器的通称,还是一种技术的名称。

        (arm7采用的是冯-诺伊曼体系结构,数据和指令使用同一条总线。arm9采用的是哈佛体系结构,程序和数据独立的体系结构)。

奋斗 

嵌入式软件开发

        软件实现分两部分就是:编译(交叉编译)和调试(软件调试桩和硬件片上调试)。

        软件调试桩:调试桩方式进行的调试是通过目标操作系统和调试器内分别加入某些功能模块,二者互通信息来进行调试。典型调试器gdb调试器。gdb的交叉调试器分为gdbserver和gdb client。其中gdb server是作为调试桩安装到目标板上的,gdb client就是驻于本地的gdb交叉调试器(arm-linux-gcc等)。

          gdb 远程调试的工作流程如下:(理论是这样滴。。)

          1、首先,建立调试器(本地gdb交叉调试)与目标操作系统的通信连接,可通过串口、网卡、并口等多种方式。

           2、然后,在目标机上开启gdbserver进程,并监听对应端口。

           3、在宿主机上运行交叉调试器,这时,gdb 交叉调试器就会自动寻找远端的通信进程,也就是gdbserver的所有进程。

          4、在宿主机上的gdb 通过gdbserver请求对目标机上的进程发出控制命令。这时,gdbserver 将请求转化为程序的地址空间或目标平台的某些寄存器的访问,这对于没有虚拟存储器的简单的嵌入式操作系统而言,是十分容易的。

          5、gdbserver 把目标操作系统的所有异常处理转向通信模块,并告知宿主机上gdb交叉调试器当前有异常。

         6、宿主机上的gdb 向用户显示被调试程序产生了哪一类异常。

         gdb 远程调试方案的实质是用软件接管目标机的全部异常处理及部分中断处理,并对其中的插入调试端口通信模块,与主机的调试器进行交互。但是它只能在目标机系统初始化完毕、调试通信端口初始化完成后才能起作用,因此,一般只能用于调试运行于目标操作系统之上的应用程序,而不宜用来调试目标操作系统的内核代码及启动代码。而且它必须改变目标操作系统,因此,也就多了一个用于正式发布的调试板。


       硬件片上调试

          本人还没学过,所以暂不乱说。。。。。大笑



原创粉丝点击