- 打卡等级:初来乍到
- 打卡总天数:5
- 最近打卡:2025-04-30 07:46:22
荣誉版主
- 积分
- 2319
|
发表于 2024-10-26 08:17:45
|
显示全部楼层
本帖最后由 tzz1983 于 2024-10-26 08:20 编辑
没有仔细看代码,不知道为什么产生不可预料的仰错误,可以降低优化等级,关掉全局重入选项试试。
在结构体前加xdata修饰时要注意。如下代码:
第一种:
定义结构体类型
typedef struct
{
UInt8 Member1;
UInt8 Member2;
UInt8 Member3;
UInt8 Member4;
} xdata MY_STRUCT_T;
如果 MY_STRUCT_T var; //var 是在XDATA区。这很容易理解
如果 MY_STRUCT_T *pt; //此时注意,指针变量本身pt并不一定存储在xdata区域,
//根据项目内存模式设定,可能在 data, edata, xdata。
//但是pt一定是指向XDATA的专用指针,即两字节指针,普通指针是4字节。
如果要 pt本身也存储在xdata, 可以这样写: MY_STRUCT_T * xdata pt;
|
|