请选择 进入手机版 | 继续访问电脑版
查看: 4559|回复: 34

[原创] 在MCUXpresso IDE环境下编译和调试i.MX RT1021的Micropython工程

[复制链接]

该用户从未签到

35

主题

356

帖子

0

金牌会员

Rank: 6Rank: 6

积分
2524
最后登录
2023-6-23
发表于 2023-3-6 16:40:57 | 显示全部楼层 |阅读模式
本帖最后由 香水橙 于 2023-3-7 12:48 编辑

在座的各位,估计多多少少都听说过Micropython,就是在MCU上用Python进行应用开发,虽然代码效率还赶不上纯C代码,但开发效率肯定是刚刚的,如果能玩转C与Python的混合编程,将会是MCU应用开发方式的一大飞跃。
关于为什么要使用Micropython,请大家可以去看看我的一篇短文:https://mp.weixin.qq.com/s/1M6c5iUBC5y_66FbMORIXA,这篇短文也被管管转到了本论坛中https://www.nxpic.org.cn/module/forum/forum.php?mod=viewthread&tid=623187

当然要想玩Micropython,首先需要会依据源码自己进行有针对性的开发,本文将手把手地引导大家,从下载源码工程入手,再导入MCUXpresso IDE,最后能够在Windows环境下正确地编译链接官方的源码工程,并下载到开发板中运行。

注意:官方的源码工程默认是在Linux下使用make或cmake进行开发,使用本文的方法,将可以在Windows环境下进行开发,让不会Linux的开发者也能一展身手。

谁能完成本帖介绍的所有内容,我送他/她一块板子,见另一帖:
【开源福利】i.MX RT1021开发板开源啦
https://www.nxpic.org.cn/module/ ... amp;fromuid=2083228
(出处: 恩智浦技术社区)

回复

使用道具 举报

  • TA的每日心情
    开心
    6 小时前
  • 签到天数: 1271 天

    [LV.10]以坛为家III

    21

    主题

    1万

    帖子

    1

    金牌会员

    Rank: 6Rank: 6

    积分
    13202
    最后登录
    2024-4-16
    发表于 2023-3-19 15:52:35 | 显示全部楼层
    微信图片_20230319154323.png


    香水橙大佬,你那个第六步害死人啊,这个工程我已经熟练到可以闭着眼睛把它做出来。

    第六步中的环境变量设置,除了PATH,那个LIB千万不要设置啊,小伙伴们,我已经帮你们踩完坑了。

    firmware.rar

    1.34 MB, 下载次数: 18, 下载积分: 威望 1

    跟着日天混 ,三天饱九顿!
    回复 支持 1 反对 0

    使用道具 举报

    该用户从未签到

    35

    主题

    356

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2524
    最后登录
    2023-6-23
     楼主| 发表于 2023-3-6 16:43:09 | 显示全部楼层
    就写了这么几个字,放了几张图片,后台就说帖子太长,搞得不知怎么回事
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    35

    主题

    356

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2524
    最后登录
    2023-6-23
     楼主| 发表于 2023-3-6 16:48:29 | 显示全部楼层
    本帖最后由 香水橙 于 2023-3-6 17:51 编辑

    希望现在好点,慢慢发............

    一、下载官方源码工程
    进入https://github.com/micropython/micropython克隆或下载最新完整工程。
    下面截图显示直接下载方式,
    Picture0.png


    打开下载的micropython-master.zip并解压到自己的目录下,例如我在根目录创建了\mpy目录,解压上述zip文件后得到micropython的完整工程树。

    为了简短,工程的根目录改名为\mpy\master(原为\mpy\micropython-master)


    接下来,为了后续操作方便,在ports\目录下只保留mimxrt和windows目录,删除其它的目录文件:

    Picture2.png




    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    6 天前
  • 签到天数: 1335 天

    [LV.10]以坛为家III

    88

    主题

    4292

    帖子

    12

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    9049
    最后登录
    2024-4-13
    发表于 2023-3-6 16:49:25 | 显示全部楼层
    印象中,之前使用Cortex-M4内核就可以跑出来MicroPython。
    现在M7来实现,应该更简单了吧?
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    35

    主题

    356

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2524
    最后登录
    2023-6-23
     楼主| 发表于 2023-3-6 16:51:25 | 显示全部楼层
    本帖最后由 香水橙 于 2023-3-6 17:52 编辑

    二,安装MCUXpresso IDE
    https://mcuxpresso.nxp.com/,点击右上角的IDE图标,下载MCUXpresso IDE:
    Picture3.png

    然后安装并启动MCUXpresso IDE。



    启动MCUXpresso IDE后,直接选择micropython的目录:

    Picture4.png

    点击“Launch”进入MCUXpresso IDE。




    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2024-3-26 15:16
  • 签到天数: 266 天

    [LV.8]以坛为家I

    3298

    主题

    6545

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    31998
    最后登录
    2024-4-9
    发表于 2023-3-6 17:02:27 | 显示全部楼层
    图片要插入进去,直接复制占用字符可能比较多
    签到签到
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    35

    主题

    356

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2524
    最后登录
    2023-6-23
     楼主| 发表于 2023-3-6 17:03:14 | 显示全部楼层
    本帖最后由 香水橙 于 2023-3-6 17:52 编辑

    下面开始重点来了:

    三、导入Micropython工程
    按以下步骤操作:
    1.        进入MCUXpresso IDE后,找到Project Explorer,点击“Create a project …”

    Picture8.png

    2.        选择“Makefile Project with Existing Code”:

    Picture9.png

    点击Next。

    3.        输入工程名称并指定工程代码的位置:

    Picture6.png

    点击Finish。
    4.        此时可以在Project Explorer中看到刚建好的工程和里面的文件。
    注意,此时这里只能看到ports\mimxrt\目录以下的文件和子目录,但micropython根目录下的其它目录是看不见的,例如py\、lib\等目录,但这不影响后续的编译操作。
    Picture10.png



    回复 支持 反对

    使用道具 举报

    该用户从未签到

    35

    主题

    356

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2524
    最后登录
    2023-6-23
     楼主| 发表于 2023-3-6 17:08:35 | 显示全部楼层
    四、建立板级目录
    下面将针对一个i.MX RT1021-100脚的核心板,创建一个新目录,其中将包含该核心板特有的信息。
    如果有人想DIY这个板子,稍后我会把这个板子的工程文件开源出来,大家一起玩!
    Picture11.jpg

    ports\mimxrt\boards\下,建立一个新目录MIMXRT1020_Core100,并将已有的MIMXRT1020_EVK目录下的所有文件拷贝到新目录下。
    Picture13.png
    上图中5个文件中的后3个文件需要按照这个核心板的配置进行适当修改,此处暂不解释如何修改这些文件,可以直接把附加目录extra_files\boards\MIMXRT1020_Core100的内容直接拷贝过来,覆盖掉已有的文件即可。附加目录的内容在附件中。
    extra_files.zip (60.01 KB, 下载次数: 35)
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    35

    主题

    356

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2524
    最后登录
    2023-6-23
     楼主| 发表于 2023-3-6 17:15:42 | 显示全部楼层
    五、设置相关环境
    在进行后续各项操作之前,先要设置好相应的环境变量。
    1.   在Project Explorer中点击工程名称
    2.   菜单栏点击ProjectàProperties,见下图:
    Picture14.png
    3.        按下图添加两行新变量:
    Picture15.png
    Picture16.png
    最后应该是下面这个样子:
    Picture17.png
    4.        最后一定要点按④⑤两处按钮保存。

    回复 支持 反对

    使用道具 举报

    该用户从未签到

    35

    主题

    356

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2524
    最后登录
    2023-6-23
     楼主| 发表于 2023-3-6 17:28:03 | 显示全部楼层
    六、下载安装Windows下的GCC
    1.        按照这个帖子下载安装Windows环境下的GCC:https://zhuanlan.zhihu.com/p/47935258
    2.        参照前一节的第3步骤,在project/properties/Environment的PATH中添加指向这个GCC的路径。
    注:这个GCC是编译链接并生成在Windows环境下运行的exe文件,用于生成预编译的python代码;而不是产生在i.MX RT1021上运行的代码。


    七、创建工程目标
    完整的工程需要分别编译若干目标才能完成。
    如果是用git克隆整个工程,则工程文件树中将不包含lib/tinyusb、lib/micropython-lib和lib/nxp_driver内的文件,需要创建一个子模块目标从github进行同步,本文假定读者是下载的zip文件解压得到文件树,因此暂时略过这部分。


    建立板子的工程目标
    1.        右键点击项目名称,Build Targets-->Create…

    Picture16.png

    2.        建立编译目标:

    Picture17.png

    3.        在github下载相应子模块,lib/tinyusb、lib/micropython-lib和lib/nxp_driver:

    Picture18.png

    上图中,@后面的字符是相应版本号的信息,不同时间下载时有可能是其它值,不必理会。如果是下载的zip文件,则解压后还需要修改这个子模块的目录名,去掉后缀的版本号信息。

    4.        在实质进入编译之前,还要拷贝extra_files\util\目录至C:\mpy下面,这里包含了几个仿Linux下的工具,在编译时需要用到。

    Picture18.png

    5.        同时也要参照第五节的第2步骤,把这个util目录添加到PATH中。


    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2024-4-16 18:39 , Processed in 0.169373 second(s), 39 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

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