Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
ART-Pi Smart
浮点数打印
5
浮点数打印,从内核态直接打印和从用户态访问设备再触发打印,效果不一致
发布于 2022-05-08 12:43:04 浏览:589
订阅该版
我在 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
被浏览
589
关于作者
iysheng
这家伙很懒,什么也没写!
提问
8
回答
13
被采纳
3
关注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
机器人操作系统 (ROS2) 和 RT-Thread 通信
4
国产MCU移植系列教程汇总,欢迎查看!
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
NXP MCXN947开箱照
2
基于FRDM-MCXN94的TFT模块评测
3
FRDM-MCXN947 Flash实践----使用RTT fal组件
4
RTT下的I2C框架
5
【学习分享】libc的版本探测
热门标签
RT-Thread Studio
串口
LWIP
SPI
Env
Bootloader
AT
ART-Pi
Hardfault
CAN总线
FinSH
USB
文件系统
DMA
RT-Thread
SCons
线程
RT-Thread Nano
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
ota在线升级
WIZnet_W5500
I2C_IIC
UART
flash
cubemx
packages_软件包
freemodbus
PWM
潘多拉开发板_Pandora
定时器
ADC
BSP
中断
编译报错
socket
keil_MDK
MicroPython
GD32
msh
Debug
ulog
SDIO总线
SFUD
rt_mq_消息队列_msg_queue
flashDB
本月问答贡献
用户名由3_15位
17
个答案
3
次被采纳
xiaorui
7
个答案
3
次被采纳
sakumisu
4
个答案
3
次被采纳
三世执戟
31
个答案
1
次被采纳
梦笑真美
20
个答案
1
次被采纳
本月文章贡献
比特饼干
2
篇文章
6
次点赞
Z_Y
2
篇文章
5
次点赞
Alipay
2
篇文章
3
次点赞
xusiwei1236
2
篇文章
3
次点赞
yinxiangxv
2
篇文章
3
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部