linux下进行MCU开发环境搭建

why 为什么要搭建此开发环境?

  • 在linux环境下开发可以利用shell命令实现对文件的批处理
  • 伟大的程序员应该都用类unix系统!
  • 可以实现对底层编译技术的了解,以便于更好的掌握嵌入式技术
  • 通用性,采用开源工具,从底层开发项目,可以不受制于特定厂商的ide工具.可以实现通用架构!

what 开发环境长啥样?

在linux下进行嵌入式技术开发的意思是采用通用,开源的编译工具,实现对项目的开发.

主要用的工具链为:

  1. 编程平台为ubuntu 22.04(VSCODE)
  2. 编译工具 arm-none-eabi-gcc/cl2000(TI C2000的编译器)
  3. 调试工具 openocd以及rm-none-eabi-gdb(尚不支持Ti Tms320x)

需要使用到的技术有:

  1. arm-none-eabi-gcc的编译指令,x86平台的gcc指令差别不大
  2. makefile技术,用于一键编译,生成hex/bin文件
  3. openocd命令,用于链接实物开发板,可以做简单的调试工作.而且可以在不擦除代码的情况下,进行代码调试(比厂商给的ide强的多).但是只能做汇编语言的操作,打断点很麻烦.
  4. rm-none-eabi-gdb可以基于openocd的基础上进行c代码的调试,操作空间比较大.

how 如何安装软件?

  1. 由于编译环节涉及较多arm-gcc命令,因此尚未采用手写makefile的形式进行编译,而是采用stm公司的stm32cubeMX自动生成的makefile.后期可以尝试手写试试.
  2. 安装openocd可以参见此文章进行搭建,基本可以复现使用.linux下开发stm32一 ,linux下开发stm32二 .
  3. 安装好openocd后,使用一下命令可能会报错.
shell 复制代码
rm-none-eabi-gdb test.elf

error message:libncurses.so.5 is not on apt-get anymore.

此时需要使用下列命令安装组件

shell 复制代码
sudo add-apt-repository universe
sudo apt-get install libncurses5 libncurses5:i386
  1. 采用此文章办法可以进行基本运行使用GDB调试你的工程
shell 复制代码
(gdb)target remote localhost:3333
(gdb)monitor reset
(gdb)monitor halt
(gdb)load #此命令必须使得当前工作空间为.elf的目录下
  1. 参加此篇文章也可以了解更多arm gdb指令
  2. 按住减号键'-'可以在命令行中显示断点执行情况
相关推荐
NamoAmitabha1285 小时前
libpng12-0 1.2.54-1ubuntu1.1 (amd64 binary) in ubuntu xenial
linux·ubuntu20.4
Madison-No76 小时前
搭建项目测试环境
linux·运维·服务器·python
吴声子夜歌7 小时前
Shell编程实例——编写安全的shell脚本(二)
linux·运维·shell
xiaoye-duck8 小时前
《Linux 网络编程》深入理解 IP 协议(二):网段划分、私有 IP 与 NAT 地址转换
linux·网络·ip
zx_741484819 小时前
【Linux入门】Shell 函数、正则表达式与文本处理:cut 与 awk
linux·运维·正则表达式
Zenova EdgeOS9 小时前
Linux dmesg 工业边缘实战:内核日志过滤、持久化与故障定位
linux·运维·边缘计算·工业边缘·dmesg·内核日志
金士顿9 小时前
System.Text.Json Source Generator 深度解析:为什么 Native AOT 不喜欢反射
linux·asp.net core·arm64·net·native aot
金士顿10 小时前
ASP.NET Core Native AOT 到底是什么?从 C#、IL、JIT 一直讲到 Linux ARM64 ELF
嵌入式·asp.net core
做运维的阿瑞10 小时前
Python 标准库汇总:分类速览与常用模块清单
linux·运维·python
百万蹄蹄向前冲11 小时前
密码都对Node.js却连不上Linux数据库
linux·mysql