查看: 1656|回复: 0

[原创] MCUXpresso IDE 配置no-XIP工程为XIP及注意事项

[复制链接]

该用户从未签到

656

主题

6312

帖子

0

超级版主

Rank: 8Rank: 8

积分
19991
最后登录
2024-4-23
发表于 2020-11-17 17:16:38 | 显示全部楼层 |阅读模式
本帖最后由 小恩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”选项去掉, 如下图:
2020-11-17_17-08-34.jpg

然后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       \
        }                    \
    }
然后进行重新编译,就正常运行了。
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /4 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2024-4-23 17:47 , Processed in 0.112844 second(s), 20 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表