Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
内核
线程
20
RTT内核中线程栈和CPU寄存器类型问题
发布于 2021-03-26 22:16:38 浏览:1028
订阅该版
![f104fbf8dd57c4cf10821fdf52f07c1d.png](https://oss-club.rt-thread.org/uploads/20210326/f104fbf8dd57c4cf10821fdf52f07c1d.png) 线程栈一般为一个rt_uint8_t类型的数组。 ![d42598bb0e0fec9b4360c61b8315d15b.png](https://oss-club.rt-thread.org/uploads/20210326/d42598bb0e0fec9b4360c61b8315d15b.png) 但是内核代码中栈会保存寄存器的值,为rt_uint32_t的类型。 ![image.png](https://oss-club.rt-thread.org/uploads/20210326/be1116761a108bcba1f28dc20c45d73d.png) **问题:为什么类型为uint8_t的数组可以存放uint32_t的数据? 谢谢。**
查看更多
4
个回答
默认排序
按发布时间排序
cxhxy12345
2021-03-26
这家伙很懒,什么也没写!
这个是位对齐的概念,32位的单片机就是每个地址单元都是32位。如果用到8位的数据实际就是这个地址的低字节。所以在你的6步有一个对齐操作。所以虽然你定位的是一个8位的变量,但实际该变量地址对应的还是32位。
nyf2018
2021-03-26
这家伙很懒,什么也没写!
![64037ed80b07233c8d40dd155da63246.png](https://oss-club.rt-thread.org/uploads/20210326/64037ed80b07233c8d40dd155da63246.png) 查看野火《RT-Thread内核实现与应用开发实战-基于STM3》本书,实际计算的sizeof(struct stack_frame)的大小应该是64字节,而不是16字节,应该偏移64字节,即可存放32位CPU寄存器的值。
flashman2002
2021-03-27
这家伙很懒,什么也没写!
地址指针是指向rt_uint_t8的,第33行就是一个地址对齐32位的操作,其后的赋值都是针对结构体内的32位寄存器了。
Eureka1024
2021-03-29
嵌入式软件开发工程师一枚
为什么类型为uint8_t的数组可以存放uint32_t的数据? 这是个c语言指针语法的问题,使用uint8_t来定义仅仅是为了给线程栈一个内存空间(这个空间可以用来存储各种变量类型的数据),通过强制类型转换改变指针类型,你就可以保存32位的数据类型的变量,当然,如果你需要也可以转换成别的类型,只是这里刚好是32位的单片机而已。
撰写答案
登录
注册新账号
关注者
0
被浏览
1k
关于作者
nyf2018
这家伙很懒,什么也没写!
提问
1
回答
1
被采纳
0
关注TA
发私信
相关问题
1
请问执行rt_thread_delete的操作后,线程还在运行是什么情况?
2
rtthread中,线程中的ADC采样率需求比时钟嘀嗒需求高怎么办?
3
有没有检测系统中有没有某个名字的线程的接口函数?
4
使用finsh 进行ota成功,线程里开ota失败
5
调度锁会引起线程内存不足
6
线程处于close状态消耗资源吗
7
paho_mqtt线程相关疑问
8
thread中不能使用rt_timer_start() 来开启定时器
9
线程递归是什么形成的?
10
程序运行一会儿报错,拜托拜托
推荐文章
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
ota在线升级
UART
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
at_device
ulog
C++_cpp
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
张世争
8
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
a1012112796
13
个答案
1
次被采纳
用户名由3_15位
11
个答案
1
次被采纳
本月文章贡献
程序员阿伟
6
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
2
次点赞
ThinkCode
1
篇文章
1
次点赞
Betrayer
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部