简答题
1.嵌入式开发过程中,宿主机和目标机分别指的是什么?
- 宿主机:开发软件的平台,普通台式机
- 目标机:运行软件的平台,嵌入式系统
标准答案
答:宿主机用于程序的开发,目标机作为最后的执行机。宿主机模拟了目标机的运行环境,集成了开发工具,用于开发目标机上的应用程序。
2.嵌入式系统的应用程序和windows的应用程序有何不同?
- 参考
嵌入式系统和Windows系统的区别如下:
1、含义的不同:
嵌入式系统是一种“完全嵌入受控器件内部,为特定应用而设计的专用计算机系统”,根据英国电气工程师协会的定义,嵌入式系统为控制、监视或辅助设备、机器或用于工厂运作的设备。
而Windows系统属于通用计算机系统,通用计算机通用计算机系统是相对于嵌入式通用计算机系统来说的,其技术要求是高速、海量的数值计算。
2、包含的范围不同:
Windows系统仅仅包含Windows操作系统本身,只是一个操作系统。而嵌入式系统包含底层嵌入式硬件、 嵌入式操作系统(如Threadx,Linux,VxWorks等小型内核的轻量系统)和嵌入式应用程序三部分。
3、执行的功能不同:
Windows系统作为通用计算机系统,其特点是能进行精确、快速的计算和判断,而且通用计算机性好,使用容易,还能联成网络。
嵌入式系统通常执行的是带有特定要求的预先定义的任务。由于嵌入式系统只针对一项特殊的任务,设计人员能够对它进行优化,减小尺寸降低成本。嵌入式系统通常进行大量生产,所以单个的成本节约,能够随着产量进行成百上千的放大。
参考资料来源:百度百科-嵌入式系统参考资料来源:百度百科-Windows操作系统
标准答案
答:宿主机用于程序的开发,目标机作为最后的执行机。宿主机模拟了目标机的运行环境,集成了开发工具,用于开发目标机上的应用程序。
- windows的应用程序的编译和加载过程:操作系统映像文件提前由引导程序加载到内存中运行;其后再将编译器、汇编器、链接器生成的可执行文件加载到内存运行。 *
- 嵌入式应用程序的编译和加载过程:操作系统映像和由编译器、汇编器、链接器生成的可执行映像文件一起生成映像文件,由烧写器固化存储在固态存储器中,系统初始化时再加载到内存运行。
3.嵌入式系统常用的四种调试方法?
- 模拟调试
- 软件调试
- BDM/JTAG调试
- 全仿真调试
标准答案
答:
- 模拟调试(Simulator):优点:简单方便,不需要目标板,成本低;缺点:功能非常有限,无法实时调试
- 软件调试(Debugger):优点:纯软件,价格较低,简单,软件调试能力较强 缺点:需要事先烧制Monitor(往往需多次试验才能成功 )且目标板工作正常,功能有限,特别是硬件调试能力较差。
- BDM/JTAG调试(BDM/JTAG Debugger):优点:方便、简单,无须制作Monitor,软硬件均可调试;缺点:需要目标板,且目标板工作基本正常(至少MCU工作正常),仅适用于有调试接口的芯片。
- 全仿真调试(Emulator):优点:功能非常强大,软硬件均可做到完全实时在线调试;缺点:价格昂贵。
4.嵌入式集成开发环境主要包括哪几个工具?
分为商用和免费两种
- 商用
嵌入式集成开发工具
ARMADS
KEILMDK
IAREWARM
- 免费
GNU
标准答案
答:
汇编程序:将汇编语言翻译成二进制机器指令,除了将操作码、操作数转换为相应的二进制编码外,汇编程序还将符号标签转换为实际地址。
编译程序:将结构化程序翻译成机器程序。
链接程序:可以将分开汇编或编译的文件合并成一个程序。
调试程序:帮助程序员评估并更正程序。
实时在线仿真器ICE:支持程序的调试,但在目标处理器上执行。
编程下载器:将开发机存储器内存放的二进制机器码下载到目标机的存储器中。这样嵌入式系统就可以在真实环境中执行系统。
5.当使用MDK- ARM作为嵌入式开发工具,说明其开发的流程。
- 开始新工程
- 编译源代码
- 交叉编译连接
- 仿真测试
- 程序下载
- 检查结果
- 结束
标准答案
答:当使用MDK- ARM作为嵌入式开发工具,其开发的流程与其他开发工具基本一样,一般可以分以下几步:
1)新建一个工程。从处理器库中选择目标芯片;
2)自动生成启动文件或使用芯片厂商提供的基于CMSIS标准的启动文件及固件库;
3)配置编译器环境;
4)用C语言或汇编语言编写源文件;
5)编译目标应用程序;
6)修改源程序中的错误;
7)调试应用程序。
选择题
6.下列哪个不是MDK开发环境的特点 ( ) 。
A.Windows风格
B.兼容的Keil μVision界面
C.全面的ARM处理器支持
D.体积庞大
7.多选题下列哪种方法可以对STM32进行程序下载 ( ) 。(多选)
A.Keil ULink
B.J-Link
C.在应用编程
D.以上都可以