我使用 MCB1700 评估板。它具有 (320 x 240) TF LCD 显示屏。IDE:Keil uvision4 4.03q。我的任务是将图片从 PC 下载到 MCB1700,在 LCD 上显示
并下载到 USB 棒(连接到板)上。我需要 320*240*2 = 153600 字节的内存。MCB1700 只有 64kB SRAM,和 512kB 片上闪存。显然,我必须将图片存储在闪存中。
据我了解,我应该将指针直接绑定到内存地址。
/* Base addresses */
#define LPC_FLASH_BASE (0x00000000UL) //beginning address of on-chip Flash
#define LPC_IMAGE_ADDR (LPC_FLASH_BASE + 0x10000)
#define ImagePtr ((unsigned short *) LPC_IMAGE_ADDR )
//read-write operations
ImagePtr[0] = 0x0124; //First pixel
…
ImagePtr[320*240] = 0xFA37; //Last pixel
unsigned short A = ImagePtr[0];
这是对的吗?由于 Target 的选择,我有一个疑问。
Flash 存储器的区域定义为 Read/Only IROM1。这是否意味着我们只能从 Flash 中读取数据,并且必须更改 IROM 和 IRAM 字段中的 Memory area 才能执行写入操作?例如以这种方式: