HUAWEI 擎云L420 折腾记 (搭建arm gcc、openocd 雅特力 MCU开发环境)

前言

心血来潮,能不能在纯国产的笔记本、系统上进行开发, 划拉了一下市面上能买到的设备,也就华为擎云L410 、L420 还能买得起,用的上,因此小黄鱼2xxx 买了一部99新的擎云L420 开始尝试是否能搭建起来工作环境。

1. java 环境

wget https://repo.huaweicloud.com/java/jdk/8u151-b12/jdk-8u151-linux-arm64-vfp-hflt.tar.gz

sudo tar -zxvf jdk-8u151-linux-arm64-vfp-hflt.tar.gz -C /usr/local/

sudo vi .profile

export JAVA_HOME=/usr/local/jdk1.8.0_151/
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

wq退出保存
之后

java -verison

java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)

java 环境ok

2. python

sudo apt-get install python 

安装十分顺利,默认版本是python 2.7.1

3. C++/C

待补充

4. arm-gcc-none-eabi mcu开发

因为平时业余开发工作主要基于 arm-gcc , 比如betaflight 的开发 ,因此需要搭建arm-gcc + gdb + openocd + eclipse 的开发环境,但是arm-gcc 没有对应 aarch64 版本的交叉编译环境,需要自己通过源码构建

安装各种工具链

sudo apt-get -f install -y build-essential autoconf autogen bison dejagnu flex flip \
gawk git gperf gzip nsis openssh-client p7zip-full perl \
python-dev libisl-dev scons tcl texinfo tofrodos wget zip \
texlive texlive-extra-utils libncurses5-dev


wget  https://developer.arm.com/-/media/Files/downloads/gnu-rm/10.3-2021.10/gcc-arm-none-eabi-10.3-2021.10-src.tar.bz2

解压缩 tar -jxvf gcc-arm-none-eabi-10.3-2021.10-src.tar.bz2

mkdir arm-gcc-none-aarch64 
mv gcc-arm-none-eabi-10.3-2021.10  arm-gcc-none-aarch64 

cd rm-gcc-none-aarch64/gcc-arm-none-eabi-10.3-2021.10

解压缩各种源代码

./install-sources.sh --skip_steps=howto,md5_checksum,mingw32 


构建依赖

./build-prerequisites.sh --skip_steps=howto,md5_checksum,mingw 


编译toolchain,大概需要3-4个小时

./build-toolchain.sh --skip_steps=gdb-with-python,manual,howto,md5_checksum,mingw,mingw-gdb-with-python,package_sources --build_type=native --with-multilib-list=rmprofile,aprofile 


安装

cp -R install_native to your dest dir 

eg. in betaflight compile to  

cp -R install_native ~/Developer/drone/workbranch/betaflight/tools/
mv ~/Developer/drone/workbranch/betaflight/tools/install_native ~/Developer/drone/workbranch/betaflight/tools/arm-gcc-none-eabi-10.3-2021.10

以上完成 arm-gcc-none-eabi 的搭建,下一步编译 openocd

5. 雅特力修改的atlink版 openocd 编译

提前安装:

sudo apt install libhidapi-dev libusb-1.0 libjaylink-dev

libjaylink-dev 因为apt 版本太低,需要手工源码构建

git clone https://github.com/damienhackett-eaton/libjaylink
cd libjaylink
./autogen.sh
./configure
make 
sudo make install

安装完成之后,确认 一下 libjaylink.so 是否加入到 /usr/local/lib文件夹,并手工执行一下 ldconfig,加载动态链接库配置

clone 雅特力修改的openocd

git clone https://github.com/ArteryTek/openocd 
cd openocd

准备配置信息

prefix 为安装目录,我选择了安装到单独用户目录,
各种配置重点是打开 enable-cmsis-dap 、jlink 其他的都关闭即可

CONF_FLAG="--prefix=/home/emsr/Developer/mcu/toolchain/openocd --disable-internal-libjaylink --enable-stlink=no --enable-ftdi=no --enable-ti-icdi=no --enable-ulink=no --enable-usb-blaster-2=no --enable-ft232r=no --enable-vsllink=no --enable-xds110=no
--enable-osbdm=no --enable-opendous=no --enable-aice=no --enable-kitprog=no --enable-jlink --enable-cmsis-dap"

#加载依赖子库,确保网络ok

./bootstrap

#配置automake ,缺啥库补啥库

./configure $CONF_FLAG

make clean
make distclean

make
make install

之后可以直接使用openocd

更新:
如果使用openocd 中提示,无法打开 atlink (2e3c f000) 需要将编译出来的

openocd/share/contrib/60-openocd.rules
用 root 用户cp 到 /etc/udev/rules.d/

然后
sudo udevadm control --reload

重新插拔 atlink后就可以使用了

arm toolchain 和openocd 编译生成之后, 后继就可以使用 eclipse cdt 或者 vscode+ cortex-debug 进行 at32 mcu 的开发、debug工作

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值