当前位置:首页 → 计算机类 → 软件水平考试 → 中级嵌入式系统设计师->以下关于嵌入式软件开发叙述中,正确是()。
以下关于嵌入式软件开发叙述中,正确是( )。
本题考查嵌入式系统软件开发调试基础知识。嵌入式系统软件开发与通常软件开发区别:要在于软件实现部分,其中又可以分为编译和调试两部分,下面分别对这两部分进行讲解。
第一是交叉编译。嵌入式软件开发所采用编译为交叉编译。所谓交叉编译就是在一个平台上生成可以在另一个平台上执行代码。编译最主要工作就在将程序转化成运行该程序CPU所能识别机器代码,由于不同体系结构有不同指令系统。因此,不同CPU需要有相应编译器,而交叉编译就如同翻译一样,把相同程序代码翻译成不同CPU对应可执行二进制文件。
要注意是,编译器本身也是程序,也要在与之对应某一个CPU平台上运行。这里一般将进行交叉编译主机称为宿主机,也就是普通通用PC,而将程序实际运行环境称为目标机,也就是嵌入式系统环境。由于一般通用计算机拥有非常丰富系统资源、使用方便集成开发环境和调试工具等,而嵌入式系统系统资源非常紧缺,无法在其上运行相关编译工具,因此,嵌入式系统开发需要借助宿主机(通用计算机)来编译出目标机可执行代码。
第二是交叉调试。嵌入式软件经过编译和链接后即进入调试阶段,调试是软件开发过程中必不可少一个环节,嵌入式软件开发过程中交叉调试与通用软件开发过程中调试方式有很大差别。在常见软件开发中,调试器与被调试程序往往运行在同一台计算机上,调试器是一个单独运行着进程它通过操作系统提供调试接口来控制被调试进程。
而在嵌入式软件开发中,调试时采用是在宿主机和目标机之间进行交叉调试,调试器仍然运行在宿主机通用操作系统之上,但被调试进程却是运行在基于特定硬件平台嵌入式操作系统中,调试器和被调试进程通过串口或者网络进行通信,调试器可以控制、访问被调试进程,读取被调试进程当前状态,并能够改变被调试进程运行状态。









