PolarFire SoC 移植 xprintf

news/2025/9/18 14:24:05/文章来源:https://www.cnblogs.com/suozhang/p/19098680

PolarFire® SoC 移植 xprintf

1、xprintf 简介

  ELM - Embedded String Functions

xprintf 是一个紧凑的字符串 I/O 库。它非常适合程序内存不足的微型微控制器来执行常规 printf 功能。推荐用途是:将格式化的字符串写入 LCD 或 UART 以及调试/维护控制台。

xprintf 可以配置配置选项以减小模块大小。

 

2、将 xprintf.c 和 xprintf.h 放到工程中

 

3、修改 xprintf.h 配置,因为 polarfire soc 64位处理器, 使能  XF_USE_LLI  , 暂时没有使能 浮点打印 ,

#define XF_USE_OUTPUT 1 /* 1: Enable output functions */
#define XF_CRLF 0 /* 1: Convert \n ==> \r\n in the output char */
#define XF_USE_DUMP 0 /* 1: Enable put_dump function */
#define XF_USE_LLI 1 /* 1: Enable long long integer in size prefix ll */
#define XF_USE_FP 0 /* 1: Enable support for floating point in type e and f */
#define XF_DPC '.' /* Decimal separator for floating point */
#define XF_USE_INPUT 0 /* 1: Enable input functions */
#define XF_INPUT_ECHO 0 /* 1: Echo back input chars in xgets function */

 

4、 在 main.c 所在文件中,包含 xprintf.h ,  初始化接口 调用如下

    xdev_out(xprintf_output_c);

 

5、xprintf_output_c 函数编写


void xprintf_output_c( uint8_t ch )
{
  MSS_UART_polled_tx(p_uartmap_u54_1, &ch, 1 );
}

 

6、测试打印输出接口

void x_system_task( void * arg )
{
  for(;;)
  {
    xprintf( "tick:%llu\n", xTaskGetTickCount() );

    vTaskDelay(1000);
  }
}

 

输出结果

image

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/907165.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ceph集群的部署

需要准备三台虚机,下载好cephadm包 安装命令:ceph bootstarp --mon-ip=192.168.10.3 --allow-fqdn-hostname 像这样把下列命令对应要求填写命令,就可以安装ceph --allow-fqdn-hostname :允许使用主机作为域名访问mg…

充电桩测试:守护绿色出行的安全密码

在新能源汽车蓬勃发展的时代浪潮下,充电桩作为核心配套设施,其质量与安全性至关重要。每一次稳定的充电过程背后,都离不开严谨细致的测试工作。那么,在充电桩测试中究竟需要注意哪些关键点呢? 电气性能是首要考量…

如何写好一个缺陷报告?让开发无法拒绝修复的10个要素

记住,测试人员与开发人员不是对立关系,而是协作共赢的伙伴。我们共同的目标是交付高质量的产品,为用户创造价值。当你用专业、细致、合作的态度对待每一个缺陷时,开发人员会更加重视你的报告,团队协作也会更加顺畅…

代码规范与《数学之美》

代码规范与《数学之美》一、代码规范 1、命名规范 标识符命名:应做到统一、达意和简洁。例如,阿里巴巴规定类名使用 UpperCamelCase 风格,方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风格。 常量…

不重启、不重写、不停机:SLS 软删除如何实现真正的“无感数据急救”?

SLS 全新推出的「软删除」功能,以接近索引查询的性能,解决了数据应急删除与脏数据治理的痛点。2 分钟掌握这一数据管理神器。作者:屈岳(尧道) 引言 日志服务 SLS 作为云原生观测与分析平台,为 Log、Metric、Trac…

C#记录类型与集合的深度解析:从默认实现到自定义比较器

本文深入探讨C#记录类型与不可变集合在实际应用中的挑战,包括默认相等性实现的局限性、自定义比较器的需求、引用相等性的应用场景,以及Visual Studio工具支持方面的不足,并提出了具体的语言和工具改进建议。记录与…

安徽京准:NTP时间服务器助力网络数据安全稳定

安徽京准:NTP时间服务器助力网络数据安全稳定 安徽京准:NTP时间服务器助力网络数据安全稳定安徽京准:NTP时间服务器助力网络数据安全稳定 京准电钟官微——ahjzsz NTP时间服务器确实是保障网络数据安全与稳定的重要…

UOS统信服务器操作系统V20(1070)安装mysql5.7.42

环境:OS:UOS Server 20 统信服务器操作系统V20(1070)mysql:5.7.42 操作系统下载https://www.chinauos.com/resource/download-server查看系统glibc版本[root@localhost yum.repos.d]# ldd --versionldd (GNU libc) 2.2…

响应式问题

今天遇到一个问题,组件已经设计为响应式,但是在移动端字体太小,多次调试无果,最终发现原因就在于我在main.js入口文件中引用了如下函数/*** 设置根元素的字体大小,以实现页面的自适应布局。* @param {number} bs …

Python 函数缓存

作用缓存不同参数组合的计算结果,命中缓存可以直接返回结果。使用示例import time from functools import lru_cache@lru_cache(maxsize=128) # 指定128个不同参数组合的调用结果,lru策略,设置为None表示无上限 def…

高德地图热力图的Flutter实现

高德地图热力图的Flutter实现高德地图SDK是有绘制热力图的功能的,但它的Flutter插件并没有封装这一块功能。我们业务中需要这个,就基于原插件修改了一下。Android部分 从AMapFlutterMapPlugin这个类开始,发现它是通…

乐蜂直播购物商城小程序介绍

一、概述总结 乐蜂直播购物商城小程序系统,是一款依托微擎系统交付的直播电商解决方案。微擎系统是基于 PHP 开发的开源应用生态系统,可快速搭建微信公众号、小程序等应用,同时支持 Web 系统开发与部署,乐蜂直播购…

基于C#实现基恩士PLC通信

一、通信协议选择 基恩士PLC支持多种通信协议,推荐优先采用以下两种方案:TCP/IP Socket通信(通用性强,适用于以太网接口设备) Modbus TCP协议(标准工业协议,兼容性强)二、Socket通信实现(基于TCP/IP) 1. 基础…

VIPSHOP 门店会员营销管家:助力实体商家数字化运营

一、概述总结 VIPSHOP 门店会员营销管家是针对实体商家在微信生态开展会员营销与销售的工具,依托微擎系统实现交付与更新。其核心目标是帮助商家解决 “获客难、留客难、老客激活难” 的痛点,通过构建会员等级体系、…

Rhino 8.10 中文版下载安装步骤(附详细图文说明)

软件介绍 犀牛Rhino 8.10是一款功能强大的三维建模软件,它是基于NURBS(非均匀有理B样条)技术的建模工具,广泛应用于工业设计、建筑设计、珠宝设计、三维动画等多个领域。以下是犀牛Rhino 8.10的简介: 1. 功能特点…

深入解析:第十四届蓝桥杯青少组C++选拔赛[2022.12.18]第二部分编程题(2、字符翻转)

深入解析:第十四届蓝桥杯青少组C++选拔赛[2022.12.18]第二部分编程题(2、字符翻转)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; …

企业级负载均衡方案:Nginx vs HAProxy - 从0到1的完整实战指南 转载

企业级负载均衡方案:Nginx vs HAProxy - 从0到1的完整实战指南 转载原文链接:https://mp.weixin.qq.com/s/l1X8jjZROGBXg8gVNfgnGw 企业级负载均衡方案:Nginx vs HAProxy - 从0到1的完整实战指南 前言:为什么负载均…

ALINX 助力希腊 SpaceDot AcubeSAT 卫星任务,2026 将入太空

ALINX 助力希腊 SpaceDot AcubeSAT 卫星任务,2026 将入太空pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Conso…

负载均衡层详解part 4

# keepaviled高可用 ## 一、keepaviled简介 负载均衡由七层负载均衡衍生出多级负载均衡,多出来四层负载均衡,再往前分就是DNS轮询,各种简单的、复杂的场景搭配用就可以了,有一个问题始终没有解决,整个集群架构中有…

重磅!中国科学引文数据库(CSCD)收录期刊(2025-2026)目录公布!共收录1464种期刊!

经过中国科学引文数据库(Chinese Science Citation Database,简称CSCD)定量遴选、专家定性评估, 2025-2026年度中国科学引文数据库收录来源期刊1464种,其中英文版期刊418种,中文版期刊1046种。 中国科学引文数据…