今天看啥  ›  专栏  ›  嵌入式微处理器

SOC验证C代码中如何打印字符串?

嵌入式微处理器  · 公众号  ·  · 2024-09-30 12:00

文章预览

学过C语言都知道,在程序中添加打印信息有助于我们追踪程序执行的情况。特别是debug的时候,打印一些log信息对快速定位到问题非常有帮助。 怎么在SOC验证的C代码中打印字符串呢?用printf ? 下面,我们来试一下: 执行结果: 没有出现 Hello world。这种结果是符合预期的。C code 通过GCC编译生成bin文件然后送到CPU中按指令进行执行。我们看下这段代码编译出来的指令是什么? 这里 printf 编译出来是jump到一个puts的函数里面。puts函数又是什么呢? puts 又跳到 _puts_r ,依次下去,由printf 编译出了一系列的指令代码。由于CPU最终综合成版图,因此在CPU的RTL代码中不会存在读到某条指令打印一个字符串的功能。所以单纯的调用printf 并不会在log中打印字符串信息。 如何实现打印? 两个思路,第一个思路,在SOC的TB里面增加一个CPU bus的monitor,我们在monitor中 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览