硬汉嵌入式论坛

 找回密码
 立即注册
查看: 545|回复: 3
收起左侧

[ThreadX全家桶] 在一个threadx线程里“内存操作函数”会HardFault_Handler

[复制链接]

40

主题

113

回帖

233

积分

高级会员

积分
233
发表于 2023-10-7 10:20:46 | 显示全部楼层 |阅读模式
建一个threadx线程,堆栈大小也足够大,在线程里用常用的函数“memset、strcpy、strcat、strcmp、strncpy、strncat”操作一个全局变量,会产生“HardFault_Handler”错误,屏蔽操作内存就没有问题,怎么解决呢?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106676
QQ
发表于 2023-10-7 10:35:25 | 显示全部楼层
你用的是M7吧,注意这个问题

石锤内存访问不支持非对齐是否STM32H7的硬件bug
https://www.armbbs.cn/forum.php? ... 4562&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

40

主题

113

回帖

233

积分

高级会员

积分
233
 楼主| 发表于 2023-10-7 16:33:00 | 显示全部楼层
eric2013 发表于 2023-10-7 10:35
你用的是M7吧,注意这个问题

石锤内存访问不支持非对齐是否STM32H7的硬件bug

硬汉哥,还真是指针造成的,自己定义的一个结构体怎么对齐呢?
回复

使用道具 举报

0

主题

105

回帖

105

积分

初级会员

积分
105
发表于 2023-10-11 09:50:56 | 显示全部楼层
yihang1004 发表于 2023-10-7 16:33
硬汉哥,还真是指针造成的,自己定义的一个结构体怎么对齐呢?

#pragma pack(push) //暂存对齐
#pragma pack(1/2/4/8)

//对齐的代码块

#pragma pack(pop)  // 还原对齐
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-29 08:26 , Processed in 0.160247 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表