C语言之给指定地址赋值

1.概述

  • 今天在进行 tftlcd 驱动编写的时候,要对屏幕进行清屏操作,知道DDR内存地址到屏幕坐标的映射关系,但是如何将给定数据写入到这个地址呢?

2.解决

  • 先来复习一下 C 语言的一个类型强制转换的知识:
int a=0x87800000;1int *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

你可能感兴趣的:(Linux)