Ubuntu13.04使用Jlink和ST-Link V2烧写STM32F1x和STM32F4x

本文详细介绍了在Ubuntu环境下如何使用JLink和ST-Link进行STM32微控制器的调试过程,包括必要的软件安装步骤及遇到的问题解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

过程如下:

1,切换到root,插上JLink或者ST-LINK之后,使用lsusb命令可以查看到对应的仿真器usb信息

2,安装libusb-1.0.9,解压安装

./configure

make

make install

3,下载openocd0.9.0,解压安装,注意这里由于只是用到jlink和stlink,所以configure的时候只是enable了这两个仿真器

./configure –enable-jlink –enable-st-link

make

make install

cd tcl/

如果Jlink调试stm32f1x,使用如下命令:

openocd -f interface/jlink.cfg -f target/stm32f1x.cfg

如果Jlink调试stm32f4x,使用如下命令:(测试挂了)

openocd -f interface/jlink.cfg -f target/stm32f4x.cfg

如果ST-Link调试stm32f1x,使用如下命令:(我的ST-LINK是V2版本的)

openocd -f interface/st-link-v2.cfg -f target/stm32f1x_stlink.cfg

如果ST-Link调试stm32f4x,使用如下命令:(我的ST-LINK是V2版本的)

openocd -f interface/st-link-v2.cfg -f target/stm32f4x_stlink.cfg

不幸的是,红色部分的测试挂掉,Jlink总是找不到边界,而我最终要用的就是这种组合,所以只能寻找其他的方法,于是我又尝试了使用Jlink自带的工具。

4,下载JLink_Linux_V422解压

cd JLink_Linux_V422/

./start

Jlink插在STM32F4x的板子上,竟然非常顺利的通过了,至于openocd为什么不行?这个问题之后再尝试。

ubuntu下烧写stm32程序

### 关于VOFASTM32使用教程 对于希望在Ubuntu环境中开发基于STM32微控制器的应用程序并利用VSCode作为主要IDE工具而言,配置合适的开发环境至关重要。下面提供有关如何设置用于STM32项目的VSCode开发环境以及一些基本操作指南。 #### 安装必要的软件包 为了支持C/C++编程语言,在Linux下安装GCC编译器链是必不可少的第一步。针对ARM架构处理器(如STM32系列),推荐采用GNU Arm Embedded Toolchain[^1]: ```bash sudo apt update && sudo apt install gcc-arm-none-eabi binutils-arm-none-eabi ``` #### 设置VSCode扩展插件 通过Marketplace获取适用于嵌入式系统的官方Microsoft C/C++ Extension Pack其他辅助功能,比如CMSIS-Pack Support、OpenOCD Debug Adapter等,可以极大地方便开发者进行调试工作。 #### 创建新项目结构 按照标准方式组织源文件夹有助于提高团队协作效率。通常情况下会建立如下所示的基础目录布局: - `src/` 存放所有的.c/.cpp实现文件 - `inc/` 放置头文件(.h) - `lib/` 第三方库或者驱动程序接口定义 - `build/` 编译输出路径 #### 初始化Git仓库并与远程服务器同步 如果打算长期维护此工程,则建议尽早初始化版本控制系统,并考虑托管至GitHub/GitLab这样的在线平台以便分享成果或邀请他人参与贡献。 #### 示例代码片段:点亮LED灯 这里给出一段简单的例子展示怎样控制板载LED的状态变化。假设目标硬件具备GPIO外设资源可供调用: ```c #include "stm32f4xx_hal.h" int main(void){ HAL_Init(); __HAL_RCC_GPIOA_CLK_ENABLE(); //使能时钟 GPIO_InitTypeDef LED_Config; LED_Config.Pin = GPIO_PIN_5; LED_Config.Mode = GPIO_MODE_OUTPUT_PP; LED_Config.Pull = GPIO_NOPULL; LED_Config.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOA,&LED_Config); while(1){ HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_5); HAL_Delay(500); } } ``` 至于提到的具体产品名称“vofa”,似乎并不是广泛认可的技术术语或者是特定型号的产品线,因此无法直接关联到具体的STM32应用案例上。如果有更详细的背景描述或者其他关键词补充说明的话,或许能够进一步澄清意图所在。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值