打印
[PIC32/SAM]

在Linux下用codeblocks+OpenOCD搭建ARM MCU开发调试环境

[复制链接]
1516|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 传说中的**灰哥 于 2019-5-30 22:56 编辑

作为一个重度Linux系统使用者,平时开发相关的工作都是在Ubuntu下进行,最近有个项目需要用到Atmel 32位的Cortex-M7 MCU,所以花时间研究下如何在Ubuntu下搭建起ARM MCU的开发调试环境! 如果你也是想使用 Code::Blocks 进行ARM MCU相关的开发工作,可以参照这篇博客所列出的步骤指引搭建起开发调试环境。
1、安装Code::Blocks
Code::Blocks 是作者非常喜欢和推荐的一款多平台的软件开发IDE,尤其对C/C++的支持做的特别好,整个软件对电脑资源的消耗很少,轻便快捷,程序员最看中的代码补齐和搜索功能丝毫不弱于Source Insight和vs code。
作者使用的Code::Blocks 版本是17.12,自己去官网下载源码手动编译安装的,动手能力强的可以尝试手动编译下,或者省事的点就在命令终端输入 sudo apt-get install codeblocks. (Ubuntu默认支持的版本是16.x的旧版本)
如果需要更新版本的,可以尝试:
sudo add-apt-repository ppa:damien-moore/codeblocks-stable
sudo apt update
sudo apt install codeblocks codeblocks-contrib

2、下载arm-none-eabi-gcc编译器
直接去ARM官网就可以下载,记得下载for Linux的版本。
https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads
演示时使用的是2018-q4版本:Version 8-2018-q4-major Linux 64-bit
将下载后的编译器工具包解压到用户目录下,比如作者将工具解压到 /home/kevin/opt 目录
3、安装OpenOCD工具
OpenOCD(Open On-Chip Debugger) 开源片上调试器,是一款开源软件,最初是由Dominic Rath同学还在大学期间发起的(2005年)项目。OpenOCD 旨在提供针对嵌入式设备的调试、系统编程和边界扫描功能。
OpenOCD 的功能是在仿真器的辅助下完成的,仿真器是能够提供调试目标的电信号的小型硬件单元。仿真器是必须的,因为调试主机(运行OpenOCD 的主机)通常不具备这种电信号的直接解析功能。在Linux主机环境下,我们可以用GDB + OpenOCD 就可以进行代码的下载和调试。
说道这里得致敬下10几年前国内大牛做的一个非常好用的调试器叫 H-JTAG, 可惜的是后来停止更新。在当时那个ARM调试工具非常稀缺的年代,H-JTAG的出现还是帮助到了很多早期ARM开发人员。
4、在Code::Blocks创建一个新的Debugger配置

打开Code::Blocks,选择Settings -> Debugger., 然后选择Create Config, 新创建一个名叫配置OpenOCD的配置,点击OK保存新的配置。

接着对新创建的Debugger进行配置,需要指定GDB工具路径:

5、在Code::Blocks配置Compiler

打开Code::Blocks,选择Settings -> Compiler., 在Selected Compiler下拉框里面选择GNU GCC Compiler for ARM, 我们需要配置下arm-none-eabi-gcc编译工具路径等内容,Debugger选择新创建的OpenOCD,最后点击OK保存配置。

另外还可以配置系统编译器头文件查找路径:

6、start.atmel.com下载官方例程

Atmel官网例程在线配置网站start.atmel.com,可以在线配置所需要的MCU外设,外设驱动参数等信息,用起来还是非常方便,关键配置的工程最后下载支持多种集成开发环境,比如它官方的Atmel Studio 7,通用的IAR/Keil,还有Linux用户可以用的GCC Makefile。

由于Code::Blocks直接支持导入用户Makefile文件进行编译(敲下小黑板划重点-这点很重要),这样很多开源项目可以直接通过此类的方法进行配置导入Code::Blocks中进行编译和调试仿真。源码具体的下载过程就请参考后面提供的视频链接。

7、在Code::Blocks新建工程并导入atmel官方例程


操作教程视频:

优酷视频 (普通清晰度)

腾讯视频   (1080P)


使用特权

评论回复
沙发
yjmeishao|  楼主 | 2019-5-29 19:43 | 只看该作者
我在个人电脑上录制的视频是1080P, 上传到优酷后效果变得非常差。
有需要的还是私信给我吧,分享源视频给大家,60MB左右。

使用特权

评论回复
板凳
characteristic| | 2019-5-29 20:58 | 只看该作者
感谢楼主分享!

使用特权

评论回复
地板
yjmeishao|  楼主 | 2019-5-30 10:02 | 只看该作者
教程已经上传到腾讯视频,可以选择1080P高清模式,比优酷视频的效果要好太多。https://v.qq.com/x/page/f0877mk9by8.html



使用特权

评论回复
5
aoyi| | 2019-5-30 10:15 | 只看该作者
讲解的非常详细啊

使用特权

评论回复
6
programmable| | 2019-5-31 15:51 | 只看该作者
感谢分享!对Linux不太熟,有时间学习下

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

111

帖子

1

粉丝