news 2026/6/10 19:51:04

移远 api对应的内核映射函数地址解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
移远 api对应的内核映射函数地址解析

qos_app_api_map.c代码

static _api_qosa_task_sleep_ms_t m_qosa_task_sleep_ms = NULL; void qosa_task_sleep_ms(qosa_uint32_t ms ) { if(NULL ==m_qosa_task_sleep_ms) { int ptr =m_get_api_ptr((char *)__FUNCTION__); if(0 == ptr) { SDK_API_DEBUG_NOTSUP(); return; } m_qosa_task_sleep_ms = ( _api_qosa_task_sleep_ms_t)ptr; } m_qosa_task_sleep_ms(ms); }

ql_app_pre_init.c

_get_api_ptr_t m_get_api_ptr = NULL; int qos_app_preboot(void *argv) { qos_app_rw_section_init(); qos_app_zi_section_init(); ql_boot_para *boot_para = (ql_boot_para *)argv; ql_static_mapping* static_mapping = boot_para->static_maping; table_size = *((func_mapping *)boot_para->kernel_maping)->table_size; if(table_size !=0) { m_get_api_ptr=((func_mapping *)boot_para->kernel_maping)->get_fun_ptr_dep_name; } ql_trace = static_mapping->trace; ql_printf = static_mapping->printf; ql_trace("trace test\r\n"); return 1; }

unirtos_sys.h

extern void qosa_task_sleep_ms(qosa_uint32_t ms); typedef void (* _api_qosa_task_sleep_ms_t)(qosa_uint32_t ms);

ql_open_app_init.h

typedef struct func_map { uint32_t *table_size; void *get_fun_ptr_dep_name; //add system info here }func_mapping;

上面代码只贴了跟本文相关的代码片段

里面用到了ptr =m_get_api_ptr((char *)__FUNCTION__),AI解释如下:

先定位两件事:1)m_get_api_ptr 在哪里被“定义/赋值”(函数指针变量最终指向哪个函数);2)你选中那段里 ptr 的具体类型与用法(通过读 qos_app_api_map.c 的对应行)。

Searched regular expressions and read source code
我已经定位到了:m_get_api_ptr 不是一个普通函数,而是一个“函数指针变量”;它在启动预初始化阶段被赋值为“内核侧提供的符号查找函数”。你选中的 ptr 本质上是“查到的目标 API 的函数地址”。

下面把两个问题说清楚:实现在哪里、ptr 表示什么。1) m_get_api_ptr “实现/赋值”在哪里?

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/9 18:38:24

springboot善筹网(众筹)前后台实现设计(11679)

有需要的同学,源代码和配套文档领取,加文章最下方的名片哦 一、项目演示 项目演示视频 二、资料介绍 完整源代码(前后端源代码SQL脚本)配套文档(LWPPT开题报告)远程调试控屏包运行 三、技术介绍 Java…

作者头像 李华
网站建设 2026/5/1 5:26:07

springboot医疗挂号管理系统(11680)

有需要的同学,源代码和配套文档领取,加文章最下方的名片哦 一、项目演示 项目演示视频 二、资料介绍 完整源代码(前后端源代码SQL脚本)配套文档(LWPPT开题报告)远程调试控屏包运行 三、技术介绍 Java…

作者头像 李华
网站建设 2026/6/10 18:16:59

Redis集群:主从复制模型为何是高可用性基石?

文章目录Redis集群的主从复制模型是怎样的?一、 Redis 集群的基本结构1. 主节点(Master)2. 从节点(Slave)二、 Redis 集群中的主从复制模型1. 数据同步机制2. 故障转移机制三、 Redis 集群的主从复制流程1. 初始化阶段…

作者头像 李华
网站建设 2026/6/8 17:57:28

导师推荐!MBA论文写作痛点破解TOP8 AI论文写作软件

导师推荐!MBA论文写作痛点破解TOP8 AI论文写作软件 2026年MBA论文写作工具测评:精准破解学术痛点 随着MBA课程日益深入,论文写作成为学生必须面对的重要环节。然而,从选题构思到文献综述,再到逻辑梳理与格式规范&#…

作者头像 李华
网站建设 2026/6/5 5:42:05

批量抠图与人像分割新选择|基于科哥开发的CV-UNet大模型镜像

批量抠图与人像分割新选择|基于科哥开发的CV-UNet大模型镜像 1. 引言:一键抠图技术的演进与需求升级 随着电商、内容创作、影视后期等行业的快速发展,图像背景移除(Image Matting)已成为高频刚需。传统手动抠图效率低…

作者头像 李华
网站建设 2026/6/10 1:54:27

吐血推荐专科生必用AI论文工具TOP10

吐血推荐专科生必用AI论文工具TOP10 专科生必备AI论文工具测评:2026年权威榜单出炉 随着AI技术在学术领域的广泛应用,越来越多的专科生开始借助智能写作工具提升论文效率与质量。然而,面对市场上琳琅满目的AI论文工具,如何选择真…

作者头像 李华