Wince下一个变量的地址低8位必须为0,即类似__align(256)关健字

Wind_Cloud2012 2012-06-05 05:26:00
最近正在研究s3c2440的USB主机接口,可它采用的是OHCI规范,在OHCI规范中要求寄存器HcHCCA(用来设置HCCA数据区的地址)变量地址的低8位必须为0,如:
__align(256)struct ohci_hcca ghcca;

但在Wince中好像不支持__align关健字,而#pragma pack() 只能是1、2、4、...、32, 网上有人说全局变量可以支持大于32字节对齐的,我试过了#pragma pack(256),达不到效果,测试如下:
#pragma pack(256)
typedef struct test
{
BYTE bTest;
}RcTest;
#pragma pack()

#pragma pack(256)
RcTest rTest;
#pragma pack()

//sizeof(RcTest) 等于 1
//&rTest=0x0041a314

不知Wince下有没有相应的关健字,有哪位大侠知道是什么关健字啊,请赐教!

...全文
141 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
woshi_ziyu 2012-06-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

自己顶一个,刚才查看MSDN时,终于发现了一个跟__align()替换的关健字,测试结果也符合要求。

__declspec( align(256) )
typedef struct test
{
BYTE bTest;
}RcTest;
#pragma pack()

__declspec( align(256) )
RcTest rTest;
#pragma pac……
[/Quote]
++

不错
91program 2012-06-05
  • 打赏
  • 举报
回复
结贴吧。
Wind_Cloud2012 2012-06-05
  • 打赏
  • 举报
回复
自己顶一个,刚才查看MSDN时,终于发现了一个跟__align()替换的关健字,测试结果也符合要求。

__declspec( align(256) )
typedef struct test
{
BYTE bTest;
}RcTest;
#pragma pack()

__declspec( align(256) )
RcTest rTest;
#pragma pack()

//sizeof(RcTest) 等于 256
//&rTest=0x0041a400

自己结贴了,呵呵 !
基于LOS算法+反步控制的水下航行器AUVUUV三维路径跟踪控制研究(Matlab代码实现)内容概要:本文研究基于LOS(Line-of-Sight)算法与反步控制相结合的水下航行器(AUV/UUV)三维路径跟踪控制方法,并提供了完整的Matlab代码实现。通过构建水下航行器的动力学模型,结合LOS导引策略实现路径跟踪,利用反步控制方法设计控制器以保证系统稳定性与跟踪精度,有效应对海洋环境中的外部干扰与模型不确定性。文中详细阐述了控制算法的设计过程、稳定性分析及仿真验证,展示了在复杂三维路径下的良好跟踪性能。; 适合人群:具备自动控制理论、非线性控制基础及Matlab/Simulink仿真能力的研究生、科研人员及从事水下机器人控制开发的工程技术人员。; 使用场景及目标:①用于水下无人航行器路径跟踪控制系统的算法设计与仿真验证;②学习LOS导引法与反步控制在非线性系统中的综合应用;③为海洋机器人运动控制、自动驾驶等领域提供技术参考与代码实现模板。; 阅读建议:建议结合控制理论基础知识,逐步理解LOS算法的几何原理与反步控制的递推设计思想,重点分析Lyapunov稳定性证明过程,并通过Matlab代码调试与仿真实验加深对算法性能的理解。

19,523

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧