Ubuntu下搭建stm32+stlink的开发环境

热度 3已有 15960 次阅读2014-8-19 21:09

|

上周因为忙于别的事情,很久没切到ubuntu下了,这周继续弄了弄。

弄到了一些眉目,决定先简单写个总结。

我不打算采用 详细文档 的写法,而采取一种启发性的思路。因为中间很多操作,我们可以自己百度或者,假如你熟悉这些命令,操作。

首先,讲述一下要实现的功能。

在Windows下,有好几款ARM stm32的开发工具,比如我个人最喜欢的IAR,更加著名的MDK。

首先我们要搞清楚一些基础概念,IAR,MDK是IDE,也就是 集成开发环境,所谓集成因为它包含了很多工具,其中最主要的是 编译器,调试器,下载工具 等等,所有这些,组成一个完整的工具链,可以供我们 在单片机上开发项目。

也就是说,原则上来说,只要我们获取了这一系列工具,并且互相配合起来,组成一条完整的工具链——或者足够的工具链,我们就可以自行组建自己的开发环境,而无须受制于 软件的license,运行环境等各种限制条件。

IAR MDK都没有Linux的版本。

但是在Linux下,我们可以使用一些分散的替代工具。

其中,C编译器是 大名鼎鼎的 GNU C,调试器是GDB,至于下载工具,由于本人偏好使用STLINK SWD,所以,经过一番搜寻和了解,我选择使用 stlink-master,此外,为了进行硬件调试,除了宿主机上需要gdb外,还需要一个装在芯片上的 远程gdbserver。

经过一番折腾。

目前,我已经完成的工作有:

1.我从 Sourcery g++ Lite获取了一个相当新的 GCC编译工具;其中包含gcc g++ gdb;

当时我这么做是因为我不懂得设置和重新编译gcc工具链,因为事实上,4.4以后的版本,官方版本已经加入了对cortex m0 m3的支持——而这两个也是我所需要的。也就是说,如果我能学会编译,我以后大可自己重新做一个,但无论如何,至少现在为止,我们可以拥有一个 gcc交叉工具链;

2.在编译的时候,我发现,它需要指定 编译脚本 ld文件,让编译器了解具体芯片的一些基本信息:比如 存储器的分配和中断入口 ,堆栈的设置;

这一块,我还不会写,所以我打算想办法去找例子学着写;

3.在第二步卡住的时候,我觉得,这一步最终需要实际烧录程序才能验证是否可行,于是我决定再往前走,先把stlink的驱动搞定。慢慢的,我发现,当我把stlink-master搞定的时候,我发现,我同时拥有了我以为还得费劲的gdbserver。

当前的进展是,我已经拥有了gcc工具链 和 stlink驱动及相应烧录,调试工具。

下一步我需要学会或者找到一个m0的 连接脚本。

(具体的过程,我会在完成之后,详细整理出来。)

在这以前,还有一点要提醒。

Linux下设置 环境变量,没有windows那么方便,可以在 桌面右键属性的 高级  里 设置。目前我只知道通过export PATH命令完成。但有个比较麻烦的地方是,直接这么export,在下次重启后,这变量就没了。

当然还有很多人喜欢另一种办法,那就是把相应的bin放到 系统的/usr/bin下,但这种行为无异于在windows下,把所有软件装在c盘,这种事,老子不干。而且我曾经接触过这个问题,我记得是可以通过直接写什么文件,把这个环境变量固定下来,现在我首先要解决这个事情。

然后再去想脚本,这里,给大家推荐一个很不错的 第三方彻底开源工具。 libopencm3,它其实同时包含了cm0 cm0+ cm3 cm4 cm1,并且不止stm32,还包含ti部分,nxp部分mcu 的工具链。

不过既然我已经装好了工具链,我也就不打算重新换他的,我只想学会或者获得m0的连接脚本,此外,它使用的是openhcd来做stlink的驱动框架,我暂时对这个不够了解,但我怕它不稳定,所以相对来说我还是打算选择stlink-master,它似乎更加“官方”——这是一个动态的过程,玩Linux的都是热爱自由,不怕折腾的人,我会持续关注这些事情,尽可能改善自己的开发环境。

好了,今晚的笔记到此结束~~

linux 搭建开发stm32 stlink,Ubuntu下搭建stm32+stlink的开发环境相关推荐

  1. 在Linux(Ubuntu)下搭建ASP.NET Core环境并运行 继续跨平台

    最新教程:http://www.cnblogs.com/linezero/p/aspnetcoreubuntu.html 无需安装mono,在Linux(Ubuntu)下搭建ASP.NET Core环 ...

  2. ubuntu下搭建android开发环境(转载)

    在ubuntu下搭建android开发环境,准备学习一下android开发. 1.安装JDK        首先到oracle的官网上下载linux版本的JDK(网址为:http://www.orac ...

  3. ubuntu下搭建android开发环境(四)核心篇安装AndroidStudio、sdk、jdk

    [置顶] ubuntu下搭建android开发环境(四)核心篇安装AndroidStudio.sdk.jdk(by 星空武哥) <div class="article_manage c ...

  4. linux如何搭建mqtt服务器,【MQTT】在Ubuntu下搭建MQTT服务器

    前言 博主之前写了一篇<在Windows下搭建MQTT服务器>,这次要尝试在Ubuntu下搭建MQTT服务器.实际上,下载好源码包后,后面的都和那篇文章差不多了. 开发环境 虚拟机 Ubu ...

  5. linux lighttpd php,Ubuntu下搭建Lighttpd+PHP+MySQL环境

    简单的几个命令在Ubuntu下搭建Lighttpd+PHP+MySQL环境,Lighttpd是众多OpenSource轻量级的web server中较为优秀的一个.支持FastCGI, CGI, Au ...

  6. 基于HarmonyOS的WIFI智能冰箱:在Ubuntu下搭建编译环境

    Ubuntu下搭建编译环境 1.首先选择linux的系统.推荐采用ubuntu18.04.2,最新的ubuntu20.01太过酷炫,这个版本稳定时间长,是最可靠的版本. 基本条件是: ①Linux服务 ...

  7. Ubuntu 下搭建 Nginx 部署 vue 项目

    Ubuntu 下搭建 Nginx 部署 vue 项目 上一篇:Ubuntu 下部署 SpringBoot 第一步: Ubuntu 上安装 nodejs 执行 apt install nodejs 命令 ...

  8. Ubuntu下搭建postgresql主从服务器(方法1)

    Ubuntu下搭建postgresql主从服务器(方法1) 安装略 postgresql主服务器: $ vi /etc/postgresql/9.1/main/postgresql.conf 按a或i ...

  9. Ubuntu下搭建MPI并行计算环境

    Ubuntu下搭建MPI并行计算环境 [日期:2012-10-10] 来源:Linux社区 作者:hs794502825 [字体:大 中 小] 在这里面可以选择一个合适的openmpi安装包,此处我选 ...

最新文章

  1. pytorch 半精度,提升pytorch推理性能
  2. python中用于标识字符串的定界符_Python合集之Python数据类型(二)
  3. java8中的Lamba表达式
  4. centos7系统/etc/resolv.conf 配置DNS客户
  5. [Hibernate系列—] 2. 创建SessionFactory 与 Session
  6. IntelliJ IDEA 转移C盘.IntelliJIdea(索引目录)
  7. foobar2000 ios版怎么添加音乐_抖音怎么设置说完话后再放音乐 视频先配音后半段添加背景音乐...
  8. java word添加图片_Java 替换word文档文字并指定位置插入图片
  9. 我都不敢信了 东芝芯片“又”将最后决定
  10. 问题 1051: [编程入门]结构体之成绩统计2
  11. html相对位置置顶,css定位(position)属性怎么用?
  12. OO CSS的个人理解
  13. python opencv光流跟踪_Opencv Python版学习笔记(四)光流跟踪之Gunnar Farneback’s 算法...
  14. 安装openguass数据库配套工具Data Studio
  15. 上班划水,给男朋友做个数字炸弹游戏
  16. 如何正确的制定目标?(只需4步)
  17. AR技术在智慧交通中的应用
  18. 2.GSAP(TweenMax手册/TweenLite手册)之一
  19. three.js实现3D室内全景看房
  20. 华为路由器BGP联邦综合实验

热门文章

  1. 【控制】《多无人机协同控制技术》周伟老师-第9章-单无人机目标跟踪飞行控制策略
  2. 【Matlab 图像】图像基础操作
  3. 3.7 感知器-机器学习笔记-斯坦福吴恩达教授
  4. FPGA_进阶篇开篇
  5. 【工具】win10修改默认输入法,开机直接启动谷歌输入法
  6. 计算机组成与原理如何书写DEC微指令,计算机组成原理课程设计16位机微程序控制器指令系统设计与实现.doc...
  7. nodejs实现webservice问题总结
  8. 云计算怎么支撑起《流浪地球》的硬科幻实力?
  9. (进阶篇)Cookie与 Session使用详解
  10. SQL Server 问题之 排序规则(collation)冲突