问题标签 [stm32f4discovery]

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 投票
2 回答
6753 浏览

embedded - 网络摄像头与 stm32 接口

我想使用 STM32F4 微控制器接收视频流,然后使用 rtsp 协议通过以太网流式传输。

我需要你们告诉我,哪种电路最适合与 STM32 连接。

我可以通过 USB OTG 将网络摄像头与 STM32 连接吗?(我对usb协议有基本的想法,但问题是我拥有的网络摄像头不受linux支持所以没有驱动程序的代码源,所以没有端点引用......)

是否可以通过调试 USB 流量来定义触发视频(流)批量传输的端点和特定于供应商的命令?

或者,您会推荐另一种电路,该电路提供易于与 STM32 接口的视频流。

我知道这是一种疯狂的事情,但我想问这会有多难?

让我知道你对这个项目的看法?

PS:项目的rtsp部分不是本题的目的。

提前致谢。

0 投票
4 回答
10713 浏览

uart - stm32f4 uart波特率设置?

现在我有一个 stm32f4-discovery。我为uart制作了一个max232来连接stm32f4。我使用usb-rs232连接max232。我希望我可以通过uart通信stm32f4和PC。我在 Linux 中打开 putty。但是我有一个关于设置 uart 波特率的大问题。如果我设置相同的波特率,它就无法接收到正确的消息。我用示波器观察。最后,我设置了 7680(stm32f4) 和 3200(putty)。然后我可以得到正确的信息。但我不知道为什么它以不同的波特率工作。谁能告诉我为什么?这是我的代码,谢谢https://gitcafe.com/ctc8631/stm32f4-test-uart

0 投票
1 回答
366 浏览

operating-system - 循环调度中的任务行为不正确

我在 STM32F4DISCOVERY 板上运行 FreeRTOS,并且我有以下代码:

其中 vTask1 是这个函数:

vTask2 具有几乎相同的代码:

当我运行程序时,我看到 LED0 和 LED3 一直亮着(它们的切换对我的眼睛来说太快了,这很好),并且“共享资源”的 LED2 闪烁得非常快。问题是这样的:当我颠倒xTaskCreate调用顺序时,我会遇到相同的情况,但 LED2 的闪烁行为不同,速度要慢得多。为什么会发生这种情况,因为任务应该具有相同的优先级并因此遵循循环调度?他们不应该得到相同的时间吗?为什么仅在以不同的顺序创建它们之后它们的行为会发生变化?

提前致谢。

0 投票
2 回答
2116 浏览

triggers - stm32f405产生触发信号pwm

我正在尝试使用三个定时器生成相移 PWM 信号。

  • TIM1 用作参考(以 1MHz 运行)
  • TIM3 用作相移 TIM4 的触发器
  • TIM4 用于产生由 TIM3 触发的相移信号

总结:TIM1 --- 触发器 --> TIM3 --- 触发器 ---> TIM4

信号应如下所示:

这是我当前的代码。参考在 1MHz 下正确运行。但是触发信号现在不起作用。错误应该在 initReferenceTimer() 或 initReferencePWM() 函数中的任何位置。到目前为止,它无法像上面提到的那样生成触发信号。所以我无法测试相移信号是否会被正确触发。

有人对此有好主意吗?

为了调试,我还将触发信号绑定到输出引脚。

0 投票
2 回答
2836 浏览

c - FreeRTOS - STM32F4 上的堆栈损坏

我目前遇到问题,我认为在 STM32F407 目标上运行 FreeRTOS 时某些配置错误的堆栈损坏。

用 gcc 查看了 STM32F4 上的 FreeRTOS 堆栈损坏,但没有得到任何帮助。

应用程序运行两个任务并依赖于一个 CAN 中断。工作流程如下:

  1. 两个任务 network_task 和 app_task 与两个队列 raw_msg_queue 和 app_msg_queue 一起创建。CAN 中断也已设置。
  2. network_task 具有最高优先级,并开始无限期地等待 raw_msg_queue。
  3. app_task 是下一个并开始在 app_msg_queue 上等待。
  4. 然后 CAN 中断因外部事件而触发,将 CAN 消息添加到 raw_msg_queue。
  5. network_task 唤醒,处理消息,将处理后的消息添加到 app_msg_queue,然后继续等待 raw_msg_queue。
  6. app_task 唤醒,我遇到了一个硬故障。

问题是,由于最终用户的便利性和可移植性,我已经分两步包装了 app_task 对 xQueueReceive 的调用。app_task总的函数链是它调用network_receive(..) -> os_queue_receive(..) -> xQueueReceive(..)。这很好用,但是当它从 xQueueReceive(..) 返回时,它只能在返回到看似随机的内存位置之前返回到 os_queue_receive(..) 并且我得到一个硬故障。

堆栈大小应该足够,并且两者都设置为 2048,所有大型数据结构都作为指针传递。

我在两个 STM32F407 上运行我的代码。FreeRTOS 的版本为 7.4.2,是撰写本文时的最新版本。

我真的希望有人可以在这里帮助我!

0 投票
1 回答
6320 浏览

stm32 - stm32f4discovery - OpenOCD - telnet上传演示程序


我在尝试将演示程序上传到新的 stm32f4discovery 板时遇到问题,这就是我正在做的事情:

  1. 将板子连接到电脑
  2. openocd -f 板/stm32f4discovery.cfg
  3. 远程登录本地主机 4444

    我究竟做错了什么 ?我试过闪存保护,stm32f2x 解锁但响应仍然相同:'闪存写保护',我错过了什么?我正在使用来自'Project/Demonstration/Binary'的包'STM32F4-Discovery_FW_V1.1.0'的st.com的预编译演示程序。

0 投票
1 回答
2633 浏览

c++ - LoopF​​illZerobss 对 main 的引用未定义

我正在为 STM32F4 微控制器编译一个 c++ 应用程序。我的所有代码都成功编译,但链接步骤失败并出现以下错误:

我熟悉未定义对主要错误的引用的典型原因,即尝试在没有主要存在的情况下编译应用程序。但是,我确实有一个 main.cpp,当然,其中还有一个 main 函数。它编译为 main.o,并与编译期间创建的其他目标文件链接。

我正在交叉编译到 STM32F407 上,并且正在运行裸机。

有人对此有任何见解或以前见过此错误吗?我看到 LoopF​​illZerobss 函数的唯一地方是电路板的程序集启动文件。

0 投票
2 回答
3344 浏览

c - STM32中的单次操作持续时间是多少

我做了简单的延迟函数:

我想用一些值来预测单次执行的持续时间。我知道这是个坏主意,但我不需要准确的时间,也不会被打断。

我正在使用 STM32F405 @ 168 MHz 和 8 MHz 外部晶振。

到目前为止,我注意到用 0x80 0000 调用它会给我带来大约半秒的延迟。

0 投票
1 回答
2013 浏览

build - 为 STM32F4-Discovery 编译和构建 avconv/ffmpeg 的 Slim 版本 - armv7 thumb 1/2 架构

这是我第一次尝试在 Stack Overflow 上发帖寻求帮助。

我的项目:使用带有 STM32F407VGT6 芯片的 STM32F4-Discovery 和 FPv4-SP 和相机/LCD 外围设置,我需要以 QVGA 录制视频并输出为压缩比至少为 25:1 的 MPEG-4 格式。

我已经确定了所需的编解码器库(avconv,除非 ffmpeg 证明更有用),现在我正在尝试构建编译器选项,为我提供一个能够在 ANSI-C 芯片上执行的轻量级版本和拇指架构。

该板的空间非常有限(192KB SRAM 和 1MB 闪存 - 有扩展的可能性,但最好只使用我所拥有的),目前任一库的“主要”可执行文件都超过 1MB。

从我尝试过的不同解决方案的输出来看 - 似乎很多编译器选项都没有成功应用于构建。所以我的问题是:

1) 是否可以仅使用 rawvideo 解码器、mpeg4 编码器和最基本的实用程序将任一库编译到所需的空间?如果没有,有没有估计需要多少?

2)我花了很多时间在互联网上搜索,但似乎没有人尝试过 - 有没有人可以告诉我其他情况?

我手头有我的配置/构建脚本,任何人都想看看我是否错过了一些基本的东西。只要问,我会通过电子邮件发送它,我不想让线程变得比我看似冗长的调查已经拥有的更多。

我认为这两个库都不太可能损坏。我一直在 Ubuntu 12.04 32 位上尝试这个。

我是一名软件实习生,非常感谢任何可用的帮助。

最后一个问题,如果我的解决方案被证明不可行,是否有另一个开源 mpeg4 压缩库可以为嵌入式 ARMv7E-M/Thumb 集架构轻松编译?

编辑:这是以前未包含的构建命令。

这是我获得并修改的脚本。它最初是为 ARMv7-a 成功构建的,它不会在 ARMv7e-m 芯片(发现板)上执行。

0 投票
1 回答
697 浏览

macos - 为 STM32F4 Mac 编译

再会,

我刚买了一个 STm32F4 并且能够加载位于内部的示例 .hex 文件: https ://github.com/mechoid9/STM32F4

我已按照此站点的说明进行操作:http: //jeremyherbert.net/get/stm32f4_getting_started

它解释了如何编码,但没有说明如何实际执行makefile。我运行它,它给了我一大堆错误:

生成文件如下所示:

我什至不知道如何执行它来构建我的十六进制文件等。