0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在bin文件中实现格式化打印的作用和意义

sanyue7758 来源:处芯积律 2023-07-09 16:12 次阅读

最近看不少群里聊怎么实现,也有一些具体实现,我们就不聊这些了,今天聊一下为什么要这么做,有哪些注意事项,以及怎么做(理论层面不牵扯代码),手机打字有错误请见谅

为什么要做?

在使用arm riscv和x86系统时,没有c与其它语言交互的途径和方法,更不要说格式化打印,这就导致我们对于c的debug会相对困难。毕竟通过pc查找反汇编方法debug不太直观,很多时候我们知道他不会挂,只想单纯知道它运行到哪里了,以方便做进一步操作。

另一方面使用c调用其它语言比如sv的task并执行也是我们所需要的。假设一个场景通过c调用一个sv i2c task执行进行数据发送,并在c端不断检测i2c task是否执行完毕(这期间可以先做别的,做完了再回来看看)。

当然还有更复杂的操作,这就让我们的c写法灵活性更大,可复用性更强,这是系统方案的一部分,不能孤立的看。

需要注意什么?

执行效率 支持多种不同的硬件接口 cache 多核并行等

执行效率,就是我们在调用该方法的执行速度,比如不少人通过uart实现,先不说uart的频率很难上去,就它的串行执行,如果数据多一点,我们的case执行被打印占据大量时间肯定不是想要的。当然可以减少打印,太少了就有点坑了。

支持不同的硬件接口,一般来说axi的速度快很多,也可以并行执行,是一个理想的总线,但因为一些限制(后仿),线并不总能被找到,i2c uart都需要可以被支持,且可以灵活切换。

cache,这里说cache原因,当我们使用axi时,cpu发出的指令都是以一个cacheline为单位的,这就让我们原先的一些交互策略失效,需要提前考虑。

多核并行,需要我们对不同cpu发出的命令区分开,以防命令串扰,使得打印出乱七八糟的东西出来。

怎么做?

有不少人写,这里不多说,补充一点个人的理解。

我们需要做出一种有针对性的交互协议,用于对上述为什么以及注意事项的支持,也要尽量减少对地址的占用,毕竟有的项目地址还是挺紧张的,我们大致可以实现使用64byte对应的地址的占用,很多时候使用1个dw就好了。

如果有对sv task调用(其它语言类似),就需要支持更多,比如多核对同一task并行调用,对task实施kill操作,获取返回值,查看task执行状态等操作。

更进一步我们还可以通过virtualcpu等方案让该c在ip阶段就完成测试,soc阶段只是进一步测试,而不需要重新编写,让soc case尽量提前,实现多维度并行。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Cache
    +关注

    关注

    0

    文章

    129

    浏览量

    28329
  • bin
    bin
    +关注

    关注

    1

    文章

    33

    浏览量

    13368

原文标题:在bin文件中实现格式化打印的作用和意义

文章出处:【微信号:处芯积律,微信公众号:处芯积律】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    NOKIA手机怎么格式化

    )以及 q9、t9字体运行的话,用此法格式化是无效的。所以,软格前,先把这些软件全部关闭,中文字体文件删除,才可格式化成功。字体文件一般
    发表于 12-28 15:54

    格式化硬盘

    格式化硬盘 软盘只需要一次格式化,硬盘却需要两级,即低级格式化和高级格式化。  硬盘的低级格式化
    发表于 12-25 15:40 1093次阅读

    笔记本硬盘维护之格式化

    笔记本硬盘维护之格式化篇   格式化硬盘(并非低格)会影响硬盘寿命吗?用Windows对硬盘进行格式化与对软盘进行格式化原理一样
    发表于 01-20 10:32 366次阅读

    笔记本硬盘格式化几点须知

    笔记本硬盘格式化几点须知  格式化硬盘(并非低格)会影响硬盘寿命吗?用Windows对硬盘进行格式化与对软盘进行格式化原理一样吗?
    发表于 01-23 14:15 665次阅读

    如何格式化硬盘

    如何格式化硬盘    这是广大电脑初学者经常询问的问题,因为格式化硬盘是安装装系统的前提,所以这就成为了需要首先解决的问题,本文将针这个
    发表于 02-24 11:25 465次阅读

    格式化对硬盘有伤害吗_硬盘格式化后数据还能恢复吗

    普通的格式化硬盘是不会影响硬盘寿命的。硬盘格式化后数据还能恢复吗?下面就来看看使用强力数据是如何将格式化后的数据给恢复的吧。
    发表于 12-14 16:09 1.7w次阅读

    格式化是什么

    格式化(format)是指对磁盘或磁盘的分区(partition)进行初始的一种操作,这种操作通常会导致现有的磁盘或分区中所有的文件被清除。格式
    的头像 发表于 01-09 15:20 8.6w次阅读

    如何在MDk生成bin格式文件

    Realview MDK的集成开发环境,默认情况下可以生成*.axf格式的调试文件和*.hex格式的可执行
    发表于 05-16 17:22 4次下载
    如何在MDk生成<b class='flag-5'>bin</b><b class='flag-5'>格式</b>的<b class='flag-5'>文件</b>

    D盘无法格式化的解决方法分享

    电脑的使用windows7系统过程,发现电脑磁盘的有一些不需要的文件想直接格式化,由于自己的电脑D盘太乱,想要格式化D盘。
    的头像 发表于 08-10 16:25 5279次阅读
    D盘无法<b class='flag-5'>格式化</b>的解决方法分享

    EE-347:使用Blackfin®处理器格式化打印到UART终端

    EE-347:使用Blackfin®处理器格式化打印到UART终端
    发表于 04-26 19:33 2次下载
    EE-347:使用Blackfin®处理器<b class='flag-5'>格式化</b><b class='flag-5'>打印</b>到UART终端

    python字符串格式化

    python字符串格式化 格式化输出,主要有三种方式 使用 % 进行格式化 使用 format 函数进行格式化 使用 f-string 进行格式化
    的头像 发表于 02-21 16:28 1572次阅读
    python字符串<b class='flag-5'>格式化</b>

    MDK如何生成bin格式文件

    Realview MDK的集成开发环境,默认情况下可以生成*.axf格式的调试文件和*.hex格式的可执行
    发表于 09-29 16:29 0次下载

    Linux磁盘格式化和挂载介绍

    磁盘分区虽然分好区了,但暂时还不能用,我们还须对每一个分区进行格式化。所谓格式化,其实就是安装文件系统,Windows下的文件系统有FAT32和NTFS。
    的头像 发表于 10-28 09:08 3280次阅读

    格式化NTFS文件系统分区的数据恢复案例

    误操作格式化服务器RAID5磁盘阵列下的分区(NTFS文件系统)。
    的头像 发表于 04-10 14:10 805次阅读
    误<b class='flag-5'>格式化</b>NTFS<b class='flag-5'>文件</b>系统分区的数据恢复案例

    如何使用 Java 原生格式化Instant

    今天我们将聊聊如何在Java把一个 Instant 格式化为一个字符串。我们将展示如何使用 Java 原生和第三方库(如Joda-Time)来处理这个事情。 使用 Java 原生格式化
    的头像 发表于 10-09 14:51 1252次阅读