问题标签 [stm32]

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.

0 投票
3 回答
35507 浏览

eclipse - 用于 Flash 和 Ram 调试的 STM32 GDB/OpenOCD 命令和初始化

我正在寻求有关正确 GDB / OpenOCD 初始化和运行命令(外部工具)的帮助,以在 Eclipse 中用于闪存和 RAM 调试,以及需要合并到用于闪存与 RAM 构建的 makefile 中的正确修改或添加对于这个 MCU,如果这当然重要的话。

单片机:STM32F103VET6

我正在使用带有 Zylin Embedded CDT、Yagarto 工具和 Bins、OpenOCD 0.4 的 Eclipse Helios,并且有一个 Olimex ARM-USB-OCD JTAG 适配器。

我已经配置了 ARM-USB-OCD 并将其添加为 Eclipse 中的外部工具。为了初始化 OpenOCD,我在 Eclipse 中使用了以下命令。开发板配置文件引用了 stm32 MCU:

当我在 Eclipse 中运行它时,一切似乎都在工作(GDB 接口、OpenOCD 找到 MCU 等)。我还可以远程登录到 OpenOCD 并运行命令。所以,我被困在下一部分;用于闪存和 RAM 调试以及擦除闪存的初始化和命令。

我通读了几个教程,并搜索了网络,但无法找到该处理器的任何特定内容。我对此并不陌生,因此我可能无法识别等效产品的示例。

0 投票
1 回答
2193 浏览

scanf - newlib sscanf() throw hardfault exception in stm32

i use gcc compile my project, use the function sscanf() in main, the stack size is 4k, i debug the program in gdb, show VPUSH instruction throw the exception.

and i test the function sprintf(), it work nice. why the function sscanf() is not work in newlib for stm32?

0 投票
2 回答
15930 浏览

c++ - STM32F103微控制器CAN报文

我想知道是否有人熟悉任何STM32f10x微控制器?

如果是这样,我在配置 CAN 驱动程序时遇到了一些问题。我可以运行设置为 loop_Back 模式的演示代码,但我无法让 Normal_Mode 工作。

我通读了所有的数据表,除了 CAN_MSR 寄存器中的 INAK 永远不会重置为 0 之外,一切都配置正确。如果需要,我可以提供更多详细信息,但首先我需要知道是否有人使用过 STM32F103 微控制器和 CAN 消息。

0 投票
1 回答
2029 浏览

c++ - 通过 Cortex-M3 访问 USB 网络摄像头

整个下午,

我想知道是否有可能通过微控制器(STM32F103、Cortex M3、73MHz)劫持 USB 网络摄像头的视频流以向设备添加 HUD。然后将流重新打包到同一个 USB 端点加上一个控制端点?

我找不到任何关于通过微控制器与网络摄像头接口的信息,但我发现了使用并行接口图像传感器的项目。

0 投票
1 回答
5757 浏览

microcontroller - I2C,上拉电阻(STM32 发现)

我正在通过 I2C 发送我的数据(每 1 秒使用一次 DMA)。我为 SCK 和 SDATA 添加了两个上拉电阻。现在有从机,所以因为没有响应,主机只发送从机地址,仅此而已。

它的测试板有时会发生,所以我暂时松开了这些上拉电阻。当这种情况发生时,我没有更多的数据,并且 SCK 在这个频率下以尽可能快的速度滴答作响。没有办法解决它,pulpups back没有帮助,我必须重置我的板。

我无法解释这种行为,它完全杀死了公共汽车。

0 投票
2 回答
9737 浏览

c - SPI 在 STM32F103ZE 中读取数据为零

我正在使用 STM32F103ZE 我没有正确获取 SPI 数据。主控传输正确。但在已发送非零值的情况下,始终读取为零。

主配置:(MSP430)

从机配置(STM32F103ZE)

任何人都有答案,

谢谢哈里

0 投票
4 回答
2463 浏览

c - 显示 %d 或 %u 时 snprintf 崩溃

我正在尝试使用 snprintf 将整数打印到字符串中,以便在 ARM micro 的 OLED 显示器上显示。但是,当我使用 %d 或 %u 时,微锁定并停止执行。使用 %x 或 %c 可以正常工作,但输出用处不大。

什么可能导致这种行为?不幸的是,我无法使用 JTAG 设备进行调试。我正在使用 arm-none-eabi-gcc 进行编译,它都在 maple mini 上运行。

更新

传递值 < 10 似乎使它起作用。

0 投票
2 回答
20869 浏览

arm - stm32如何使用llvm+clang编译

有人知道如何使用 binutils 和 newlib 构建 llvm+clang 工具链以及如何使用它吗?

  • 主机:Linux、AMD64
  • 目标:cortex-m3、stm32
  • c-lib:新库
  • 汇编程序:gnu as
0 投票
5 回答
7905 浏览

arm - ARM (Cortex M3) 的应用内编程如何工作?

我正在开发一个基于 Cortex-M3 的定制设备,我需要实现应用内编程 (IAP) 机制,以便可以在没有 JTAG 的情况下更新设备固件(我们将使用 TFTP 或 HTTP)。虽然 ST Microelectronics 提供的与 IAP 相关的代码示例对我来说已经足够清楚了,但我并不真正了解重新刷新是如何工作的。

据我了解,指令是由 CPU 通过 ICode 总线(当然还有预取块)从闪存中获取的。所以,这是我非常愚蠢的问题:为什么正在运行的程序在重新刷新自身时不会损坏(即更改运行它的闪存)?

0 投票
3 回答
11543 浏览

embedded - STM32编程技巧和问题

我在互联网上找不到任何关于 STM32 编程的好文档。STM 自己的文档除了寄存器功能之外什么都没有解释。如果有人能解释我的以下问题,我将不胜感激?

  1. 我注意到在 STM 提供的所有示例程序中,main() 的局部变量总是在 main() 函数之外定义(偶尔使用 static 关键字)。有什么理由吗?我应该遵循类似的做法吗?我应该避免在 main 中使用局部变量吗?

  2. 我有一个在时钟中断句柄中更新的全局变量。我在另一个函数中使用相同的变量作为循环条件。我不需要使用某种形式的原子读取操作来访问这个变量吗?我怎么知道时钟中断在函数执行过程中不会改变它的值?每次我需要在函数中使用这个变量时,我是否需要取消时钟中断?(但是,这对我来说似乎非常无效,因为我将它用作循环条件。我相信应该有更好的方法来做到这一点)。

  3. Keil 会自动插入一个以汇编语言编写的启动代码(即 startup_stm32f4xx.s)。此启动代码具有以下导入语句: IMPORT SystemInit IMPORT __main 。在“C”中,这是有道理的。但是,在 C++ 中,main 和 system_init 都有不同的名称(例如 _ int _main__void)。即使不使用“extern“C””,这个启动代码如何仍然可以在 C++ 中工作(我试过了,它成功了)。c++ 链接器 (armcc --cpp) 如何将这些语句与正确的函数相关联?