i.MX RT 系列单片机是恩智浦的跨界产品。i.MX RT 包含了一个 FlexSPI 控制器,该控制器支持多种设备,如 Nor Flash,HyperBus 设备等。为了调试方便,一般将程序直接下载到片内 RAM 或片外 RAM 中运行。当在片外 RAM 中调试代码时,片外 RAM 需要在代码下载进 RAM 之前进行初始化,IAR 是通过.mac 文件实现的。本应用笔记以 IAR 为调试环境,描述了如何使用.mac 文件来初始化连接到 i.MXRT FlexSPI 控制器的设备,如 HyperRAM,Flash 等。硬件是基于 RT1060-EVK,软件基于 SDK 2.7.0。
在嵌入式开发中,由于对 Flash 芯片的烧录,读取速度较慢,而调试的时候需要频繁修改程序,对程序的读取、写入速度对开发速度影响很大。因此对调试来说,一般将程序直接烧入片内 RAM 或者是片外 RAM 中运行,这样可以提升调试速度。
使用片内 RAM 调试时,一般将 IAR 的.icf 文件中 ROM 和 RAM 地址都设成片内 RAM 的地址即可。但有时片内 RAM 空间并不够使用,此时就需要使用片外 RAM,当在外部 RAM 中调试代码时,片外 RAM 需要在代码下载进 RAM 之前进行初始化,在 IAR中是通过.mac 文件进行片外 RAM 的初始化的。
本应用笔记主要描述如何用.mac 文件初始化连接至 FlexSPI 的片外 RAM,其主要包括以下步骤:
1. PIN 脚初始化
2. 时钟初始化
3. FlexSPI 初始化和设备初始化
完成以上三个步骤,连接到 FlexSPI 的设备就被成功初始化了。