硬汉嵌入式论坛

 找回密码
 立即注册
查看: 659|回复: 5
收起左侧

[ThreadX全家桶] threadx如何调用核心的接口,和文件系统界面交互,定制模组ui

[复制链接]

1

主题

3

回帖

6

积分

新手上路

积分
6
发表于 2025-1-15 16:13:44 | 显示全部楼层 |阅读模式
本帖最后由 borlandong 于 2025-1-17 14:21 编辑

这个问题不太清楚,比如板子上已经下载了threadx核心和部分应用以及驱动的代码,而threadx的模块是单独编译加载运行的,
1、这时候这些单独编译的模块如何调用驱动的接口函数呢,
2、如何调用guix的接口函数呢,不能都用[color=var(--color-prettylights-syntax-entity)]txm_module_application_request通过id调用吧,
烦请大佬解惑啊?

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116230
QQ
发表于 2025-1-16 07:42:09 | 显示全部楼层
1、需要注册函数
2、需要注册GUIX的接口函数才可以使用。
回复

使用道具 举报

1

主题

3

回帖

6

积分

新手上路

积分
6
 楼主| 发表于 2025-1-16 13:40:48 | 显示全部楼层
eric2013 发表于 2025-1-16 07:42
1、需要注册函数
2、需要注册GUIX的接口函数才可以使用。

感谢铁汉回复,具体是什么样的做法,怎么注册,有没有什么例子可以参考一下,读了modules的相关文档,也没个思路
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116230
QQ
发表于 2025-1-17 06:58:09 | 显示全部楼层
borlandong 发表于 2025-1-16 13:40
感谢铁汉回复,具体是什么样的做法,怎么注册,有没有什么例子可以参考一下,读了modules的相关文 ...

这个里面简单整理过

第4期ThreadX视频教程:单片机动态APP加载玩法,像手机电脑一样加载卸载多个应用软件(2022-05-01)
https://www.armbbs.cn/forum.php?mod=viewthread&tid=112203

评分

参与人数 1金币 +10 收起 理由
borlandong + 10 赞一个!

查看全部评分

回复

使用道具 举报

1

主题

3

回帖

6

积分

新手上路

积分
6
 楼主| 发表于 2025-1-17 14:14:49 | 显示全部楼层
eric2013 发表于 2025-1-17 06:58
这个里面简单整理过

第4期ThreadX视频教程:单片机动态APP加载玩法,像手机电脑一样加载卸载多个应用 ...

我整理了一下,感觉这个module要结合guix,有太多事要做了,所有module和resident内的代码都需要在_txm_module_manager_kernel_dispatch里面分发,
看上去模块调用了tx_thread_sleep之类的函数,其实和kernel的resident应用调用的不是同一个实现,在module_lib中有自己的实现,最后还是通过ID去调用真正的tx_thread_sleep,
所有模块开发要定义很多ID,然后去实现_txm_module_manager_application_request,_txm_module_manager_filex_dispatch,_txm_module_manager_guix_dispatch这些接口,处理各种ID的case



看了module的编译,在模块加载时也没有查找任何动态链接的符号,也就是不可能直接调用kernel段resident应用的接口,模块初始化调用的gcc_setup在处理GOT表的时候,
其实仅更新了参与模块编译链接的内部符号的PIC目标无关代码的位置,所以所有和filex,guix,usbx相关的功能都要自己先封装成ID,给出接口让模块端使用


我怀疑这种方式,在模块端很难方便地开发独立的ui界面出来,因为通过guix studio生成的代码已经和kernel的resident一起编译执行了,总不能在模块端再来一套guix studio生成的文件
怎么样能让模块定义自己的ui,还要需要研究

gcc_setup对GOT表的更新

gcc_setup对GOT表的更新

module ID 的处理

module ID 的处理

module的sleep实现

module的sleep实现
回复

使用道具 举报

23

主题

336

回帖

405

积分

高级会员

积分
405
发表于 2025-1-17 16:09:19 | 显示全部楼层
borlandong 发表于 2025-1-17 14:14
我整理了一下,感觉这个module要结合guix,有太多事要做了,所有module和resident内的代码都需要在_txm_m ...

而且module调试起来很困难,基本上靠打印和猜
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-6-10 23:32 , Processed in 0.249934 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表