本帖最后由 小恩GG 于 2021-9-10 11:55 编辑
本文适合LPC540xx,LPC54S0xx, LPC540xxM,LPC54S0xxM系列芯片。
LPC540xx系列没有内部自带flash,所以需要将代码存储在外部flash。有些客户在开发阶段,需要将代码直接下载到SRAM运行测试。 所以本文主要讲述这两部分内容:一.如何利用blhost烧写LPC540xx外部flash;二.如何将代码下载到SRAM。
一. 如何利用blhost烧写LPC540xx外部flash。
步骤如下:
1. 从NXP官网下载LPC540xx SDK:
2. 编译flashloder工程,生成flashloade.bin文件。 此工程路径:SDK_2_8_2_LPCXpresso54018\boards\lpcxpresso54018\bootloader_examples\flashloader
3. 下载flashloader.bin到SRAM。 需要先把flashloader下载到SRAM,用来和下一步blhost通信。可以使用IDE,也可以用dfu-util.exe工具。 IDE下载方法请参看IDE各自手册,此处使用dfu-util.exe.
配置MCU进入USB0 DFU模式:ISP引脚为ISP2(PIO0_6)低,ISP1(PIO0_5)高,ISP0(PIO0_4)低,通过RESET引脚或重新上电复位。
用USB线连接USB0和PC,在CMD中执行如下命令下载 flashloader.bin dfu-util.exe -D lpcxpresso54018_flashloader.bin
4. 使用blhost烧写 USB线连接板子的USB1(High Speed)接口和PC, 此时就可以用blhost和MCU通讯。通过如下命令可实现用blhsot烧写文件到外部flash。 具体blhost命令的使用方法请参考《blhost User's Guide.pdf》。
blhost -u 0x1fc9,0x01a2 -- get-property 12 此处注意最后两行的保留地址空间,用户是不可以使用的, 所以下面使用 fill-memory 和 configure-memory命令时,不能在此地址段。
blhost -u 0x1fc9,0x01a2 -- fill-memory 0x2000E000 40xc0000004
blhost -u 0x1fc9,0x01a2 -- configure-memory 0xa 0x2000E000
blhost -u 0x1fc9,0x01a2 -t 100000 -- flash-erase-region0x10000000 0x100000
blhost -u 0x1fc9,0x01a2 -t 100000 -- write-memory 0x10000000lpcxpresso54018_gpio_led_output.bin
二,如何下载到SRAM 参考第一部分的步骤3,将lpcxpresso54018_flashloader.bin换成自己需要下载测试的 .bin文件即可。
|