有考网有考网合作机构>无锡培训学校>无锡新区宝龙达内IT教育培训
无锡新区宝龙达内IT教育培训
全国统一学习专线 8:30-21:00
位置:有考网 > 计算机类 > 嵌入式 > 嵌入式交叉调试有哪些方式?  正文

嵌入式交叉调试有哪些方式?

发布时间:2021-08-30 16:28:06来源:转载

嵌入式系统的交叉调试有多种方法,主要可分为软件方式和硬件方式两种,软件方式和硬件调试。那么两种有什么区别,哪个比较好呢?

(1)软件方式

软件方式调试主要是通过插入调试桩的方式来进行的。调试桩方式进行调试是通过目标操作系统和调试器内分别加入某些功能模块,二者互通信息来进行调试。该方式的典型调试器有 Gdb 调试器。

(2)硬件调试

硬件调试器的基本原理是通过仿真硬件的执行过程,让开发者在调试时可以随时了解到系统的当前执行情况。目前嵌入式系统开发中较常用到的硬件调试器是 ROMMonitor、ROMEmulator、In-CircuitEmulator 和 In-CircuitDebugger。

从各方面比较嵌入式系统与通用计算机的区别

(1)嵌入式系统与通用型系统的较大区别就在于嵌入式系统大多工作在为特定用户群设计的系统中,因此它通常都具有低功耗、体积小、集成度高等特点,并且可以满足不用应用的特定需求。

(2)嵌入式系统的硬件和软件都必须进行地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能 。

(3)嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统,从事嵌入式系统开发的人才也必须是复合型人才。

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

(5)嵌入式开发的软件代码尤其要求高质量、高可靠性,由于嵌入式设备所处的环境往往是无人职守或条件恶劣的情况下,因此,其代码必须有更高的要求。

(6)嵌入式系统本身不具备二次开发能力,即设计完成后用户通常不能对其中的程序功能进行修改,必须有一套开发工具和环境才能进行再次开发

问题二、ARM9有哪些优于ARM7的特性?

(1)ARM7 处理器采用的 3 级流水线设计,而 ARM9 则采用 5 级流水线设计

通过使用 5 级流水线机制,在每一个时钟周期内可以同时执行 5 条指令。这样就大大提高了处理性能。

在同样的加工工艺下,ARM9 处理器的时钟频率是 ARM7 的 1.8~2.2 倍。

(2)ARM9采用的是哈佛结构,ARM7采用的是冯诺依曼结构

冯·诺依曼结构共用数据存储空间和程序存储空间,它们共享存储器总线,这也是以往设计时常用的方式,而哈佛结构则具有分离的数据和程序空间及分离的访问总线。所以哈佛结构在指令执行时,取址和取数可以并行,因此具有更高的执行效率 。

(3)ARM9引入了高速缓存和写缓存提高了存储器的访问速度。

(4)支持MMU,MMU 是内存管理单元,它把内存以“页”为单位来进行处理。一页内存是指一个具有一定大小的连续的内存块,通常为 4096B 或 8192B。操作系统为每个正在运行的程序建立并维护一张被称为进程内存映射的表,表中记录了程序可以存取的所有内存页以及它们的实际位置。

每当程序存取一块内存时,它会把相应的虚拟地址(virtual address)传送给 MMU,而MMU 会在 PMM 中查找这块内存的实际位置,也就是物理地址(physical address),物理地址可以在内存中或磁盘上的任何位置。如果程序要存取的位置在磁盘上,就必须把包含该地址的页从磁盘上读到内存中,并且必须更新 PMM 以反映这个变化(这被称为 pagefault,即页错)。

只有拥有了 MMU 才能真正实现内存保护。例如当 A 进程的程序试图直接访问属于 B 进程的虚拟地址中的数据,那么 MMU 会产生一个异常(Exception)来阻止 A 的越界操作。这样,通过内存保护,一个进程的失败并不会影响其他进程的运行,从而增强了系统的稳定性,ARM9 也正是因此拥有了 MMU,比 ARM7 有了更强的稳定性和可靠性。

更多培训课程: 无锡嵌入式 更多学校信息: 无锡新区宝龙达内IT教育培训 咨询电话:

相关内容: 嵌入式 嵌入式调试 嵌入式交叉调试

同类文章
相关热词