1.概述
- 今天在进行 tftlcd 驱动编写的时候,要对屏幕进行清屏操作,知道DDR内存地址到屏幕坐标的映射关系,但是如何将给定数据写入到这个地址呢?
2.解决
- 先来复习一下 C 语言的一个类型强制转换的知识:
int a=0x87800000; (1)
int *p=(int *)a; (2)
*p = 100; (3)
分析一下:
(1)定义了一个在内存中占 4个字节的 int 型变量a,其值为0x87800000;
(2) 将内存中a 的值 强制转换为 int * ,然后用指针p指向a
(3) p指向a,对p赋值就是对a里面的值赋值,也就是对a里面的指针形式的0x87800000赋值,也就是对0x87800000地址出赋值
3.总结
- 在进行嵌入式开发的时候,由于需要和底层的存储设备比如DDR,flash,sd卡等打交道,所以会经常遇到这类问题。
4.参考
https://blog.csdn.net/phenixyf/article/details/8295625