![](https://img-blog.csdnimg.cn/64c1e80b7651474a8421ca8012962224.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
SoC Debug
文章平均质量分 94
SoC 相关知识以及Debug 经验总结。
SOC罗三炮
嵌入式软件开发,ARM CPU架构研究,某厂芯片SOC系统验证工程师
展开
-
ARM如何利用PMU的Cycle Counter(时钟周期)来计算出CPU的时钟频率
本章将学习如何利用ARM PMU的Cycle Counter,来计算出CPU的时钟周期,从而计算出CPU的时钟频率。在介绍计算方法前,有必要先介绍下什么是时钟周期、机器周期以及指令周期。原创 2023-09-13 23:10:32 · 5954 阅读 · 0 评论 -
组相联cache如何快速实现cache line eviction并使用PMU events验证
cache controler 是一个管理cache 内存的硬件结构,实际上它的绝大部分行为对程序来说都是不可见的。它会自动地将代码指令或者数据从主存中搬运到cache中,响应CPU读写内存的请求,并将它们转化成对cache以及外部内存的操作:cache controler收到CPU对某个地址进行读写的请求时,它会先检查这个地址是否存在cache中,这个动作称为cache look-up(缓存查找)。原创 2023-09-03 20:07:11 · 4027 阅读 · 1 评论 -
Trace32 SRST和TRST、system.attach 和 system.up的区别
下图为Trace32工具为ARM debug设计的 JTAG pin 脚图:其中,TRST和SRST信号是可选的。原创 2023-05-19 20:12:57 · 5357 阅读 · 0 评论 -
什么是Semihosting(半主机)- ARM处理器与主机之间IO通信机制
Semihosting是一种在Arm处理器上运行的应用程序与调试器的主机进行通信的技术。通过这个机制,跑在ARM处理器上的应用程序可以使用主机的IO设备,比如键盘输入,屏幕输出以及文件的IO等等。如果目标平台(目标开发板)没有这些IO设备,或者为了使用print()函数输出一些debug信息,那将非常有用。在AArch32模式下,应用程序通过使用 SVC(SWI)指令并携带一个特定的 SVC number,来触发一个异常,从而实现一个semihosting 请求。原创 2022-10-16 12:41:13 · 5155 阅读 · 0 评论 -
Trace32使用教程-访问类型(Access Class)
访问类型(Access Class)被 Trace32的PowerView用于指定访问内存、外设的寄存器、可寻址的core资源、协处理寄存器以及Trace32的虚拟内存等。在Trace32中,寻址包括两部分:访问类型+地址,比如:其中 为访问类型,为访问的地址,二者之间用冒号 连接。访问类型可以是:通常使用字母 来表示程序内存类型(可省略),比如以下命令:可以省略,上述两个命令都是在程序地址为 的地方,打开源代码窗口。除了 类型之外,还有 , 和 等程序内存类型,这些类型是处理器架构用来指定不同指令集的编原创 2022-06-14 22:38:02 · 7401 阅读 · 0 评论 -
CPU性能测试基准(Dhrystone)学习
目录简介源码获取缺陷简介Dhrystone是测量处理器运算能力的最常见基准程序之一,常用于处理器的整型运算性能的测量。程序是用C语言编写的,因此C编译器的编译效率对测试结果也有很大影响。Dhrystone是由Reinhold P. Weicker在1984年提出来的一个基准测试程序,其主要目的是测试处理器的整数运算和逻辑运算的性能。Dhrystone首先用Ada语言发布,后来Rick Richardson为Unix开发了用C语言编写的Version 1.1,这个版本也成功的推动了Dh转载 2021-08-17 22:36:37 · 18439 阅读 · 0 评论 -
什么是Shmoo图和Shmoo测试
https://www.design-reuse.com/articles/47330/understanding-shmoo-plots-and-various-terminology-of-testers.htmlhttps://www.marvintest.com/KB/Q200244/Using-ICEasy-s-Shmoo-Plot-Tool-with-ATEasy翻译 2021-08-22 18:15:44 · 39976 阅读 · 1 评论