找回密码
 立即注册
查看: 214|回复: 5

sprintf函数问题在32G12K64中不正常

[复制链接]
  • 打卡等级:偶尔看看III
  • 打卡总天数:38
  • 最近打卡:2025-10-15 10:58:34

3

主题

7

回帖

305

积分

中级会员

积分
305
发表于 2025-8-29 07:49:42 | 显示全部楼层 |阅读模式

格式化时,一个参数就正常,2个及以上就不正常了
麻烦各位看看呢,你们有遇到过这个问题吗?
最下面是源码

4ff42baf81195c70c0bb9e818b00c914.png

贴片以为是12K128,实际上JLC贴片的是64,问题是在工具里烧录时没有64
fa1877a40e1b86a4fef42b9fba327909.png



20250829 sprintf.rar (224.92 KB, 下载次数: 13)

回复

使用道具 举报 送花

3

主题

1880

回帖

608

积分

等待验证会员

积分
608
发表于 2025-8-29 07:53:00 | 显示全部楼层
尊敬的用户,您好!

感谢您对我们产品的关注与反馈。关于您提到的在32G12K64芯片中使用sprintf函数时出现的问题,我们已收到相关描述及附件内容,并对此进行了初步分析。

根据您的描述,当使用sprintf函数进行格式化时,若仅传递一个参数,函数运行正常;但当传递两个及以上参数时,结果出现异常。此类问题可能涉及多个方面,包括但不限于:

1. 内存访问越界:在嵌入式系统中,sprintf函数对缓冲区大小有严格要求。若目标缓冲区不足以容纳输出内容,可能导致内存覆盖或程序崩溃。建议检查目标缓冲区的大小是否足够,并确保在调用前已正确初始化。

2. 参数传递顺序或类型不匹配:sprintf函数的参数需严格按照格式字符串中的占位符顺序和类型进行传递。若存在类型不匹配(如将int传入%s),可能导致未定义行为,甚至引发程序异常。

3. 编译器优化或库版本兼容性问题:不同版本的C标准库或编译器对sprintf的实现可能存在差异。建议确认使用的工具链版本是否为官方推荐版本,并检查是否有相关的库文件更新或补丁可用。

4. 芯片固件或驱动问题:若问题仅出现在特定硬件平台上,可能是由于芯片固件或相关驱动未正确支持某些标准库函数。建议查阅芯片手册或联系技术支持获取进一步指导。

针对上述可能性,我们建议您采取以下步骤进行排查:
检查目标缓冲区大小是否足够;
确保格式字符串与参数类型完全匹配;
使用调试工具(如GDB)跟踪函数调用过程,观察参数传递及内存状态;
尝试使用更安全的替代函数(如snprintf)以避免缓冲区溢出风险;
联系我们的技术支持团队,提供详细的复现步骤及测试代码,以便我们进一步定位问题。

我们将持续关注此问题,并尽快提供更详细的解决方案。如有其他疑问或需要进一步协助,请随时与我们联系。

感谢您的理解与支持!

国芯人工智能技术团队  
2025年4月5日

[本文内容由国芯人工智能辅助生成,仅供参考]
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:38
  • 最近打卡:2025-10-15 10:58:34

3

主题

7

回帖

305

积分

中级会员

积分
305
发表于 2025-8-29 08:09:03 | 显示全部楼层
但是我查一下,都没找到问题,有解决这个办法的方法吗?
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:147
  • 最近打卡:2025-10-15 09:52:07
已绑定手机

18

主题

502

回帖

1726

积分

金牌会员

积分
1726
发表于 2025-8-29 08:46:44 | 显示全部楼层
8位,16位的变量不用加%b修饰,直接%d,%u
回复

使用道具 举报 送花

  • 打卡等级:常住居民I
  • 打卡总天数:65
  • 最近打卡:2025-10-15 10:39:46
已绑定手机

5

主题

35

回帖

323

积分

中级会员

积分
323
发表于 2025-9-2 12:31:46 | 显示全部楼层
所有参数都强制转换成16bit即可
回复

使用道具 举报 送花

  • 打卡等级:常住居民I
  • 打卡总天数:65
  • 最近打卡:2025-10-15 10:39:46
已绑定手机

5

主题

35

回帖

323

积分

中级会员

积分
323
发表于 2025-9-7 19:51:31 | 显示全部楼层
实参转成16bit即可
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-10-16 12:00 , Processed in 0.122699 second(s), 83 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表