软件工具 在开发调试 MM32F5270 + QSPI Flash 这个 “复杂的应用” 时,需要一些软件工具: 开发平台 嵌入式软件的开发需要一个软件平台,这个软件平台可以是 MDK,IAR,ARMGCC 等,本文将以 MDK 为例,开发并调试所需要的软件。在官网(https://www.keil.com/download/product)页面上,可下载MDK-ARM的安装包并启动安装,使用 MDK 进行工程的调试与下载。 需要注意,MDK 的软件版本最低为 5.37,且需使用 AC6 编译器,旧版本 AC5 编译器不支持编译 STAR-MC1 平台的软件。 下载算法 不同于 SRAM,修改 Flash 中的内容时,需要先将 Flash 中的数据整块擦除,再通过特殊的方法将数据写入到 Flash 中,而不是直接往指定地址进行写操作。因此,需要有一段中间程序,能够帮助调试器将指定位置的数据,写入到 Flash 中。 这段中间程序就叫做下载算法,它运行在 SRAM 中,在修改 Flash 中的内容前,调试器会先将下载算法通过 SWD 或其他调试接口加载到 SRAM 中并执行,然后再加载存放到 Flash 中的数据,让存储在 SRAM 中的下载算法将数据写入到 Flash 中。 获取下载算法有三种方式: 1 从 MCU 厂商的官网中下载相应 MCU 的 PACK 包中获取。 2 从 MDK 的 Pack Installer 中获取。 3 使用开发平台提供的模板文件自行制作。 2nd Bootloader 2nd Bootloader 将会引导微控制器执行存放在 QSPI Flash 中的应用程序,之所以称为 2nd Bootloader,是为了区分固化在微控制器内部的 1st Bootloader。当然,2nd Bootloader 也可以固化到微控制器中,作为 1st Bootloader 来使用,但那样就失去了可定制化的意义。 2nd Bootloader 执行存储在 QSPI Flash 上的应用程序之前,会先初始化 QSPI 外设,以及所用到的 GPIO 引脚,让微控制器能够通过访问地址的形式访问 QSPI Flash,就像访问片内 Flash 那样。当然,这只是 2nd Bootloader 最基本的功能,在此基础上,还可以增加一些定制化的功能,例如为量产而准备的串口 + Ymodem 下载固件功能,或者增加 OTA 升级的方案。
|