五、软件开发
5.1 开发环境
nxp--MCUXpressoIDE_11.4.0_6224
特性:
- MCUXpresso SDK,支持FreeRTOS
- MCUXpresso IDE
- MCUXpresso配置工具
- VIZNAS SDK包括恩智浦OASIS Lite机器学习视觉引擎
nxp官方:https://www.nxp.com.cn/document/guide/get-started-with-the-sln-viznas-iot:GS-SLN-VIZNAS-IOT?tab=Design_Tools_Tab(下载链接邮件一直未收到)
另外感谢@bigfanofloT 老哥对产品资料的分享,这里附上他的资料分享贴链接:https://mbb.eet-china.com/forum/topic/93857_1_1.html
这才获取到IDE
安装很简单,“双击”下载的安装包,一直“下一步”,直到“完成”。
5.2 安装SDK
可以参考文件SDK说明文档
https://www.nxp.com.cn/document/guide/get-started-with-the-sln-viznas-iot:GS-SLN-VIZNAS-IOT?tab=Design_Tools_Tab
这里说的方法:要将SDK导入MCUXpresso IDE中,请将在上一步中下载的SDK zip拖动到MCUXpresso IDE中的Installed SDK(已安装SDK) 窗口中。(我是没成功)
我用这个方法成功安装SDK
5.2 .1 启动MCUXpressoIDE 进入 Install SDKs
在“开始页面”-“点击”“Download and Install SDKs”
5.2 .2 选择开发板“SLN-VIZNAS-IOT”
按提示“refresh”(这个很重要,要不然没数据,完成下一步,这个按钮很难找,我差点很放弃了)
选择开发板“SLN-VIZNAS-IOT, 点击“Install and imort exame..” ,可以一步到示例工程。
5.2.3 创建示例工程
对于您已安装到MCUXpresso中的每个SDK,将显示一个对应的图像。选择sln_viznas_iot图像,然后选择下一步按钮继续。
导入向导将显示所有可导入的示例应用。在本指南中,我们将主要关注sln_viznas_iot_elock_oobe应用。这是SLN-VIZNAS-IOT套件上默认闪存的应用。
如果套件的闪存已被完全擦除,则还需要在sln_boot_apps下找到 sln_viznas_iot_bootloader 和sln_viznas_iot_bootstrap项目,以便sln_viznas_iot_elock_oobe 应用正常运行。
成功导入项目后,它们将在项目浏览器中罗列,可供构建和运行。
代码结构如下:
这样示例工程就创建好了。这个工程也是相当大的,没时间分析代码了。下次有时间,我研究一下它的源码。有朋友已经在研究了,可以参阅,相当不错:https://mbb.eet-china.com/forum/topic/93718_1_1.html
3.3 构建SLN-VIZNAS-IOT 项目 Bootstrap (启动程序)项目是第一个启动的应用程序。启动程序是最小的FreeRTOS应用程序,负责图像验证。
启动加载程序项目是第二阶段的启动程序,可管理跳接到E-Lock OoBE应用。该应用程序可用于产品所需的任何其他启动加载程序功能。启动加载程序还负责通过USB升级海量存储设备拖放固件。
E-Lock OoBE是一个开箱即用的应用,可演示Oasis Lite机器学习引擎用于安全识别人脸的能力。默认情况下,这个应用(除了启动加载程序和启动程序)可在您的SLN-VIZNAS-IOT套件上烧录。
在“快速启动”面板中,选择Build (构建)选项,启动Project Explorer (项目资源管理器)窗格中当前突出显示的应用的编译并链接。
如果要闪存这些项目,则需要对sln_viznas_iot_elock_oobe以及sln_viznas_iot_bootloader和sln_viznas_iot_bootstrap进行此操作。
等待MCUXpresso完成构建过程。由于应用比较大,所花的时间也相对较长。(官方说应用小,时间短,对于我来说是大工程了。耗时2分52秒)
如果您收到如上所示的消息,则说明您的SLN-VIZNAS-IOT 项目已构建成功。
产生debug文件(SDK示例目录下):/sln_viznas_iot_elock_oobe/Debug/sln_viznas_iot_elock_oobe.axf
release文件(SDK示例目录下):/sln_viznas_iot_elock_oobe/sln_viznas_iot/sln_vision_apps/elock_oobe/sln_viznas_iot_elock_oobe.bin
3.4 烧录和调试SLN-VIZNAS-IOT 项目 编译了elock_oobe 项目后,现在就可以将其关联的二进制文件编写到闪存中。
闪存并调试SLN-VIZNAS-IOT套件将需要 带有9引脚Cortex-M适配器和V6.62a 的Segger J-Link或更高版本的J-Link 软件和文档包,可在Segger网址中找到。
这个我没有, 我有这个https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-21077683487.30.74d24e8bEU8Tem&id=649372910021
还是配接不上, 这个我得再买个转0.75端子线了。
下面是官方说明
要开始烧毁固件,请将J-Link调试器连接到以下接头。
接着,选择MCUXpresso的QuickStart (快速启动)面板下的Debug (调试)选项,可将二进制文件加载到闪存中,并开始调试。与Build (构建)选项类似,Debug (调试)将闪存并调试项目浏览器面板中目前突出显示的项目。
选择连接到套件的J-Link调试器,然后按OK。
这将启动闪存工具,并继续闪存与当前所选项目关联的二进制文件。
闪存完成后,程序应在运行到main函数时自动停止,main函数中的第一个指令会高亮显示出来。
最后,按下工具栏中的Run (运行)按钮,开始运行此应用。您还将在同一工具栏中找到用于增强、终止、进入、退出 和跳过的按钮。
如需了解MCUXpresso中调试信息,请查看以下链接 中的MCUXpresso用户指南