龙芯+FreeRTOS+LVGL实战笔记(新)——01准备开发环境
本专栏是笔者另一个专栏《龙芯+RT-Thread+LVGL实战笔记》的姊妹篇,主要的区别在于实时操作系统的不同,章节的安排和任务的推进保持一致,并对源码做了改进和优化,各位可以先到本人主页下去浏览另一专栏的博客列表(目前已撰写36篇,图1所示),再决定是否订阅。此外,也可以前往本人在B站的视频合集(图2所示)观看所有演示视频,合集首个视频链接为:
借助RT-Thread和LVGL,在龙芯板上搞定两个RGB灯的小任务_哔哩哔哩_bilibili


本篇是笔者开发环境的简介,并没有什么技术含量,主要是考虑到某些师生朋友是第一次使用龙芯来做嵌入式开发,一上来免不了要折腾一番开发工具。另一方面,也明确一下工具的版本,希望各位朋友与之保持一致,避免一些由于版本不同导致的程序报错。
一、开发工具的安装与配置
必备开发工具当然龙芯的运行环境、IDE、编译工具链和驱动,选装的工具包括超级终端或串口助手、数码管或点阵取模、图片取模等。下面笔者就将自己的开发环境做一个介绍,主要都是从龙芯IDE官网下载的。由于工具的安装都比较简单,几乎就是一路“下一步”,所以安装过程就不截图了,只是明确一下版本和注意事项。龙芯IDE官网链接如下:
龙芯嵌入式开发工具|Loongson Embedded Developmen…|关于我们|龙芯嵌入式开发工具|苏州天晟软件|ide|loongarch
1.1 安装MSYS2运行环境
LoongIDE 使用在 MingW 环境下编译的 GNU 工具链,在使用 gcc、gdb 等 GNU 工具时,需要 MingW 运行环境的支持。因此,第一步就是安装该运行环境 MSYS2,下载来源如图3所示。安装过程几乎是一路“下一步”,只是安装路径不要出现中文,最好连空格也不要有,切记!装好之后桌面上会出现图4所示的图标。


1.2 安装龙芯IDE
加下来,就可以安装龙芯嵌入式集成开发环境了,下载来源如图5所示,注意版本是1.2。安装过程也是一路“下一步”,路径中也不要出现中文和空格。此外,安装向导最后,还需要安装 LxLink 驱动程序,如图6所示。如果这一步没安装 LxLink 驱动,安装目录下的 driver 子目录中的 CDM21228_Setup_x86 中保存有 LxLink 的驱动程序,用户可以通过 Windows 的“设备管理器”进行安装。如果安装失败(Win7可能出现,Win10和Win11没遇到过),可以参考图7所示文档中的解决方案。



1.3 安装工具链
LoongIDE 可以使用 SDE Lite for MIPS 工具链、RTEMS GCC for MIPS 工具链、LoongArch64 ELF 工具链、RTEMS GCC for LoongArch64 工具链来实现项目的编译和调试。用户可以在 LoongIDE 中安装一个或者多个工具链,使用时根据项目的实际情况来选择适用的工具链。笔者选择的是 SDE Lite 4.9.2 工具链,下载来源如图8所示,安装的时候选择 LoongIDE 所在的目录即可,一路“下一步”。

1.4 配置IDE和工具链
以上所有软件都装好后,启动 LoongIDE,可以看到界面是全中文的,版本号是1.2,如图9所示。接下来,按照图9所示选择“工具”菜单下的“GNU C/C++ 工具链”,然后按照图10和图11的示意来选择对应的工具链。



1.5 安装串口调试终端
做嵌入式开发,像串口调试助手这类的工具肯定是少不了的,可选的也很多了。笔者这里推荐使用 MobaXterm 作为终端调试软件,功能强大而且免费(也有收费版)。当然,和谐后的版本也是很容易搜到的,这里就不展开了,附上一张笔者调试中的截图吧,如图12所示,大家可以感受一下软件的界面和支持的功能。

至此,就算是完成了最基本的开发环境配置,其他与工程有关的配置放到后面用到了再说。如果您已经习惯了 Keil 或 IAR 这些 IDE,那么使用 LoongIDE 还需要有一段适应过程,比如没有函数名和变量名自动补全,打开工程或添加文件有点慢等等。
二、关于开发板与开发文档
2.1 关于开发板
百科荣创提供给各个学校的龙芯开发板和配件各不相同,笔者接触到的就有三款(图13~图15),本教程针对的是图14中的这款。各款的核心板和屏幕是一样的,差异主要体现在部分外设的布局和驱动电路上。因此,如果各位手里的板子与教程里的不同,请在编写程序的时候一定要有针对性的修改,不过脑子的完全照搬是不可取的。



2.2 关于开发文档
龙芯的开发文档确实少的可怜,先把图16所示的这几个文档准备好吧,也是我们仅有的几份有价值的文档,有些关键信息就是从这些文档里获悉的。

此外,由于教程中使用了大量的 LVGL 组件,关于各类组件的用法,推荐参考《百问网LVGL中文教程手册文档》http://lvgl.100ask.net/7.11/,如图17所示。注意,一定要选 LVGL7.11 的版本。虽然最新的 LVGL9 已发布,成熟的 LVGL8 已广泛使用,但 LoongIDE 里自带的仍然是 LVGL7,所以本专栏与之保持一致。(PS:笔者也尝试移植过 LVGL8.2,但未完全成功,还在摸索之中。)

以上就是笔者针对龙芯嵌入式开发所做的准备工作,下一篇我们将会把BSP、FreeRTOS和LVGL相关的文件移植到工程中,形成一个最基本的项目雏形。
(本文完)