IMX6ULL学习笔记(11)——获取和编译官方SDK

2022-10-24  本文已影响0人  Leung_ManWah

一、简介

SDK(Software Development Kit) 是 NXP 针对其官方评估板的软件开发包,可以在 NXP 的官网下载得到。SDK 中包含了固件库和各种程序范例。这个 SDK 包提供了 Windows 和 Linux 两种版本,分别针对主机系统是 Windows 和 Linux。

二、获取SDK

官网下载:i.MX 6ULL单核处理器,配备Arm® Cortex®-A7内核

百度网盘:https://pan.baidu.com/s/17Esz2aigWejm8MQ4wtv8-w?pwd=51ub 提取码:51ub

三、SDK工程结构

安装完成以后的SDK如图所示:

3.1 boards:示例程序

SDK的boards目录包含了NXP官方评估版MCIMX6ULL-EVK的各种示例程序。

3.2 CMSIS:包含CMSIS标准相关的文件

在2.2版本的SDK中,CMSIS只有一个GCC相关头文件。

3.3 CORTEXA:Cortex相关头文件

SDK目录下的CORTEXA文件夹包含了Cortex-A核适配IAR、GCC的头文件。

3.4 devices:i.MX固件库

SDK中的devices目录包含的内容就是外设驱动固件库,该目录下的MCIMX6Y2文件夹即是针对开发板板载芯片对应的固件库。

3.5 docs:部分说明文档

这目录下主要是《Getting Started with MCUXpresso SDK for i.MX 6ULL Derivatives》文件比较有用,它介绍了使用官方评估板时的基础使用步骤。

文件夹 lwiprtosusb、分别保存对应的说明文档。文件夹MCUXpresso SDK API Reference Manual_MCIMX6Y2保存有.html格式的SDK API接口函数说明文档。

3.6 middleware:中间件

主要包含一些中间层软件,即这些软件常为应用层提供一些协议、架构上的支撑,它的主要部分又与芯片底层的硬件外设驱动(前面drivers目录中的文件)联系不甚紧密,是不同芯片之间通用的一些构件。

3.7 rtos:实时操作系统

包含了FreeRTOS实时操作系统的源代码,位于“boards\evkmcimx6ull\rtos_examples”目录的FreeRTOS例程会使用到这里的源码。

3.8 tools:开发工具

3.9 其它

在SDK的根目录下还包含了几个.xml、.txt、.htm以及.bat文件。

.xml和txt文件它们主要是包含SDK第三方构件的一些版权、出处说明以及EVK-MCIMX6UL生成的一些说明信息

keilkill.bat批处理文件用于清理编译程序生成的中间文件。


四、搭建Linux开发环境

4.1 安装CMake工具

执行以下命令:

sudo apt-get install cmake

4.2 安装交叉编译工具

执行以下命令:

sudo apt-get install gcc-arm-none-eabi

添加临时环境变量,执行以下命令:

export ARMGCC_DIR=/usr

注:使用以上命令添加的环境变量只在当前终端上有效,如果虚拟机重启或者重新打开了终端需要再次执行添加环境变量命令。 该环境变量只有在编译官方SDK时才用得到,需要时动态添加即可。

4.3 安装Linux版本SDK

SDK_2.2_MCIM6ULL_RFP_Linux.run 拷贝到Linux下,存放位置自定。然后运行.run文件生成SDK,若无法运行可尝试修改.run文件的权限chmod 777 SDK_2.2_MCIM6ULL_RFP_Linux.run

./SDK_2.2_MCIM6ULL_RFP_Linux.run

运行后会弹出图形化的界面,不过鼠标无法对界面上的选项进行操作,只能通过键盘上的方向键选择。


我们通过“上下”方向键选择生成的SDK文件保存位置。“左右”方 向键选择“Select”或“Abort Installation”。需要说明的是上图中选项1表示生成的SDK保存在你当前登录的用户文件夹下,不同用户路径不同。

五、编译SDK

打开SDK源码目录任意一个工程,可以看到每个工程有两个版本如下所示:



由于我们要在Linux下编译、下载,所以我们需要选择ARM GCC版本工程。打开“armgcc”文件夹如下所示。


打开 SDK_2.2_MCIM6ULL/boards/evkmcimx6ull/demo_apps/hello_world/armgcc 工程,运行build_ddr_release.sh脚本,命令如下:

./build_ddr_release.sh

build_ddr_release.sh用于生成.bin文件,运行成功后会在当前文件夹下生成ddr_release文件夹, 在文件夹中存在一个sdk20-app.bin文件,将sdk20-app.bin放到SD卡程序并不能直接运行, 根据存储设备不同还要在sdk20-app.bin添加相应的头部信息然后才能在开发板上运行

注意:
运行build_ddr_release.sh常见错误:


错误原因是没有添加ARMGCC_DIR环境变量,根据之前讲解添加环境变量命令“export ARMGCC_DIR=/usr”只在当前端口有效,所以在当前端口再次执行命令。
export ARMGCC_DIR=/usr

添加环境变量即可(不建议将环境变量添加到系统环境变量中,因为该环境变量只有编译官方SDK程序才用的到, 后面章节主要是自己写程序,若编译还是错误,在运行 ./build_ddr_release.sh 前先运行 ./clean.sh 清除之前编译的内容)。


• 由 Leung 写于 2022 年 10 月 24 日

• 参考:2. 编译下载官方SDK程序到开发板

上一篇下一篇

猜你喜欢

热点阅读