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

    文章

    127

    浏览量

    27985
  • bin
    bin
    +关注

    关注

    1

    文章

    33

    浏览量

    13286

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

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

收藏 人收藏

    评论

    相关推荐

    请问RT-Thread emmc驱动编写如何格式化

    。 因为我只是对读写,io控制接口进行了实现。 使用仿真之后看到了,确认是否有文件系统的方式,是读取emmc的某个区域,然后查看数据。 我猜测是格式化之后,文件系统的某一个区域是标记的
    发表于 02-23 08:04

    NOKIA手机怎么格式化

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

    fatfs文件系统格式化代码SPI flash

    fatfs文件系统格式化代码SPI flash,求大虾帮助
    发表于 10-04 14:21

    STM32格式化代码问题

    目的是想实现数据存储,U盘拷出来,大致上是可以做出来了,不过发现还是有些小问题。 我的程序是直接用f_mkfs格式化了我的FLASH(W25Q64),也就是说插电脑不会再提示格式化。 数据
    发表于 10-25 11:46

    MCS与BIN文件格式有什么区别?

    这两种文件格式(MCS Vs BIN)有什么区别?为什么PROM文件格式化程序(11.5)不支持生成.bin文件(用于从串行模式配置)?以上
    发表于 02-18 10:23

    USB_HOST_MSC例程怎么格式化SD卡?

    目前开发的产品已经到后期阶段,有一个功能是格式化SD卡,不知道怎么实现。硬件使用了USB HUB芯片,DSP通过USB访问SD卡,配合FATFS读写文件都已经完成。例程USB_HOS
    发表于 10-25 08:26

    如何实现printf格式化输出

    怎样去编写UART的初始代码程序?以HC32L136芯片为例来介绍如何实现printf格式化输出?
    发表于 08-03 07:28

    如何对MicroSD卡格式化

    使用ESP32-CAM每隔几秒拍一张照片,并存储到SD卡。ESP32-CAM成本约为40元,用过的MicroSD卡2.实验方法格式化MicroSD卡对MicroSD卡格式化,注意选择FAT32
    发表于 01-21 13:58

    CH32V203 K8T6模拟U盘设备成功,移植文件系统出现无法格式化怎么处理?

    请教一下大佬CH32V203 K8T6+W25Q16模拟U盘设备成功,首次上电,电脑端提示格式化U盘,格式化成功后,可以正常存储读写文件。接下来移植了文件系统,printf
    发表于 09-16 06:49

    格式化输入

    ()函数功能: 执行格式化输入(用户可以按照指定格式输入数据) scanf()函数原型: int scanf(char *format[,argument,...]); scanf()从标准输入设备
    发表于 05-26 11:21

    手机格式化新用户

    看小说新用户奖励,手机格式化之后换个号码还能领取新用户奖励,请问有大佬知道不格式化自己动手去删除根文件能达到格式化效果吗
    发表于 12-07 19:14

    格式化是什么

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

    如何在MDk生成bin格式文件

    更习惯于使用*.bin格式文件,甚至有些嵌入式软件开发者已经拥有了*.bin格式文件的调试或烧写工具。为了充分地利用现有的工具,同时发挥R
    发表于 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 4738次阅读
    D盘无法<b class='flag-5'>格式化</b>的解决方法分享

    在MDK中如何生成bin格式文件

    更习惯于使用*.bin格式文件,甚至有些嵌入式软件开发者已经拥有了*.bin格式文件的调试或烧写工具。为了充分地利用现有的工具,同时发挥R
    发表于 09-29 16:29 0次下载