衡山派开发板SDK编译全攻略:Env/VSCode双环境与OneStep命令详解
衡山派开发板SDK编译全攻略:Env/VSCode双环境与OneStep命令详解
最近有不少刚拿到衡山派(HSPi)开发板的朋友问我,SDK到手了,怎么才能快速编译出第一个能烧录的镜像文件?今天我就结合自己的实际使用经验,给大家详细梳理一下衡山派SDK的几种编译方法。
咱们拿到的SDK包叫luban-lite,里面已经为我们准备好了编译环境。总的来说,编译路径可以分成两大类:用SDK自带的终端,或者用咱们熟悉的VSCode。每种方式下又有不同的具体操作方法。别担心,你只需要选择其中一种最适合你的就行,不用全都试一遍。
1. 准备工作:找到你的SDK
首先,你得确保已经按照上一节的教程,成功下载并解压了luban-lite这个SDK文件夹。打开这个文件夹,你会看到里面有两个Windows批处理脚本文件,这就是我们编译的“入口”:
win_env.bat:用于启动Env终端。win_cmd.bat:用于启动Windows终端。
这两个文件就是我们接下来要用到的“钥匙”。下面,咱们就分别看看怎么用它们。
2. 使用SDK自带终端编译
SDK自带的终端是最直接、最“原汁原味”的编译方式,因为它不需要你额外配置任何环境,所有东西都已经在SDK包里了。
2.1 Env终端编译(推荐)
Env是RT-Thread生态里常用的一个工具,SDK已经把它集成好了。
第一步:启动Env终端直接双击luban-lite文件夹里的win_env.bat文件。稍等片刻,会弹出一个命令行窗口。如果窗口正常打开,没有立刻闪退,并且出现了命令提示符(比如显示路径),就说明启动成功了。
注意:如果打开后窗口卡住,敲键盘没反应,可能是启动遇到了问题。直接关掉窗口,重新双击一次
win_env.bat试试。
第二步:选择开发板配置每个开发板都有自己专属的配置文件,咱们衡山派也不例外。在打开的Env终端里,输入以下命令,查看所有可用的配置列表:
list你会看到一个带编号的列表。找到带有“JLC”关键字的那个配置(JLC就是嘉立创,衡山派的生产商)。通常它就是列表里的第3项。接着,输入命令选择它:
lunch 3当然,你也可以直接用配置文件名来选,效果是一样的:
scons --apply-def=d13x_JLC_rt-thread_helloworld_defconfig第三步:开始编译配置选好后,就可以开始编译了。输入最简单的编译命令:
scons如果你想充分利用电脑的多核性能,加快编译速度(第一次编译会慢一些),可以加上-j参数指定使用的核心数。比如我的电脑是16核的,我就用:
scons -j16这里有个小技巧:-j后面的数字表示你想用几个CPU核心来并行编译。数字越大,理论上编译越快。但如果你写的数字超过了电脑实际的核心数,系统会自动按你电脑的最高可用核心数来运行,所以写大一点也没关系。
编译开始后,终端会滚动输出一大堆信息。耐心等待,直到最后出现编译成功的提示,并且没有报错。
第四步:找到编译好的镜像编译成功后,生成的固件镜像文件路径通常会在终端最后几行显示出来。对于衡山派,你可以在SDK目录下的out/d13x_JLC_rt-thread_helloworld/images/文件夹里,找到一个名为d13x_JLC_v1.0.0.img的文件。这个.img文件就是我们最终要烧录到开发板里的固件。
2.2 Windows终端编译(备用方案)
这个方法作为备用,步骤和上面的Env终端完全一样。唯一的区别在于启动方式:你需要双击的是win_cmd.bat这个文件。
它启动的是一个标准的Windows命令提示符(CMD),而不是RT-Thread的Env。如果你在使用Env终端时遇到了奇怪的问题,可以试试这个方式,有时候能避开一些环境兼容性的坑。
3. 终端里的高效命令:OneStep与SCons
在Env或CMD终端里工作,掌握几个快捷命令能极大提升效率。ArtInChip(衡山派主控芯片的厂商)贴心地为我们封装了一组叫OneStep的命令。
3.1 OneStep快捷命令
只要你在通过上面任一种.bat脚本打开的终端里,这些命令就已经可以直接使用了。它们最大的好处是:在SDK目录下的任何位置都能执行,不用每次都切回根目录。
lunch:打开配置选择菜单,和之前用list再lunch 编号的效果一样。m:最常用的命令,直接开始编译SDK(相当于scons)。c:清除编译过程中产生的所有中间文件。注意:执行这个命令后,下次编译就需要从头开始了。cr:快速跳转回SDK的根目录。me:打开图形化的配置菜单(menuconfig),可以更直观地配置内核和组件。
3.2 SCons基础命令
SCons是底层使用的构建工具,类似Makefile。除了基本的scons,还有两个常用参数:
scons -c:功能和OneStep的c命令一样,清除构建文件。scons -h:查看SCons的所有帮助信息。
4. 在VSCode中编译(适合代码编辑党)
如果你习惯用VSCode写代码,那直接在VSCode里完成编译会更方便,不用在多个窗口间切换。
4.1 使用VSCode集成终端
第一步:用VSCode打开SDK启动VSCode,通过“文件”->“打开文件夹”,选择你的luban-liteSDK根目录。
第二步:打开集成终端在VSCode里按快捷键Ctrl + Shift +(反引号键),或者从顶部菜单选择“终端”->“新建终端”。这时,VSCode下方会弹出终端窗口。
第三步:执行编译命令接下来的操作就和在独立的Env终端里一模一样了:
- 输入
list查看配置。 - 输入
lunch 3选择衡山派(JLC)配置。 - 输入
scons -j16开始编译(-j后面的数字根据你的电脑CPU核心数调整)。
编译成功的输出信息也会显示在这个集成终端里。
4.2 使用VSCode任务快捷命令(更省事)
这是我最推荐在VSCode里使用的方式,几乎不用敲命令。
第一步:准备终端同样,先按Ctrl + Shift +打开一个集成终端。然后输入list和lunch 3` 完成开发板配置的选择。
重要提示:执行完
lunch 3后,这个终端窗口要保持打开,不要关闭!因为配置环境需要在这个终端会话中生效。
第二步:调用编译任务现在,按下VSCode的快捷键Ctrl + Shift + B。这是“运行生成任务”的快捷键。按下后,VSCode顶部会弹出一个小菜单,让你选择要执行的任务。你会看到几个选项:
- Luban-Lite make:这就是编译命令,选择它。
- Luban-Lite clean:清除编译缓存。
- Luban-Lite list:列出所有配置文件。
- Luban-Lite menuconfig:打开图形化配置菜单。
选择“Luban-Lite make”,VSCode就会自动在后台启动编译任务。编译进度和结果会在VSCode的“终端”面板中显示。这样,你以后编译只需要按Ctrl + Shift + B然后回车就行了,非常方便。
好了,以上就是为衡山派开发板编译SDK的几种主流方法。我个人平时开发喜欢用VSCode+快捷命令的方式,编码和编译都在一个环境里,效率很高。如果你是纯粹的命令行爱好者,直接用Env终端配合OneStep的m命令,也非常流畅。选择你觉得最顺手的一种,赶紧编译出你的第一个镜像,体验一下烧录和运行的乐趣吧!如果在编译过程中遇到问题,首先检查是否正确执行了lunch 3选择了衡山派的配置,这是最常见的一步。
