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

这篇具有很好参考价值的文章主要介绍了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工作文章来源地址https://www.toymoban.com/news/detail-583407.html

到了这里,关于HUAWEI 擎云L420 折腾记 (搭建arm gcc、openocd 雅特力 MCU开发环境)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ubuntu环境下gcc-arm交叉编译环境的搭建(ARM32 8.2)

    1.在arm官网下载gcc-arm 8.2的版本(下载arm32架构的x64上运行的版本),网址如下 https://developer.arm.com/downloads/-/gnu-a 图1 从ARM官方下载aarch32架构的交叉编译器   2.拷贝下载的交叉编译器到ubuntu系统的/opt/pkg/gcc_linaro目录,如下图所示: 图2 拷贝arm交叉编译器到gcc安装目录   3.解压gcc到

    2024年02月09日
    浏览(51)
  • GCC - 基于win10平台搭建Cmake + MinGW + gcc-arm-none 开源开发环境

    基于GUN开源工具链,搭建Windows平台下 ARM 编译运行环境! 🐱‍🚀 文中涉及的开发工具包已打包上传 ,可点击此处下载。 1、 建议直接下载安装git (内部集成有该工具),也可点击此处单独下载Git Bash工具; 2、如无法直接调用,添加对应环境变量; 32位下载地址:  MinG

    2024年02月10日
    浏览(43)
  • 【Clion+OpenOCD+Stm32CubeMX+gcc】linux交叉编译开发stm32全过程

    双系统:ubuntu 22.04 电脑:拯救者Y7000 板子:stm32f103c8t6 一段摸爬滚打的辛酸史,囊括了我在过程中遇见的所有报错及解决方法! 记录自己实现的步骤,过程已经跟新完毕,笔者能力有限所用的方法以及代码考虑的不一定全面,也希望大佬多多补充! 目录 安装stm32cubeIDE 官网下

    2024年02月22日
    浏览(48)
  • Ubuntu 22.04 搭建arm-linux-gcc交叉编译环境

    如果使用的是64位的Ubuntu系统,建议直接安装64位的arm-linux-gcc交叉编译器 下载地址: https://pan.baidu.com/s/14-lQpsXuEyCcHNHcTXcOyA 提取码: 55at 0. 注意在终端进行粘贴的操作为【Ctrl+shift+v】!! 把下载好的安装包移动到根目录下的tmp目录中(/tmp):在【其他位置】中的【计算机】中找

    2024年02月05日
    浏览(76)
  • gdb openocd jlink arm-a9调试

    连接关系是这样的:gdb — openocd —(这里需要 两个xx.cfg配置文件 ) jlink — arm-a9板子 具体流程是这样的: 给jlink(硬件调试器)安装驱动,用USB Driver Tool这个软件,原因:openocd操控jlink只能通过libusb-winusb这个驱动,而ozone等调试端软件却只能通过原本的驱动,而USB Driver T

    2024年02月10日
    浏览(37)
  • RISC-V/ARM mcu OpenOCD 调试架构解析

    最近有使用到risc-v的单片机,所以了解了下risc-v单片机的编译与调试环境的搭建,面试时问到risc-v的调试可参看以下内容。 risc-v根据官方的推荐,调试器服务是选择OpenOCD,DopenOCD(开放片上调试器)是一个开源的片上调试器,旨在提供针对嵌入式设备的调试、系统编程和边界扫

    2024年04月28日
    浏览(44)
  • 使用arm-none-eabi-gcc编译器搭建STM32的Vscode开发环境

    make:Windows中没有make,但是可以通过安装MinGW或者MinGW-w64,得到make。 gcc-arm-none-eabi:建议最新版,防止调试报错 OpenOCD vscode cubeMX Arm Assembly:汇编文件解析 C/C++:c语言插件 Cortex-Debug:调试插件 gcc-arm-none-eabibin OpenOCDbin 建议MinGW-make工具重命名为make.exe并添加到gcc-arm-none-eabi

    2024年02月06日
    浏览(52)
  • Jlink+OpenOCD+STM32 Vscode 下载和调试环境搭建

    首先下载编译器:gcc-arm-none-eabi-xxx Downloads | GNU Arm Embedded Toolchain Downloads – Arm Developer 对于 Mingw 的安装比较困难,国内的网无法正常在线下载组件, 需要手动下载 x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z 版本的软件包,添加环境变量,并将 mingw32-make.exe 名字改成 make.exe。 MinGW-w6

    2024年04月22日
    浏览(50)
  • 生命在于折腾——MacOS(Inter)渗透测试环境搭建

    之前使用的是2022款M2芯片的MacBook Air 13寸,不得不说,是真的续航好,轻薄,刚开始我了解到M芯片的底层是ARM架构,我觉得可以接受,虚拟机用的不多,但在后续的使用过程中,发现卡脖子就是卡脖子,随后换了联想R9000K,背着上了一天班,发现太重了,于是又换了Xiaomi Bo

    2024年02月16日
    浏览(54)
  • arm gcc编译选项

    arm:架构是arm none:不是特定的供应商提供的 eabi:eabi:嵌入式应用二进制接口(Embedded Application Binary Interface) 因为名称里没有“linux”类似的字样,说明不支持操作系统。 libc 是ANSI C 语言函数库,包含了 C 语言最基本的库函数。这个库可以根据头文件划分为 15 个部分,其

    2024年02月03日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包