大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是i.MXRT1062 TencentOS Tiny EVB_AIoT开发板环境搭建与点灯

  腾讯 TencentOS 团队于2021年12月8日联合恩智浦半导体、安谋科技发起了一个线上开发者活动 - TencentOS Tiny AIoT 应用创新大赛。为了这个大赛,腾讯 TencentOS 团队联合恩智浦半导体、厚德物联网设计了一款高性能 AIoT 评估板,用于 TencentOS tiny 基础内核和 AIoT 应用功能体验和评估。

  • 大赛主页:https://cloud.tencent.com/developer/competition/introduction/10032

  痞子衡受邀为这个大赛准备一场直播课程(12月30日晚7点),主题是板载主控恩智浦 i.MXRT1062 芯片快速开发指南,由于课程时间限定在40分钟,要讲的内容又比较多,注定只能走马观花,所以这个系列文章就围绕 EVB_AIoT 开发板给这场直播做一个铺垫和补充。本文是第一篇,我们讲讲基础开发环境搭建以及最简单的点灯程序:

一、开发环境搭建

1.1 硬件平台TencentOS Tiny EVB_AIoT开发板

  要跑点灯程序,首先你得有一块 EVB_AIoT 开发板,如下图所示,板卡采用最近比较流行的子母板设计,子板上主控型号为 MIMXRT1062CVL5B。如果报名参加了这个比赛,腾讯会将板卡寄给你。

1.2 集成开发环境MCUXpresso IDE

  EVB_AIoT 开发板主控芯片 MIMXRT1062CVL5B 基于的是 ARM Cortex-M7 内核,我们知道面向 Cortex-M 微控制器的集成开发环境有很多,比如经典的 GCC/IAR/Keil,这几个软件是通用的(与具体 MCU 厂商无关)。除了通用的 IDE 外,一些有实力的 MCU 厂商也会推出自己设计的 IDE,专用于自家的 MCU,恩智浦半导体就推出了适用 i.MXRT 系列的免费 IDE,它就是 MCUXpresso IDE ,这个 IDE 功能很完备,能够满足日常开发需求,不妨试一下。

  • 集成开发环境: MCUXpresso IDE v11.4.0_6224,点此下载

1.3 官方软件开发包MCUXpresso SDK

  在开始移植点灯程序到 EVB_AIoT 开发板之前,我们需要先有一个 i.MXRT1062 的基础模板工程,当然我们可以对着芯片数据手册自己从头写一个,但是这里痞子衡推荐使用恩智浦官方软件开发包。

  注册并登录恩智浦官网,来到 MCUXpresso SDK Builder 页面,在 "Select Development Board" 里选择 EVK-MIMXRT1060 后点击 Build MCUXpresso SDK 后跳转到下一个页面,在 "Developer Environment Settings" 里选择全部 Toolchain 以及 Component 并点击 Download SDK 后便可得到 SDK_2.10.1_EVK-MIMXRT1060.zip,下面是痞子衡下载的开发包具体版本信息:

二、从点灯开始

2.1 确认板载DAP-Link调试器正常

  如果你细心观察,这个 EVB_AIoT 开发板上不止一颗主控芯片,除了子板上的 i.MXRT1062 外,母板上还有一颗 MKL26Z128VLH4,这颗 KL26 便是板载 DAP-Link 调试器主控,关于恩智浦 DAP-Link 调试器细节详见痞子衡旧文 《玩转板载OpenSDA,Freelink调试器》。

  因为有板载 DAP-Link 调试器,所以我们就不需要再外接调试器(很遗憾板卡并没有留出外接调试器接头,如果你实在想用 J-Link 调试器,需要在母板与子板接头里找出 DAP_SWCLK 和 DAP_SWDIO 信号,并飞线出来连到你的 J-Link 调试器上),现在让我们用一根 Type-C 线将 PC 和母板 J1 口连接起来,这个 J1 口既是板载调试器 USB 接口,也可用于给板卡供电。

  • Note: PC最好是Win10系统,如果是Win10以下系统需要手动安装好 serial port driver,注意要连接板卡安装驱动,详见 安装注意事项。

  板卡通过 J1 口供电后,如果你可以看到如下三处地方(新增名为 RT1060-EVK 盘符、设备管理器里新增 mbed Serial Port 串口号、mbed Composite Device USB 控制器),说明板载 DAP-Link 调试器是正常的。

2.2 开始移植SDK led_blinky例程

  万事俱备,现在我们开始移植点灯代码,需要用到 1.3 小节里下载到的 SDK_2.10.1_EVK-MIMXRT1060.zip 包。如果你是用 IAR/Keil 环境,直接将包解压即可,包里面有完整的模板工程文件:

  • IAR 模板工程:\SDK_2.10.1_EVK-MIMXRT1060\boards\evkmimxrt1060\demo_apps\led_blinky\iar
  • Keil 模板工程:\SDK_2.10.1_EVK-MIMXRT1060\boards\evkmimxrt1060\demo_apps\led_blinky\mdk

  不过今天痞子衡更想和大家介绍的是 MCUXpresso IDE 环境下的工程移植,SDK_2.10.1_EVK-MIMXRT1060.zip 包里并没有 MCUXpresso IDE 工程文件,因为 MCUXpresso IDE 是一种全新的 SDK 导入方式,详见痞子衡旧文 《MCUXpresso IDE下SDK工程导入与workspace管理机制》。

  当我们从 SDK 包里导出一个完整 led_blinky 的 MCUXpresso IDE 工程后(默认在 \Documents\MCUXpressoIDE_11.4.0_6224\workspace\evkmimxrt1060_iled_blinky 路径),现在开始修改代码。SDK 里原始代码主要是适配恩智浦官方 MIMXRT1060-EVK 开发板的,官方开发板上连接 LED 的管脚是 GPIO_AD_B0_09(即 GPIO1[9]),而我们 EVB_AIoT 开发板上连接 LED 的管脚是 GPIO_SD_B1_02,我们现在来修改这个管脚配置,在 MCUXpresso IDE 下有更便捷的修改方式,那就是借助 MCUXpresso Config Tool 里的 Pin Tool 组件:

  在 Pin Tool 组件左侧 Pins 窗口里将原来 GPIO_AD_B0_09 勾选去掉,重新选择 GPIO_SD_B1_02,并且配置为 GPIO3_IO02,然后在下面 Routing Details 窗口里进一步配置其 PAD 属性为 Output,操作过程中可以实时看到 pin_mux.c 源文件里的代码变化,最后点击上方 Update Code 按钮,代码会自动更新,至此代码改动就完成了。(关于 MCUXpresso Config Tool 原理详见痞子衡旧文 《MCUXpresso Config Tools初体验(Pins, Clocks, Peripherals)》)

2.3 在 RAM 里调试 led_blinky例程

  修改完 LED 管脚代码后,为了调试方便,我们在工程属性里勾选上 Link application to RAM 选项,即将代码全部链接到 i.MXRT1062 内部 TCM 里,然后编译工程。这里不明白的话详见痞子衡旧文 《MCUXpresso IDE下工程链接文件配置管理与自动生成机制》。在内部 RAM 里调试不涉及 Flash 下载算法,过程比较简单,适用于早期代码评估。

  工程编译结束后,还差最后一步,就是在左下角 Debug your project 窗口里点击 Debug 按钮,这时候 IDE 会自动发现当前可用的调试器 DAPLink CMSIS-DAP,选中它便可以进入调试界面,这时断点应该停在 main 函数里,按 F8(Resume) 键程序便直接跑起来,母板上的蓝色 LED 灯(D8)此时应该在对你眨眼。

  • 完整工程:https://github.com/JayHeng/RT1062_TOS_Tiny_EVB_AIoT_MCUX/tree/main/evb_aiot_mimxrt1060_iled_blinky

  至此,i.MXRT1062 TencentOS Tiny EVB_AIoT开发板环境搭建与点灯痞子衡便介绍完毕了,掌声在哪里~~~

欢迎订阅

文章会同时发布到我的 博客园主页、CSDN主页、知乎主页、微信公众号 平台上。

微信搜索"痞子衡嵌入式"或者扫描下面二维码,就可以在手机上第一时间看了哦。

痞子衡嵌入式:把玩i.MXRT1062 TencentOS Tiny EVB_AIoT开发板(1) - 开发环境搭建与点灯...相关推荐

  1. 嵌入式开发环境搭建:开发板tftp下载环境搭建

    (注:本文参考资料:朱有鹏嵌入式课程.本文为个人学习记录,如有错误,欢迎指正.) 1. 设置网络 设置开发板与虚拟主机Ubuntu的网络连接. (1)将开发板与Windows主机用网线相连: (2)开 ...

  2. 《痞子衡嵌入式半月刊》 第 19 期

    痞子衡嵌入式半月刊: 第 19 期 这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻,农历年分二十四节气,希望在每个交节之日准时发布一期. 本期刊是开源项目(GitHub: JayHeng/pz ...

  3. 《痞子衡嵌入式半月刊》 第 3 期

    痞子衡嵌入式半月刊: 第 3 期 这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻,农历年分二十四节气,希望在每个交节之日准时发布一期. 本期刊是开源项目(GitHub: JayHeng/pzh ...

  4. 《痞子衡嵌入式半月刊》 第 14 期

    痞子衡嵌入式半月刊: 第 14 期 这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻,农历年分二十四节气,希望在每个交节之日准时发布一期. 本期刊是开源项目(GitHub: JayHeng/pz ...

  5. 痞子衡嵌入式:记录i.MXRT1060驱动LCD屏显示横向渐变色有亮点问题解决全过程(提问篇)...

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是i.MXRT1060上LCD横向渐变色显示出亮点问题的分析解决经验. 痞子衡前段时间在支持一个i.MXRT1060客户项目时遇到了LCD ...

  6. 痞子衡嵌入式:在串口波特率识别实例里逐步展示i.MXRT上提升代码执行性能的十八般武艺...

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是在串口波特率识别实例里逐步展示i.MXRT上提升代码执行性能的十八般武艺. 恩智浦 MCU SE 团队近期一直在加班加点赶 SBL 项目 ...

  7. 痞子衡嵌入式:在i.MXRT1060-EVK上利用memtester程序给SDRAM做压力测试

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是在i.MXRT1060-EVK上利用memtester程序给SDRAM做压力测试. 我们知道恩智浦i.MXRT1xxx系列是高性能MCU ...

  8. 痞子衡嵌入式:对比恩智浦全系列MCU(包含Kinetis/LPC/i.MXRT/MCX)的GPIO电平中断设计差异...

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦全系列MCU(包含Kinetis, LPC, i.MXRT, MCX)的GPIO电平中断设计差异. 在痞子衡旧文 <以i.M ...

  9. 痞子衡嵌入式:改动i.MXRT1xxx里IOMUXC_GPR寄存器保留位可能会造成系统异常

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是改动i.MXRT1xxx里IOMUXC_GPR寄存器保留位可能会造成系统异常. 痞子衡的嵌入式技术交流群里有一位非常活跃的朋友(网名:文 ...

最新文章

  1. 免费技术直播:唐宇迪带你一节课了解机器学习经典算法
  2. 遗传算法入门到掌握(一)
  3. 设计sample语言的词法分析器_重现木兰编程语言(十)——比较、循环,一个语法设计特色
  4. WinRAR 注册方法
  5. linux w 命令参数解释
  6. 服务交付审查:缺失的DevOps反馈环
  7. C#LeetCode刷题之#226-翻转二叉树(Invert Binary Tree)
  8. laravel的安装
  9. 鬼谷子72术,完整收藏
  10. android透明状态栏刘海屏,Android 修改dialog状态栏颜色兼容刘海屏
  11. PThread 学习笔记
  12. mac上数据库管理工具Navicat Premium 连接mySQL
  13. grub清除linux密码,忘了grub密码和root密码时的root密码更改和grub密码清除方法
  14. GOF-23种设计模式UML图
  15. java 只保留字母_Java所有保留字与关键字
  16. 怎样用python做词云_一步一步教你如何用Python做词云
  17. python中终结一个循环的保留字_【单选题】以下可以终结一个循环的保留字是() (2.0分) A. if B. break C. exit D. continue...
  18. 单反相机的传奇—佳能单反50年辉煌之路(连载十四)
  19. 计算机鼠标不出现在电脑屏幕上,电脑一打开就这样了,台式的,电脑屏幕不出现鼠标,求大神帮助...
  20. Redis单线程和多线程

热门文章

  1. 【Avro二】Avro RPC框架
  2. 欧贝通和工行e卡(虚拟visa卡)
  3. ZooKeeper源码分析之完整网络通信流程(一)
  4. 数据挖掘从入门到放弃:线性回归和逻辑回归
  5. eeglab下载和配置
  6. fla文件中切记不能使用TLF文本
  7. 电力作业虚拟仿真培训教学平台的功能及特色介绍
  8. 王姨劝我学HarmonyOS鸿蒙2.0系列教程之三Ability概述调用方法!
  9. 网页学习——创建HTML框架(frameset、frame、iframe)
  10. 论文的可复现性,能否量化分析?