Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
ART-Pi Smart
浮点数打印
5
浮点数打印,从内核态直接打印和从用户态访问设备再触发打印,效果不一致
发布于 2022-05-08 12:43:04 浏览:842
订阅该版
我在 lcd 驱动源文件中定义了一个函数,打印浮点数: ```C printf("will predict:%f\n", 2.0); ``` 如果我直接通过 MSH_CMD_EXPORT 定义一个命令来调用发现打印就是正常的,可以正常打印浮点数。 ![e7bd18446495060bc36667610fe48289.png](https://oss-club.rt-thread.org/uploads/20220508/e7bd18446495060bc36667610fe48289.png) 但是如果我通过用户态的 APP 访问这个设备,再执行这段打印浮点数运算,发现就出问题了: ![ec6a2411012fc20eea512f6bc4d6ca0a.png](https://oss-club.rt-thread.org/uploads/20220508/ec6a2411012fc20eea512f6bc4d6ca0a.png) **问题原因是使用 float 浮点输出的时候要保持 8 字节对齐,修改 CONFIG_RT_ALIGN_SIZE 为 8 就可以了。**
查看更多
1
个回答
默认排序
按发布时间排序
iysheng
2022-05-08
这家伙很懒,什么也没写!
进一步打印,发现通过 app 调用到内核态,printf的地址发生了变化。 可以正常打印浮点数时候,printf 函数地址的是``0xc011d64c``: ``` msh />dbg_tflite will predict:2.000000 0xc011d64c ``` 无法正常打印浮点数的 printf 函数地址变成了 ``0x40000000`` ``` will predict:0.000000 0x40000000 ``` --- 进一步排查,发现和 APP 的文件名有关,可执行文件名是 8 个字节的时候,就正常,比 8 个字节少,就打印出错,,,, -----------------------------结论--------------------------------- 是使用 float 输出的时候 rt_malloc 没有 8 字节对齐导致的。 修改 **CONFIG_RT_ALIGN_SIZE** 为 8 就可以了。
撰写答案
登录
注册新账号
关注者
0
被浏览
842
关于作者
iysheng
这家伙很懒,什么也没写!
提问
10
回答
15
被采纳
4
关注TA
发私信
相关问题
1
调用 stdio 库中的 snprintf 编译不通过。
2
使能C++ 后浮点数无法打印
3
printf打印浮点数,前半段时间有小数点,后面输出小数点没有了。
4
请问为什么sprintf 打印浮点数就会 hard fault...
5
printf 不支持浮点型格式化输出?
6
浮点数打印时,小数点变为 “uart”
7
关于rt_kprintf无法显示浮点数
8
怎么实现printf函数打印浮点数?
9
使能ulog打印浮点数后,进程崩溃
10
rt-thread printf打印信息(包含打印浮点型float)
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
Rt-thread中OTA下载后,bootloader不搬程序
2
ulog 日志 LOG_HEX 输出时间改为本地日期时间
3
在RT-Thread Studio中构建前执行python命令
4
研究一了一段时间RTT,直接标准版上手太难,想用nano,但又舍不得组件
5
CherryUSB开发笔记(一):FSDEV USB IP核的 HID Remote WakeUp (USB HID 远程唤醒) 2025-01-18 V1.1
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
I2C_IIC
ESP8266
UART
WIZnet_W5500
ota在线升级
PWM
cubemx
flash
freemodbus
BSP
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
flashDB
GD32
socket
编译报错
中断
Debug
rt_mq_消息队列_msg_queue
SFUD
msh
keil_MDK
ulog
C++_cpp
MicroPython
本月问答贡献
xusiwei1236
5
个答案
2
次被采纳
踩姑娘的小蘑菇
1
个答案
2
次被采纳
用户名由3_15位
7
个答案
1
次被采纳
bernard
4
个答案
1
次被采纳
张世争
1
个答案
1
次被采纳
本月文章贡献
聚散无由
2
篇文章
15
次点赞
catcatbing
2
篇文章
5
次点赞
Wade
2
篇文章
2
次点赞
Ghost_Girls
1
篇文章
6
次点赞
YZRD
1
篇文章
2
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部