SundayRX 发表于 2023-1-27 09:07:24

学习一下 收藏一下

masure 发表于 2023-3-17 08:53:38

“首先准备好一个简单的 ThreadX 工程模板,工程模板的制作在 ThreadX 内核教程里面有详细说明”,这个简单的threadx工程模板在哪里讲的啊,没找到啊

eric2013 发表于 2023-3-18 10:04:16

masure 发表于 2023-3-17 08:53
“首先准备好一个简单的 ThreadX 工程模板,工程模板的制作在 ThreadX 内核教程里面有详细说明”,这个简单 ...


Hunter 发表于 2023-5-19 10:37:30

本帖最后由 Hunter 于 2023-5-19 14:53 编辑

请教,ThreadX RTOS 有没有自动化测试的工具?

厉飞雨 发表于 2023-5-22 15:32:31

只看到配套V6,V7,没有看到V5的板子

eric2013 发表于 2023-5-22 15:49:09

厉飞雨 发表于 2023-5-22 15:32
只看到配套V6,V7,没有看到V5的板子
看V6的教程就行,V5不再单独弄了。
V6是F429,V5是F407,他们是一样的。

fcz 发表于 2023-8-17 13:33:38

汉哥,请问一下关于arm内核,Cortex-M的知识在哪里看呀,您有没有出相关的教程呀

eric2013 发表于 2023-9-2 12:01:41

参数错误


xmetoo 发表于 2023-9-21 09:34:31

优秀的硬汉啊

guohongguang 发表于 2023-11-23 10:16:58

Eric,您好!
我在用Embedded Studio(V7.32 64-bit版本)编译你提供的 Threadx例程 V7-3003_ThreadX Task Debug Info
编译显示 SEGGER_RTT_SES.c文件中的int __putchar(int x, __printf_tag_ptr ctx) {...                函数编译出错,
错误为:unknown type name '__printf_tag_ptr'
麻烦您有空的时候帮忙看一眼。

SEGGER_RTT_SES.c文件中代码如下(没有任何修改):
#include "SEGGER_RTT.h"
#include "__libc.h"
#include <stdarg.h>
#include <stdio.h>

int printf(const char *fmt,...) {
char buffer;
va_list args;
va_start (args, fmt);
int n = vsnprintf(buffer, sizeof(buffer), fmt, args);
SEGGER_RTT_Write(0, buffer, n);
va_end(args);
return n;
}

int puts(const char *s) {
return SEGGER_RTT_WriteString(0, s);
}

int __putchar(int x, __printf_tag_ptr ctx) {
(void)ctx;
SEGGER_RTT_Write(0, (char *)&x, 1);
return x;
}

int __getchar() {
return SEGGER_RTT_WaitKey();
}

/****** End Of File *************************************************/

eric2013 发表于 2023-12-9 16:32:58

guohongguang 发表于 2023-11-23 10:16
Eric,您好!
我在用Embedded Studio(V7.32 64-bit版本)编译你提供的 Threadx例程 V7-3003_ThreadX Task ...
不好意思,刚注意到这里有个问题。

这个是是embedded studio版本兼容问题导致的,得使用5.5x才可以正常编译,如果是7.3得将工程里面的RTT相关文件删掉,然后这里选择这个即可


guohongguang 发表于 2023-12-11 17:27:04

eric2013 发表于 2023-12-9 16:32
不好意思,刚注意到这里有个问题。

这个是是embedded studio版本兼容问题导致的,得使用5.5x才可以正 ...

好的,多谢Eric,已验证OK。

zzyEmbed 发表于 2024-3-1 13:52:31

消息队列以后的代码链接都失效了吗?

嵌入式菜鸟^_^ 发表于 2024-4-23 10:39:54

请教一下,大佬们有尝试过先初始化threadx,在初始化MPU嘛(代码需求),在这种情况下我发现在调用tx_thread_sleep的时候,会导致systik卡死,所有任务将会一直处于阻塞状态

eric2013 发表于 2024-4-23 10:49:59

zzyEmbed 发表于 2024-3-1 13:52
消息队列以后的代码链接都失效了吗?

测试了下,是正常的。也可以到我们论坛置顶帖相应开发板网盘里面下载。

eric2013 发表于 2024-4-23 10:51:40

嵌入式菜鸟^_^ 发表于 2024-4-23 10:39
请教一下,大佬们有尝试过先初始化threadx,在初始化MPU嘛(代码需求),在这种情况下我发现在调用tx_threa ...

MPU最好优先初始化好。

后面配置也是没问题的,因为有个这种玩法,这个就是动态配置使用MPU的。

第5期ThreadX视频教程:单片机动态APP加载MPU玩法,隔离应用和系统,APP死机了系统也不会挂(2022-05-15)
https://www.armbbs.cn/forum.php?mod=viewthread&tid=112368

嵌入式菜鸟^_^ 发表于 2024-4-23 11:28:01

eric2013 发表于 2024-4-23 10:51
MPU最好优先初始化好。

后面配置也是没问题的,因为有个这种玩法,这个就是动态配置使用MPU的。


找到问题了,是后配置MPU同时,也配置了system_clock,在stm32h7xx_hal_conf.h中配置systick中断优先级为0x0F,覆盖了threadx里面_tx_initialize_low_level中systick优先级配置,导致systick和pendsv中断优先级一样,所以systick会出现无法正常触发。感谢大佬回复

eric2013 发表于 2024-4-23 15:22:42

嵌入式菜鸟^_^ 发表于 2024-4-23 11:28
找到问题了,是后配置MPU同时,也配置了system_clock,在stm32h7xx_hal_conf.h中配置systick中断优先级为 ...

谢谢告知问题原因。

hekaidi 发表于 2024-4-29 10:49:51

您好,我看ThreadX创建消息队列函数tx_queue_create,第三个形参 message_size,解释为:消息队列每个消息的大小,消息大小范围 1-16,每个消息 4 字节也就是(4Byte - 64Byte),如果传输一个结构体,大小超过64Byte是不能用了吗,                                       
但是看源代码内容,并没有对这个message_size大小做任何限制

zzyEmbed 发表于 2024-5-6 10:24:59

硬汉哥,请问ThreadX的模块管理器与模块栈空间独立,如何使模块管理器调用模块中定义的回调函数呢?
页: 1 2 3 4 [5]
查看完整版本: 【安富莱】ThreadX内核教程更新记录帖,共计23章节,已经完结(2021-08-30)