全志 Melis-4.0(rt-thread内核) 环境搭建与初步编译介绍

全志 Melis-4.0(rt-thread内核) 环境搭建与初步编译介绍Melis 是全志科技自研的一套 rtos 系统

大家好,欢迎来到IT知识分享网。

什么是Melis?

开发环境

  • Ubuntu22.04虚拟机
  • MQ-R(F133) 芒果派开发板

代码下载

GitHub的项目地址如下:

https://github.com/Tina-Linux/d1s-melis 
https://github.com/Tina-Linux/d1s-melis/releases 

建议直接下载这个,因为工程中默认的也是这个

在这里插入图片描述

代码下载好后,解压。并将下载好并解压好的工具链放在代码的toolchain目录下。(我这里将原项目目录更名为了source,并不影响其它)

在这里插入图片描述

一切准备就绪后,即可开始编译。如果是新的系统,建议先安装一些依赖库,后续可能会用到。

sudo apt install autoconf automake autotools-dev curl python3 libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev 

编译

环境变量

在代码编译之前,我们可能需要设置很多环境变量(lunch 、croot、pack等),因为每一次的环境变量都是比较固定的,因此,项目中,将这些初始化环境变量的操作,都整合成了两个脚本,分别是”envsetup.sh”和“melis-env.sh”。因为melis-env.sh最终会自动调用“envsetup.sh”,因此,我们只需要执行“melis-env.sh”即可

#初始化环境变量 melis-env.sh 

初始化环境变量后,我们需要通过“lunch”来选择我们需要编译的项目,lunch是通过扫描projects文件夹下的文件夹,进行识别一共有多少套方案,lunch选中后,系统的编译参数、打包参数,运行参数等,就会使用对应方案文件夹中的配置文件。(具体为什么叫lunch,原因不详,或许本应该是launch?学习英语任重道远!)

对应方案

#通过lunch来选择要编译的项目 lunch 

在这里插入图片描述

因为我使用的是麻雀的开发板,因此我这里选择3.

编译

以上流程走完后,原工程是可以直接make的,但是第一次编译,或者选择了不同方案后编译,建议都是要clean一下,重新lunch一次,避免环境不干净。

#先clean一下 make clean #再把方案清一下 make distclean #重新lunch,再选择一次方案 lunch #执行make操作 make 

注意,如果你在kconfig中,增加了某些选项,但是没有在deconfig中增加对应的配置,直接make可能会报错。需要通过make menuconfig来重新生成默认的编译配置。

#通过make menuconfig选择编译参数 make menuconfig 

注意:curses.h: No such file or directory ,那是因为环境没弄好,“sudo apt install libncurses5-dev” 即可

在这里插入图片描述

第一次编译,直接保存即可。配置默认是保存在当前目录下的 “.config”文件中,最好不要改文件名。如果不想每次编译都make menuconfig,那么就将当前的“.config”的内容,更新到对应方案目录下的deconfig文件中。比如我要改的话,那我就需要将“.config”文件中的内容,全部替换到“projects/d1s-mq/configs/deconfig”文件中,这样每次lunch之后,系统默认来这里来拿编译参数。

以上完成后,就可以直接make了,如果没改过任何东西的话,是可以直接编译通过的。如果不通过,可能要检查一下自己的环境是否安装完善,勤加百度,即可解决问题。

打包

#通过pack指令,打包生成固件(默认生成nor固件) pack #生成nand烧录固件 pack -a nand #生成卡烧录的固件 pack -a card 

最终的固件将会生成在“out/对应方案/”目录下。

注意:如果出现如下错误:

在这里插入图片描述

这个时候,打包是没有成功的,cd到对应目录下,查看文件夹下,又是存在这个dragon文件,有点神奇。其实是因为dragon这个程序是在32位机器上编译出来的,这是32位的程序,在64位的Ubuntu中运行需要提前安装32位的库。

请执行操作:

sudo dpkg --add-architecture i386 sudo apt-get update sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 -y sudo apt install lib32z1 -y 

重新pack后,没有提示,打包成功。

注意事项:

小贴士:

source了之后,可以使用各种快捷调整指令,方便开发 croot 回到项目根目录 ckernel 跳转至kernel文件夹 cmodoule 跳转至模块文件夹 。。。(更多操作,可以看环境脚本“envsetup.sh”中的function有哪些) 

————————————————

版权声明:本文为CSDN博主「waxly-」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/_/article/details/

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/116010.html

(0)
上一篇 2025-11-30 19:00
下一篇 2025-11-30 19:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信