标签:截图 方向 关心 arm 重要性 core x86 学习 阶段
预计会有几篇较大篇幅的文章大体描述下ARM体系结构调试系统方面的软硬件接口设计。
经历过软件开发基本上都知道调试的重要性,能一次写好,并且没有BUG的软件毕竟少之又少。
ARM体系结构从ARMv4开始硬件支持各种调试特性,随着系统的复杂度提升,到现今的ARMv7,甚至ARMv8,ARM从硬件层面也提供了更多的调试方式。
本文从大方向上概述ARM调试系统的组成,包括其中的debug,trace,profiling等方面 ,又着重在调试系统的软硬件接口配合。
从大方向上看,我们基本可以将调试总结为:
自调试(self-hosted debug)在X86平台上很常见,比如大家用gdb调个PC程序,就是自调试。
ARMv8针对这块专门相对比较重视。
ARM毕竟以嵌入式平台为主,因此在芯片设计之初,或者firmware以及驱动开发等过程中,难免会接触到外部调试(external debug)。毕竟这时候,很可能基本的系统都还未稳定,更不可能做系统的自调试了。
常见的外部调试当然就是JTAG了,一般正版的JTAG调试器都价格不菲,当然淘宝上也有盗版的几十块钱的JLINK可以买来练练手。
如果是学习ARM 的Cortex-M系列,则可以买STM之类的开发板,板子默认集成调试模块,连上一根USB线就可以用了。
profiling估计大多数人都接触的比较少,主要是性能调优阶段会有类似的需求。关心这阶段的,大多是开发应用或者平台中间件的居多。
对Cortex-A系列的CPU,有会有高性能和低消耗,以及可靠性的需求。
最常见的ARM的profiling工具大概就是DS-5中的工具吧,下图是profiling界面的截图。
DS-5 profiling工具的效果图示
标签:截图 方向 关心 arm 重要性 core x86 学习 阶段
原文地址:http://www.cnblogs.com/rustydaar/p/7466802.html