问题标签 [freertos]

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 投票
1 回答
2643 浏览

c - 在 FreeRTOS 中创建具有多个队列的任务?

我在向 FreeRTOS 中的任务发送多个队列时遇到问题。

我尝试创建一个结构来保存它们,如下所示:

然后将其发送到这样的任务:

并在任务中像这样访问它:

但这不起作用。有小费吗?我想我更一般的问题是如何在多个 .c 文件之间传递队列。IE。创建它和一个文件,但能够在另一个文件的任务中使用它?

0 投票
0 回答
665 浏览

c - 使用 lwip_sendto 时 mbox 无效

我正在尝试使用 freertos 中的 lwip 堆栈通过多个套接字进行基于 UDP 的通信。我的第一个问题是,套接字创建失败,因为lwip_socket调用了对 的调用netconn_new,其中包含对的调用TCPIP_APIMSG(&msg),该调用返回错误。我发现错误TCPIP_APIMSG(&msg)是因为sys_mbox_valid(&mbox)返回错误而产生的。

在认识到我创建了比 lwip 配置变量所允许的更多的 UDP 套接字后,我可以解决这个问题memp_n_udp_pcb。我只是增加了memp_n_udp_pcb

现在我遇到了lwip_sendto发送大约 300 个数据包后停止工作的问题。同样,无效的 mboxTCPIP_APIMSG(&msg)似乎是原因。lwip_sendto调用netconn_send,调用TCPIP_APIMSG(&msg),由于无效的 mbox 返回错误。

我只是尝试将 lwip 堆栈与 freertos 一起使用,但我对 lwip 堆栈的实现细节没有经验。我不知道无效的 mbox 是什么意思以及如何解决问题。

我希望有人可以向我解释这里出了什么问题。memp_n_udp_pcb当使用超过预定义数量的 4 个 UDP 套接字时,是否需要更改任何其他设置(除了)?为什么lwip_sendto发送几百个数据包没有问题后失败?

0 投票
1 回答
1594 浏览

compression - FreeRTOS 的压缩/Zip 包

我正在寻找一种在 Cortex M3 FreeRTOS 嵌入式系统上压缩 txt/csv 文件的方法。然后,压缩文件将由 Linux 机器上传,该机器将膨胀并使用它们。是否有与 FreeRTOS 兼容且不占用资源的 SW 包,或者,是否有任何占用空间小的 SW 包可以轻松迁移到 FreeRTOS。

0 投票
1 回答
2553 浏览

c - FreeRTOS 分配错误

我在 STM32F107VC 上使用 FreeRTOS V6.1.1 并经常遇到 malloc 错误。堆区域是在链接器脚本中定义的,但在几次分配后它一直卡在 pvPortMalloc() 循环中:

链接器脚本:

怎么会这样?

0 投票
0 回答
332 浏览

eclipse-cdt - 如何在 FreeRTOS 的 Eclipse(DS-5)中使用 RTSM 模拟器进行调试?

我是 FreeRTOS 和 RTSM 模拟器的新手。我加载了 FreeRTOS 的代码并尝试使用 RTSM 模拟器(模拟 ARM Cortex A9)。当我更改为 DS-5 调试透视图并从 Debug Configurations 按 Debug 时,模拟器似乎正在运行。我面临的问题是我无法单步执行我的源代码(用于调试)。我在 main 的第一个语句中设置了一个断点,并且控件似乎没有到达那里。(我可以单步调试编译后生成的汇编语言代码,但这不是我需要的)。

知道怎么做吗?

0 投票
0 回答
2432 浏览

freertos - CooCox CoIDE 和 FreeRTOS 编译

我使用 CooCox CoIDE 1.7.4 在 windows 7 Home OS 上对 STM32F051R8 微控制器进行编程。我是这种编程的初学者。我的第一个目标是使用 FreeRTOS 让一些 LED 闪烁。在花了很多时间尝试之后,我在网上看到了一些教程和许多链接,但我找不到有用的东西。编译器一直在抱怨提出这个问题:

*GCC HOME: C:\CooCox\CoIDE\gcc\GNU Tools ARM Embedded\4.7 2013q2\bin 编译: [mkdir] 跳过 C:\CooCox\CoIDE\workspace\test1\test1\Debug\bin 因为它已经存在。[mkdir] 跳过 C:\CooCox\CoIDE\workspace\test1\test1\Debug\obj 因为它已经存在。

BUILD FAILED 输出文件名冲突:port.o 将从 C:\CooCox\CoIDE\workspace\test1\FreeRTOSV7.5.2\FreeRTOS\Source\portable\Softune\MB91460\port.c 和 port.c 生成总时间:1 秒*

如果有人可以提供帮助,我将不胜感激。如果有人需要更多信息,请回复。我不知道我做错了什么。

0 投票
1 回答
917 浏览

c - 多播 UDP 在我的板上不起作用

我正在通过我的网络通过多播传输数据。
我正在将数据发送到 PC 和运行 freeRTOS 和 Lwip 的开发板。数据直接在 PC 上接收,但不在我的开发板上。
板上的代码是 PC 中代码的精确相关副本。
我尝试了各种涉及设置 NETIF_FLAG_IGMP 标志的解决方案,使用 netconn_join_leave_group 而不是 igmp_leave 或 igmp_join 但它们似乎都不起作用。
上述两种解决方案是我最好的选择,但它们让我失望了。我试图找出解决这个问题三天的方法,但无济于事。

0 投票
1 回答
1015 浏览

eclipse-cdt - TelosB Mote with MSP430 F1161 processor and FreeRTOS With Eclipse IDE errors troubleshooting

I spent lot of my time in basic setup. I do not know why it is so complicated in making a basic program to compile with FreeRTOS If there is any expert in this field please help me to fix these errors.

I dont get an idea how to explain my situation, I am tired after long 2 day trails. I am completely new to this area. so i am giving the screenshots of my errors below.

Errors

Errors

I got some kind of warning in this part of code

Updated:

I will try to express my self more brief,Few days back I started experimenting with TelosB Mote and Contiki OS, that set up was very easy and straight forward, even though I was new to this topic it took me only few minutes to set up complete Virtual System for compiling and downloading the code to hardware TelosB. I was happy to see my small application running on target hardware.

Right now, From more than 24 hours I am struggling to compile code for FreeRTOS using IAR Emmbeded Work Bench, I wasted lot of time over here and later tried to use eclipse, even it did not turn out well. Is it really possible for me to run FreeRTOS Demo on my target Hardware (TelosB Mote - Texas Instruments MSP430 micro controller ) I connect it to my PC using USB.

What I mean by Eclipse IDE is here in this link.

As far as I know I am not trying to make a new port, I am trying to compile the existing port. I also tried demo code that is given with freeRTOS

When I mean basic program, I mean demo here in case of FreeRTOS, because in the getting starting guide instructions for compiling demo for target hardware is given. TelosB datasheet

TelosB Mote

The the Problems that I faced in IAR Embedded Workbench IDE are below.

The project settings for target hardware are below

Settings

Settings for usb

the errors that I get while I try to download is shown below. enter image description here

The Connected USB Hardware that is shown in Device Manager

Detected USB Mote

0 投票
1 回答
1441 浏览

c - 从 p12 证书中提取和放置密钥

我有一个嵌入式设备,需要通过 wpa2 企业加密连接到路由器。
我需要替换文件中代码中的默认证书cacert.h , client-cert.h and client-key.h.密钥和证书必须如此硬编码。
我拥有一个client.p12文件,其内容需要以这三个文件或其任意组合分发。
谁能告诉如何从client.p12文件中提取上述密钥以及提取后哪些密钥去哪里?

0 投票
3 回答
2445 浏览

c - PIC24H 中的高速 UART 中断导致 FreeRTOS 错误

我已经FreeRTOS在一些嵌入式项目中使用了一年的时间,直到现在它工作得非常完美。目前我面临一个与使用高速中断FreeRTOS移植到相关的难题PIC24H,希望大家能帮助我解决这个问题。提前致谢

我创建了一个小型演示项目以便于测试:

两个任务:

任务执行:

为了让上述两个任务运行,我使用一个Timer和一个UART给他们信号量:

我的定时器每 100us 中断一次,UART 以 230400 bps 的波特率工作。

运行几秒钟或几分钟后,程序崩溃并且程序跳转到 Traps:

_AddressError或者

_StackError

我不知道这个问题怎么会发生。经过长时间的调查和测试,我认为问题发生在程序运行和运行中断服务例程(ISR)时。看来我们需要几个SAVE_CONTEXT()&RESTORE_CONTEXT()函数。但是在 PIC24 端口上没有这样的。

请你给我一些关于这个问题的建议

谢谢你们 !


我想我已经发现了我的问题。当 PIC24H 进入和退出中断服务程序时会引入问题,这里它们是 UART RX、TX、定时器中断。

目前我不使用这样的 ISR:

无效属性((中断,auto_psv))

我用汇编代码自己创建了一个机制,而不是它:

__U1RX中断:;将 CPU 寄存器推入堆栈

UART1_RxISRHandler 是我的 ISR 实现。我对 TX、定时器中断也是如此。

结果是我的程序运行更顺畅,时间更长 1 小时(仅在 1-5 分钟后程序崩溃)。但最后它在运行1-2小时后仍然崩溃。这意味着我的方法是正确的,但仍然有问题。可能是我错过了上面的代码。

如果大家对这种情况有任何理想,请告诉我。

谢谢