Ubuntu一条命令下载MCU固件

描述

现在很多项目开发都逐渐的迁移到Linux环境下。但是Linux开发单片机就没有像Windows下开发那么方便,它没有对应开发工具(KEIL,IAR等),它们自带烧录等功能。所以在Linux上开发单片机需要安装下载固件的工具--JLink。

固件

JLink环境搭建

  1. 我的开发环境是Ubuntu 20.04
  2. JLink环境搭建比较简单,安装包下载链接:https://www.segger.com/downloads/jlink/JLink_Linux_V788b_x86_64.deb
  3. 在Ubuntu的terminal中执行如下命令:
rice@rice:~/jlink_test$ wget https://www.segger.com/downloads/jlink/JLink_Linux_V788b_x86_64.deb
--2023-05-11 11:51:48--  https://www.segger.com/downloads/jlink/JLink_Linux_V788b_x86_64.deb
Resolving www.segger.com (www.segger.com)... 195.122.144.65
Connecting to www.segger.com (www.segger.com)|195.122.144.65|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘JLink_Linux_V788b_x86_64.deb’

JLink_Linux_V788b_x     [     <=>            ]  44.19K  27.4KB/s    in 1.6s    

2023-05-11 11:51:52 (27.4 KB/s) - ‘JLink_Linux_V788b_x86_64.deb’ saved [45248]

rice@rice:~/jlink_test$ 
  1. 安装JLink:
rice@rice:~/jlink_test$ sudo dpkg -i JLink_Linux_V788b_x86_64.deb

JFlash下载固件

  1. 创建新的project
固件
  1. 选择Target device
固件固件
  1. 打开固件文件
固件
  1. 下载固件

固件固件

命令行下载固件

JLinkExe提供了一系列批处理命令,详细命令参考JLink官网:https://wiki.segger.com/J-Link_Commander#Batch_processing。我们通过JLinkExe命令行下载固件:

  1. 在terminal中执行如下命令,进入JLink下载界面。选择设备类型,接口类型,接口速度,自动连接选择:
固件
  1. 在JLink下载界面中执行下载命令,执行loadbin命令:
固件

一条命令下载固件

上面的两种方式都繁琐,在实际场景中,更佳倾向一条命令就完成下载功能,无需任何的交互。JLinkExe也提供了方案,批处理脚本 + 命令文件的方式解决,详细命令文件使用方法参考JLink官网:https://wiki.segger.com/J-Link_Commander#Using_J-Link_Command_Files。

  1. 因为loadbin不能通过直接通过批处理命令执行,它需要放在命令文件中。创建CommandFile.jlink文件。并将命令(loadbin ./test.bin  0x08000000)写入文件中。
固件
  1. 执行一下命令,便可以下载文件了。
固件

总结

  1. 可以不需要开发环境,通过一条命令解决了我们的烧录问题。
  2. 在Linux下开发,大部分也是通过命令的形式做一些操作,所以符合我们的开发需求。
固件

 


审核编辑 黄宇


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分