您尚未登录。

楼主 # 2024-05-10 08:38:01

lqcfly
会员
注册时间: 2024-05-10
已发帖子: 2
积分: 12

D133 Eclipse工程在Linux系统下编译的解决办法

官方SDK生成的D133的Eclipse工程只能在Windows环境下编译。使用Linux系统的小伙伴如果想编译调试,可以使用下边的方案解决。
本人使用Deepin做开发,亲测好使。具体步骤如下:

1、linux系统中先安装python3软件,编译时要用

2、先用scons --target=eclipse_sdk指令单独生成一个完整的 Eclipse SDK 软件包,即project_eclipse_sdk文件夹
   注意:在执行eclipse_linux_check.sh脚本之前,不要挪动project_eclipse_sdk文件夹。

3、将eclipse_linux_check.sh脚本文件复制到project_eclipse_sdk文件夹中

4、执行eclipse_linux_check.sh脚本文件,该文件会对“.cproject”文件和“org.eclipse.cdt.core.prefs”进行修改

5、执行完脚本,即可在linux环境中编译eclipse工程了

eclipse_linux_check.sh 脚本内容如下,可以根据自己系统的环境做修改。

#!/bin/bash


#复制固件生成工具
cp -r $PWD/../../../tools/scripts/img2simg    $PWD/tools/scripts
cp -r $PWD/../../../tools/scripts/mcopy       $PWD/tools/scripts
cp -r $PWD/../../../tools/scripts/mformat     $PWD/tools/scripts
cp -r $PWD/../../../tools/scripts/mkenvimage  $PWD/tools/scripts
cp -r $PWD/../../../tools/scripts/mkimage     $PWD/tools/scripts
cp -r $PWD/../../../tools/scripts/mkuffs      $PWD/tools/scripts
cp -r $PWD/../../../tools/scripts/mtools      $PWD/tools/scripts
cp -r $PWD/../../../tools/scripts/spienc      $PWD/tools/scripts
cp -r $PWD/../../../tools/scripts/upgcmd      $PWD/tools/scripts
cp -r $PWD/../../../tools/scripts/mklittlefs  $PWD/tools/scripts


#修改工程PATH路径
PREFS="doxygen/doxygen_new_line_after_brief=true\n
doxygen/doxygen_use_brief_tag=false\n
doxygen/doxygen_use_javadoc_tags=true\n
doxygen/doxygen_use_pre_tag=false\n
doxygen/doxygen_use_structural_commands=false\n
eclipse.preferences.version=1\n
environment/project/ilg.gnumcueclipse.managedbuild.cross.riscv.config.elf.debug.319524623/PATH/delimiter=;\n
environment/project/ilg.gnumcueclipse.managedbuild.cross.riscv.config.elf.debug.319524623/PATH/operation=replace\n
environment/project/ilg.gnumcueclipse.managedbuild.cross.riscv.config.elf.debug.319524623/PATH/value=\${ProjDirPath}/toolchain/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/sbin:/usr/sbin\n
environment/project/ilg.gnumcueclipse.managedbuild.cross.riscv.config.elf.debug.319524623/append=true\n
environment/project/ilg.gnumcueclipse.managedbuild.cross.riscv.config.elf.debug.319524623/appendContributed=true\n"

echo -e $PREFS > .settings/org.eclipse.cdt.core.prefs



#修改工程配置文件
sed -i 's/\\/\//g' ./.cproject       #将文件中的"\"全部替换为"/"
sed -i 's/\${ProjDirPath}\/tools\/Python39\/python3/\/usr\/bin\/python3/g' .cproject       #将"${ProjDirPath}/tools/Python39/python3"全部替换为"/usr/bin/python3"
sed -i 's/\${ProjDirPath}\/tools\/bin\/cp/\/usr\/bin\/cp/g' .cproject       #將"${ProjDirPath}/tools/bin/cp"全部替換为"cp"
sed -i 's/*.pbp/d13x.pbp/g' .cproject       #將"${ProjDirPath}/bsp/artinchip/sys/d13x/*.pbp"  全部替換为  "${ProjDirPath}/bsp/artinchip/sys/d13x/d13x.pbp"
sed -i 's/pack\/\*/pack\/bootloader.bin \${ProjDirPath}\/Debug\/;\/usr\/bin\/cp -r \${ProjDirPath}\/target\/d13x\/gateway88-nor\/pack\/image_cfg.json \${ProjDirPath}\/Debug\/;\/usr\/bin\/cp -r \${ProjDirPath}\/target\/d13x\/gateway88-nor\/pack\/pbp_cfg.json/g' .cproject       #將"${ProjDirPath}/target/d13x/gateway88-nor/pack/*"  全部替換为  "${ProjDirPath}/target/d13x/gateway88-nor/pack/"

有问题欢迎大家交流学习!

离线

#1 2024-05-14 09:35:00

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,240
积分: 1178.5

Re: D133 Eclipse工程在Linux系统下编译的解决办法

没这么试过,在linux可以脱离eclipse环境了吧。
应该可以直接用scons命令,或者执行sdk/tools/onestep.sh这个脚本,然后执行预定义的几个命令。
我在ubuntu下,me, ab, list, i, lunch这些都正常。
但是烧录问题还没解决吧,编译完了,再切到win下烧录?
希望官方出个linux下的烧录工具,或命令行工具。

离线

#2 2024-05-17 07:10:17

tomas
会员
注册时间: 2024-03-26
已发帖子: 13
积分: 96

Re: D133 Eclipse工程在Linux系统下编译的解决办法

eclipse很慢的吧,慢的受不了

离线

#3 2024-05-17 08:28:31

ArtInChip
会员
注册时间: 2023-11-11
已发帖子: 170
积分: 176

Re: D133 Eclipse工程在Linux系统下编译的解决办法

这个需求已记录

离线

#4 2024-05-17 09:48:26

海石生风
会员
所在地: 深圳
注册时间: 2019-07-02
已发帖子: 528
积分: 649
个人网站

Re: D133 Eclipse工程在Linux系统下编译的解决办法

tomas 说:

eclipse很慢的吧,慢的受不了

自己电脑配置差或者不会用就不要乱BB。
举个简单的例子,同样的构建脚本,在eclipse内构建会比在终端上构建要快,因为eclipse对编译器的输出信息有优化。
在并行编译时,编译器输出信息到标准输出过快也是瓶颈之一。
当然了,如果你的电脑配置差,编译速率本身就慢,于是编译器输出信息没就那么快也就达不到标准输出的瓶颈,从而体现不到别人的优化。

最近编辑记录 海石生风 (2024-05-17 09:55:45)

离线

楼主 #5 2024-05-17 13:02:25

lqcfly
会员
注册时间: 2024-05-10
已发帖子: 2
积分: 12

Re: D133 Eclipse工程在Linux系统下编译的解决办法

用惯了Eclipse,除了启动慢了点,其他还是挺方便的,工程维护和代码调试都挺好用的,还能保证原始SDK的纯净。其实VSCODE也可以开发,就是本人不太习惯直接在SDK里修改程序,用Keil久了习惯了单独一个工程的方式。

希望官方尽快出个Linux系统下的烧录工具,这样就可以彻底摆脱Windows虚拟机了。

最近编辑记录 lqcfly (2024-05-17 13:03:28)

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn