SDK2.1.0关于printf函数打印的问题

u010750922 2026-08-21 16:56:07

 

 使用的是RS6240的posture sample,HIF接口使用UART1进行通信,printf打印日志也定义,定义是串口0,但是实际又输出到串口1里面去,请问一下该怎么排查?(ps:新SDK改的很乱,把以前HIF接口全部改了,一个项目要修改的配置文件多达4-5个,HIF接口组件又改的不认识,能不能考虑一下兼容性?跟其他的雷达厂商SDK云泥之别,别人的很简单的雷达参数配置,然后控制雷达发射,接收处理,然后传输数据,这里搞的太复杂了,全是抽象层,根本不给人留机会在源码上修改--)

 

 

 

...全文
125 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
RuifDu 08-22 11:36
  • 打赏
  • 举报
回复

你好:
你提的这个问题我们内部非常重视,还麻烦请你描述一下具体遇到的问题。
首先理解一下操作:
=============“HIF接口使用UART1进行通信”:
是否是指在radar_framework_hif_config.h修改了:
1. CONFIG_HIF_PHY_TYPE宏为1;
2. CONFIG_HIF_PHY_UART_DEF_NUM宏为1.
=============“printf打印日志也定义,定义是串口0”:
1. CONFIG_PRINTF_UART_NUM宏为0(截图上实际定义的CONFIG_PRINTF_UART_NUM宏为1,因为要将HIF映射到UART,CONFIG_HIF_PHY_TYPE为1,可能为CDK没有正确识别到宏的原因,可以尝试清除CDK的工程临时文件尝试)
===================
按截图配置CONFIG_PRINTF的输出结果:
printf和HIF都将从UART1上以HIF配置的默认波特率1M输出。虽然CONFIG_PRINTF_UART_BAUDRATE是115200,但这里都对UART1进行了波特率定义,实际生效的是HIF定义的波特率。但打印和HIF使用同一个串口是不推荐的。
===================

期望结果确认:
如果期望的结果是HIF从UART1,printf从UART0输出的话,需要将截图中的代码修改为:
#if (CONFIG_HIF_PHY_TYPE == 1)
#define CONFIG_PRINTF_UART_NUM 0
#else
......
===================
最后,新版本SDK本意是将所有常用配置都集中暴露出来,方便客户能够了解可以所有支持配置的全貌。相比于之前版本,配置项的确显著增加了,层次也更深了。HIF接口的修改是为了满足更高的DataCube传输效率,的确存在一定的移植成本,但“雷达参数配置,然后控制雷达发射,接收处理,传输数据”这套基本骨架是不变的,给您带来的移植方面的工作量我们表示深深的歉意。
待问题澄清后,我们会尽可能完善或新增HIF的快速配置文档,在文档中以更加显眼说明HIF组织的方式、常用的配置操作和简单的设计思路,方便客户了解设计思路更好理解配置项的意义。

u010750922 08-24 09:12
  • 举报
回复
@RuifDu 不好意思,确实改的有点烦了,确实如你更改的就没问题了,主要是IDE上面是灰色的,我以为不起作用,就认真对了。但是用过好几家的SDK,大家都很朴素的,就你们软件水平太高了,抽象层真的太多了,感觉有点炫技了,主要是2.0.6我移植完算法了,性能还不行,要不然也不会升级2.1.0,但是你们突然一下子又改得跟全新的一样,又要花不少时间,应该考虑一下在雷达芯片开发的兼容性,直接用你们模组当然不影响的,我只是有点吐槽一下,不好意思。 ============================================= #if (CONFIG_PRINTF != 0) #if (CONFIG_HIF_PHY_TYPE == 1) /* hif in uart mode, uart 0 is used for hif, only uart1 can used for printf */ #define CONFIG_PRINTF_UART_NUM 0 /* uart 1 */ #else /* spi or i2c mode, only uart0 is supported for printf() */ #define CONFIG_PRINTF_UART_NUM 0 /* uart 0 */ #endif #endif /* CONFIG_PRINTF */ ===================================
RuifDu 08-24 09:21
  • 举报
回复
@u010750922 是的,这里的确是我们头文件写得有点缺陷,多个头文件隐式的嵌套包含导致IDE不能正常识别导致看起来有点问题。 欢迎吐槽,这样实际可以让我们看看各位用户对SDK的真正需求是怎样的,内部同事考虑太多的确比较容易过设计。 不过2.0.6的算法移植性能差异在哪里呢?可以发出讨论一下或者可以先看一下Sample的文档,里面有一些优化指南。
u010750922 08-24 10:38
  • 举报
回复
@RuifDu 其实就是2.0.6 里面R3_databox里面,调试了很多参数,动点云识别没什么问题,但是微动点云,调得太细了,噪点多,调的粗一点,静坐的人体目标就消失了--导致实际做出的产品有些情况下还不如我们之前做的4通道的雷达效果-就是不知道2.1.0里面提升了没有,其实大家对雷达性能要求就是 动 静目标识别准确率高一点,噪点少一点,这个可能需要你们反复测试调试出一个适合你们雷达性能的参数和信号处理流程,其他的有些小问题,大家都能想办法克服,但是这种雷达性能问题提升确实你们做最熟悉了---其实点云都出来,为什么不做一个DBSCAN进去了,就是计算欧式距离的事情,然后分类(ps 免得像我这种直接芯片做开发的时候,嵌入进去的时候,性能可能不是最好的)
1条回复

229

社区成员

发帖
与我相关
我的任务
社区描述
欢迎来到正和微芯官方社区,这里是毫米波雷达技术爱好者、开发者、技术专家以及行业领袖的聚集地。我们致力于提供一个开放、合作、创新的交流平台,让每一位成员都能在这里找到价值、获得启发、实现成长。
硬件架构射频工程物联网 企业社区 广东省·珠海市
社区管理员
  • Possumic正和微芯官方
  • sblxk008
  • 波谱Sense
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧