Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
星火1号_spark_星火一号_开发板
内存对齐_align
[星火一号] 代码模板, 手动写启动代码, 开机后 snprintf 不能处理 %llu 了, 是有什么配置上的冲突吗?
发布于 2023-07-26 13:15:22 浏览:569
订阅该版
代码如下 : ```c void entry_init() { __disable_irq(); //SCB_EnableICache(); //SCB_EnableDCache(); HAL_Init(); //stm32f4xx_hal.c Config_Clock(); HAL_UART_Init(&uart1_runtime_handle); char stackchars[128]; for(int64_t t=0;t<100;t++) { snprintf(stackchars, sizeof(stackchars), "Welcome %llu\r\n",++t); for (const char* msg=stackchars;; msg++) { char c = *msg; if (!c) break; uart1_runtime_handle.Instance->DR = c; while (__HAL_UART_GET_FLAG(&uart1_runtime_handle, UART_FLAG_TC) == RESET); } } } ``` 使用星火一号 0.20 的模板代码, 修改 `entry()` 直接改为原始的启动方式. 然后所有的 `%llu` 都不能识别了. ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20230726/a3f644f753bc5f9ef3030b5e687defbe.png) 模板是 rtthread 的代码模板, 是有什么冲突在里面导致的吗? 是不是rt-thread对 c库改了些什么, rtos没启动, 就运作不正常了呢?
查看更多
2
个回答
默认排序
按发布时间排序
yesrpg227
2023-07-27
这家伙很懒,什么也没写!
已经调试和找到原因了. 是因为堆栈没有8字节对齐, 导致 va_start 时的变参对齐出问题了, 一遇到int64就直接产生偏移. 至于堆栈为什么没对齐, 这不多不少有点编译器和环境配置共同照成的bug , 至于如何产生的没有深究了 , 想办法绕过去就解决了.
refugeer
2023-07-26
这家伙很懒,什么也没写!
rtthread对接c库做了重映射, 这样做是为了实现编译器配平层,同时自身的c库体积可控,也可以线程安全。 虽然你没有使用rtt,但还是使用了框架呀。毕竟编译链接更在代码运行之前。 重映射文件为:`rt-thread\components\libc\compilers\newlib\syscalls.c` 话说既然不用rtt,为什么不用cubemx,随便配置一个时钟一个串口就是一个工程,这样不就满足需求了吗。不要试图更改rtt框架,不然删减改动太大了,不讨好。
撰写答案
登录
注册新账号
关注者
0
被浏览
569
关于作者
yesrpg227
这家伙很懒,什么也没写!
提问
1
回答
2
被采纳
0
关注TA
发私信
相关问题
1
studio 字节对齐问题求解
2
ALIGN(RT_ALIGN_SIZE)问题
3
线程中对double赋值会引起 UNALIGNED ?
4
SCB_CFSR_UFSR:0x100 UNALIGNED问题
5
程序75行一赋值就挂掉,不知什么原因
6
stm32h7 非对齐访问出现HardFault
7
字节对齐 ALIGN(RT_ALIGN_SIZE)的用法
8
函数地址指针赋值问题
9
给float指针赋值引发 UNALIGNED 错误,请教原因与优化手段
10
AC6优化等级-OZ后,触发错误中断,错误原因:企图执行非对齐访问,如何解决?
推荐文章
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
使用百度AI助手辅助编写一个rt-thread下的ONVIF设备发现功能的功能代码
2
RT-Thread 发布 EtherKit开源以太网硬件!
3
rt-thread使用cherryusb实现虚拟串口
4
《C++20 图形界面程序:速度与渲染效率的双重优化秘籍》
5
《原子操作:程序世界里的“最小魔法单位”解析》
热门标签
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
ESP8266
I2C_IIC
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
ulog
C++_cpp
at_device
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
a1012112796
13
个答案
2
次被采纳
张世争
9
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
用户名由3_15位
11
个答案
1
次被采纳
本月文章贡献
程序员阿伟
8
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
5
次点赞
ThinkCode
1
篇文章
1
次点赞
Betrayer
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部