使用内核借口ioremap入下:
u32BaseAddr0 = ioremap(0x20060000, 0x4000);
编译出现入下的编译错误信息:
assignment makes integer from pointer without a cast [enabled by default]
查看代码发现是因为 u32BaseAddr0 返回值的类型不对,写成了static unsigned int u32BaseAddr0;,ioremap的返回值应该是映射后的虚拟地址,应该是一个指针:static unsigned int *u32BaseAddr0 = NULL;

本文介绍在使用ioremap函数进行内存映射时常见的编译错误:'assignment makes integer from pointer without a cast'。错误源于返回值类型不匹配,ioremap返回的是一个指针,但代码中将其定义为整型变量。正确做法是将返回值定义为指向unsigned int类型的指针。

3826


被折叠的 条评论
为什么被折叠?



