天嵌 ARM开发社区

 找回密码
 注册
查看: 1922|回复: 4

驱动程序的结构体默认对齐与应用程序的默认对齐不一样?

[复制链接]
haffman 发表于 2014-4-28 22:29:01 | 显示全部楼层 |阅读模式
公司用到TQ2440的核心板,除了应用程序其它都是天嵌提供的。
但这几天发现应用程序一直调不通,还以为我的程序哪里出问题了。后来才发现驱动程序与应用程序默认对齐是不一样的。
我做了个简单测试:
驱动程序与应用共用一个如下结构体
struct _led_s
{
        unsigned char led_stat;
        unsigned char buf[30];
}led_status;

在编译驱动后。加载驱动时打印出来的sizeof(led_status)值为32,而应用程序运行时打印出来为31.

请问下这是什么问题呢?驱动编译和应用程序编译都没有指定任何编译选项。
 楼主| haffman 发表于 2014-4-28 22:31:34 | 显示全部楼层
编译器版本为4.3.3
 楼主| haffman 发表于 2014-4-28 22:57:37 | 显示全部楼层
有谁知道吗?开发板上的文件系统是通过nfs挂载到X86的linux
 楼主| haffman 发表于 2014-4-28 23:40:23 | 显示全部楼层
用天嵌提供的文件系统,问题还是如此。真不知道问题出在哪里。问题你快快出来
 楼主| haffman 发表于 2014-4-29 23:09:03 | 显示全部楼层
貌似 天嵌提供的内核有点问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-19 13:00 , Processed in 1.062500 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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