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. 按住减号键'-'可以在命令行中显示断点执行情况
相关推荐
石头53021 小时前
Rocky Linux 9.6 docker k8s v1.23.17 kubeadm 高可用部署文档
linux
凉、介21 小时前
SylixOS 中的 Unix Socket
服务器·c语言·笔记·学习·嵌入式·sylixos
RisunJan21 小时前
Linux命令-ipcs命令(报告进程间通信(IPC)设施状态的实用工具)
linux·运维·服务器
三万棵雪松21 小时前
【AI小智硬件程序(四)】
人工智能·嵌入式·esp32·ai小智
春日见1 天前
控制算法:PP(纯跟踪)算法
linux·人工智能·驱动开发·算法·机器学习
HABuo1 天前
【Linux进程(四)】进程切换&环境变量深入剖析
linux·运维·服务器·c语言·c++·ubuntu·centos
oMcLin1 天前
如何在 Rocky Linux 8.7 上通过 Prometheus 与 Grafana 结合,提升大规模容器环境的监控与性能分析?
linux·grafana·prometheus
橘颂TA1 天前
【Linux】死锁四条件的底层逻辑:从锁冲突到 STL 组件的线程安全实践(Ⅵ)
linux·运维·服务器·c++·死锁
埃伊蟹黄面1 天前
ELF深入解剖:从文件头到动态段,图解库的二进制构成
linux·c·