立即注册
查看: 2150|回复: 1

[问题] 关于32位和64位驱动移植时遇到的内存对齐或重启问题

已绑定手机
发表于 2018-12-19 22:30:33 | 显示全部楼层 |阅读模式 来自 广东省深圳市南山区
32位

#define ALIGN_TO(x, n)  (((x) + ((n) - 1)) & ~((n) - 1))

void* For_Capture_p = NULL;
void* For_BackupBuffer_p = NULL;

#define ONE_FB_SIZE (240*240*sizeof(u16)+64)


For_Capture_p = (void*)kmalloc(ONE_FB_SIZE, GFP_kernel | GFP_DMA);
For_BackupBuffer_p = (void*)kmalloc(ONE_FB_SIZE, GFP_KERNEL | GFP_DMA);
For_Capture_p = (void*)ALIGN_TO((uint32_t)For_Capture_p,64);
For_BackupBuffer_p = (void*)ALIGN_TO((uint32_t)For_BackupBuffer_p,64);

这串代码在64位机器上会导致重启问题,大家帮忙一起分析上面这串代码在64位上怎么写。


我知道答案 回答被采纳将会获得5 RD币 已有1人回答
已绑定手机
已实名认证
已企业认证
我是一牛网创始人
欢迎半导体原厂和其他想要合作的请联系我
电话:18902843661(微信同号,加号备注:XX原厂/XX代理/XX方案/XX工程师或技术)
发表于 2018-12-20 09:18:28 | 显示全部楼层 来自 广东省深圳市
什么样的软件系统及版本,什么样的硬件环境 ?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

合作/建议

TEL: 19168984579

工作时间:
周一到周五 9:00-11:30 13:30-19:30
  • 扫一扫关注公众号
  • 扫一扫打开小程序
Copyright © 2013-2024 一牛网 版权所有 All Rights Reserved. 帮助中心|隐私声明|联系我们|手机版|粤ICP备13053961号|营业执照|EDI证
在本版发帖搜索
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表