BG真人

BG真人
gzyueqian
13352868059

嵌入式开发:从printf获得最大的性能

更新换代时刻: 2023-06-03 09:30:00种类: 粤嵌学前教育浏览网页量:819

  最原始、经历证实且真切的校正水平是在另一放到式工具中分布printf语句,用来收获对设计行为举动的洞查力。放到式定制开发专业人员运行printf并不老是该用的,以及♊很有可能会对设计会产生切不可超越的时时影响到。我就们查验下面printf的常见状况,第三是些该用于从而收获更大♔机械性能的水平。

  


  详细了解printf的现象

  运用printf会带来了部分设计人工通常疏忽的现象。首选,设计人工必须要带来一位要求的C库,这无疑了会上升ROM和RAM的运用。第二,老是运用printf s🅘tamen 时,整体一定会拥塞,有一天几乎所有空字串早以接入已完成,这会引发实时路况使用性能更显的降低。举个实例,输送一位简约的空字串串,举例“Hello World!”在9600处彩印出UART(一样很比较普遍)。举例在STM32上程序执行了一大位简约的时序校正,长为1下图,制式化空字串串并彩印到终端用户须得12.5毫秒。

  


  图 1 – 打印图片“Hello World!”

  修改其它空字符数组串模式会使的情况变的更糟!运动 printf(“The system state is %d”, State) 将系统化工作状态彩打到用户会造成的21毫秒的APP执行程序延缓,因此空字符数组串♋被模式化和互传。別人可能会会争辩说,以9600波特运动是荒缪的,但就是不断增加到 115200却仍然会都造成的互传这两种报道的准确时间都为1.05和1.75毫秒。很多工作器下行带宽和潜在性的的实时时间耐腐蚀性会影向一般的也有用新信息。

  耐腐蚀性步奏 1 – 开启非梗塞printf

  如果printf 版本是阻塞类型,嵌入式开发人员一旦调用 printf,应用程序就会停止执行,直到每个字符都被成功传输,效率低得惊人!另一种方法是创建一个非阻塞版本,非阻塞pr𓆉intf版本将

  格试化数组串

  将各式化的字串串图案填充到传导储存区中

  启用首位个标识符的传送数据

  让出现中断精准服务程序流程图治理读取减慢区中的残余字符串

  已经连接编码

  非闭塞printf的非常大难点是安装日期,在9600波特的S💃TM32上它在0.8到1.8毫秒当中变幻。在初使安装日期过后,下发 突然终止有可能每毫秒引发以此,还要35微秒将下一位字段插入到UART下发 寄存器中,并且再重返运行好使的上班。图 2 体现了过渡期性突❀然终止还有突然终止运行日期。请记牢,运行日期不收录于这种前提下超过2五个数字时钟过渡期的突然终止开销。

  






  图 2 – 非堵塞 printf 性

  效果窍门 2 – 延长波特率

  不少添加式发展员仍将孩子 的UART锁定如何使用为9600,在这里的串行硬件系统设施能够处置1 Mbps 或更多的波特率!有点足够了准确的人将波特率如何使用为115200。除了开机运🔯行闹钟存在着未知的机电或硬件系统设施相应的的的问题,否则的话将波特率如何使用为1 Mbps并将接线qq消息输送为应当快,以要尽可能的减小实时更新能力的的问题。ꦬ “Hello World!”的原始社会梗阻 printf会梗阻120微秒,远比12.5毫秒更可连受。

  性能参数销售技巧3 – 便用SWD

  近代微控住器在发展处里芯片时采取过了printf能情况。比如,借助ARM Cortex-M 组件的方式校准功能键的发展工人是能够 绕过去UART并施用內部方式校准控制器将printf话题使用方式校准器文件互传回IDE。以这款方式英文绕过去UART不光是能够 节约了設置,还內部系统配置新机制是能够 更大装量地以减少手机app开销!內部缓冲区🀅域区填满话题,方式校准系统配置自功处里文件互传到方式校准测试探💖针的文件互传,然而将代表用方式24小时能的不良影响降落到低于。

  依据

  不大有镶入式发展成员会不要放弃她们最喜爱的、试 过的、完全的printf测试新技术。在现ꦓ在的近代微把控好器设施配置中,有种界面都可以提升 printf的效果和利用率,最后比较大容许地限制对时实效果的的影响。


推荐阅读

BG真人 - BG真人官方网站-BG真人 BG真人平台-BG真人官方网站-BG真人 BG真人游戏 - BG真人手机版APP下载-BG真人 BG真人网址|BG真人官网-BG真人