问题标签 [bluepill]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
stm32 - STM32F103 无法从应用程序跳转到引导加载程序
我想从 STM32 Blue Pill STM32F103C8T6 上的应用程序跳转到引导加载程序。我的方法看起来是: - 向 BKP->DR1 写入任何值;- 进行重置(NVIC_SystemReset());- a main 的开头,检查是否 BKP->DR1 != 0,然后将其设置为 0 并跳转到引导;
调试显示,核心跳得很远(0xffffffffe)并且没有任何反应。我的代码:
我不知道为什么它不起作用。此外,0x1FFFF000 区域的跳转内存看起来还可以: 跳转前
这是在跳转失败 之后: 跳转之后 也许我的芯片是假的?ST Utility 显示正确的值(设备 ID、闪存大小、MediumDensity),但它没有任何意义。当我使用 BOOT 引脚时,引导加载程序已正确加载并且 STM 闪存加载程序可以识别它。即使我的芯片是假的,嵌入式引导加载程序也可以工作,所以我无法弄清楚为什么从应用程序跳转不起作用。
hal - __weak HAL_GPIO_EXT1_Callback (uint16_t GPIO_Pin) 即使我在源代码中定义了 HAL_GPIO_EXT1_Callback (uint16_t GPIO_Pin)
我正在使用带有 Blue Pill 板的 STM32 CubeIDE 工作。
为了控制 main.c 的大小,我将函数组收集到了几个 c/h 对文件中。其中一对是“myirqcallbacks.c/h”。目前我在这个 c/h 对中有两个 UART IRQ 和一个外部引脚 IRQ 回调。
UART 工作正常,但 EXT IRQ 无法调用我的代码。它改为在 stm32f1xx_hal_gpio.c 中运行 __weak 副本。
当代码在 main.c 中时,它运行正常。
似乎编译器看不到我的 EXT IRQ 回调函数,因此未能弃用回调的 __weak 副本。但是,它可以在那里看到两个 UART 回调函数。GPIO 和 UART IRQ 的结构有什么不同吗?
myirqcallbacks.h
myirqcallbacks.c
我认为这更多的是关于我的片状 c 文件结构知识,但我已经研究了几天,任何指针都将非常感激。
stm32 - 如何正确设置 STM32f103c8T Bluepill + Platformio + UART?
我一直在试图弄清楚如何将代码上传到 STM32103c8T bulepill 板。我的设置是
1- MacOs Catalina 2- STM32103c8T bulepill 板 3- SLAB UART USB-TTL CP2012 V3.0 4- Platformio IDE 5- STM32 CUBE 编程软件,通过 UART 检测并连接到我的板。表示连接没有问题,但设置 Platformio 有问题
顺便说一句,我是 ARM 世界的新手,我买了这个板来检查它的速度和深度睡眠和中断,我的意思是 Arduino Uno 不能做的所有事情。
问题是我不知道如何设置 platformio.ini 文件以使用 UART 方法与板通信,而不是请求 ST-link 加密狗!
我现在在Platformio.ini中拥有的是:
[环境:bluepill_f103c8]
当尝试上传程序时,我得到:
上传 .pio/build/bluepill_f103c8/firmware.elf xPack OpenOCD, x86_64 Open On-Chip Debugger 0.10.0+dev-00378-ge5be992df (2020-06-26-12:31) 获得 GNU GPL v2 许可有关错误报告,请阅读 http://openocd.org/doc/doxygen/bugs.html
调试级别:1
hla_swd
没有分开的
错误:打开失败
在程序“程序”中
OpenOCD 初始化失败
调用的关机命令
[上传] 错误 1
我只需要帮助让系统互相交谈并互相看到
PS 我想尽可能地使用bareMetal而不是使用arduino固件HAL
arduino - STM32 蓝色药丸和 Arduino IDE
我想用 Arduino IDE 对 Stm32 bluepill 进行编程,但是当我想定义像我写的“pinMode(A10,OUTPUT)”这样的引脚时,它会出错。错误是“'A10'没有在这个范围内声明”我想知道我应该如何在 STM32 的 Arduino IDE 中声明引脚
stm32 - STM32 BluePill LED 闪光灯使用 HAL_GPIO_TogglePin 表现异常
我有两个简单的 LED 闪光灯以 1 秒的间隔为我的 BluePills 编程闪光。一种方法使用 HAL_GPIO_TogglePin 切换 LED 状态,另一种使用 Set 和 Reset 切换 LED 状态。设置和重置按预期运行,但 HAL_GPIO_TogglePin 确实在工作,但它在某些时候几乎具有 PWM 效果。我已经在 2 个不同的 Bluepills 上尝试了这两种方法,结果都相同。
和
embedded - 为什么在尝试使用 openocd 连接 stlink-v2 时出现通信故障
我正在尝试使用 stlink-v2 连接到“stm32”“bluepill”以向其写入一些代码
每当我运行 openocd 时,它都无法连接我的 openocd.cfg 文件如下所示
当我运行 openocd 时,这是我收到的响应:
我以前在上面写了一些代码stm32f103
,bluepill
当我连接到我的电脑时,代码运行(它导致 pc13 上的 LED 闪烁)
上次运行良好时,我没有更改 openocd.cfg 文件
embedded - STM32F103蓝色药丸从头中断
我如何从头开始为蓝色药丸创建中断?
我不想使用任何类型的特殊库。此外,我使用 Keil IDE,因此,通过“从头开始构建”,我指的是不使用任何额外的库,而不是在没有 IDE 帮助的情况下组装项目。
我试图寻找资源,但没有成功。有人可以帮助我,至少为我提供一些信息/参考书目吗?我将感激不尽。
此外,“奇怪的库”是指除 stmf32f1xx.h 头文件之外的任何其他库。我想在其中一个引脚的输入值切换时触发中断。为了做到这一点,在 AVR MCU 上非常简单,只要更改几个寄存器值即可。不幸的是,我不知道 ARM MCU 中的中断是如何工作的,以及我应该在哪些寄存器中写入什么值。
此外,更好地了解 ARM MCU 的中断机制将使我为解决去抖动问题做好准备。
embedded - NVIC 控制器是 DMA 吗?
我提出了一个与众所周知的STM32蓝色药丸有关的理论问题,更具体地说,我不知道NVIC控制器是否是一种DMA。我会说它是一个 DMA,只要它管理中断请求,另一方面,我还没有找到任何可以将 NVIC 归类为 DMA 的文档。