本帖最后由 小恩GG 于 2020-11-25 16:38 编辑
本文主要讲述在MCUXpresso IDE中, 如何将no-XIP工程配置为XIP,即在flash直接执行,以及一些注意事项。
一. 配置no-XIP工程为XIP的方法
使用LPC54s018m芯片的用户也许发现,MCUXpresso SDK 下面的例子大部分都是在SRAM运行,由于一些需求,一部分用户需要程序直接在FLASH中运行,也就是XIP模式。这个功能在MCUXpresso IDE中非常容易实现,只需要将“Plain load image”选项去掉, 如下图:
然后clean project->build project. 就成功了。
二.注意事项
第一部分介绍基于MCUXpresso IDE 的 SDK 例子配置为XIP。LPC54s018M的所有例程基本都适用,只有一个需要进行改动,这也是客户之前遇到的问题,即lpcxpresso54s018m_lwip_httpsrv_bm这个工程。
此工程的介绍可以在工程文件夹下面readme中查看:
“The lwip_httpsrvdemo application demonstrates an HTTPServer on the lwIP TCP/IP stack with baremetal SDK or FreeRTOS. The user uses anInternet browser to send a request for connection. The board acts as an HTTPserver and sends a Web page back to thePC.” 关于此例程的使用,也请参看readmetxt。如果只按照前面介绍的方法进行配置,这个工程的功能不能正常运行,当在浏览器中输入readme中提到的IP地址,网页无法打开:
需要加上如下修改:文件lwip_httpsrv_bm.c 71行,修改/*Memory not usable by ENET DMA. */ #define NON_DMA_MEMORY_ARRAY \ { \ { \ 0x0U, 0x0U \ } \ } 为/*Memory not usable by ENET DMA. */ #define NON_DMA_MEMORY_ARRAY\ { \ {0x0U, 0xFFFFFFFFU}, \ { \ 0x0U, 0x0U \ } \ } 然后进行重新编译,就正常运行了。
|