ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

嵌入式知识

嵌入式知识 提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档文章目录前言一、编译器二、任务1.k_recycle_task_init() 回收任务解析2.k_idle_task_init() 空闲任务解析3._k_sys_task_init() 系统任务解析4.从 os_first_task_start() 到汇编的跳转过程总结前言提示以下是本篇文章正文内容下面案例可供参考一、编译器ARM 编译器钩子S u b SubSub$main是编译器提供的一种函数入口替换机制允许开发者在用户 main 函数执行前插入自定义初始化代码甚至完全劫持 main 入口用于 RTOS 启动而不需要修改编译器库或启动文件。S u p e r SuperSuper$main指向原始的 main 函数。S u b SubSub$main替换 main 的入口点先执行它再调用S u p e r SuperSuper$main。编译器在链接时会将用户定义的 main 重命名为S u p e r SuperSuper$main将S u b SubSub$main 作为新的 main 入口二、任务1.k_recycle_task_init() 回收任务解析k_recycle_task_init() 创建的是 OneOS 的 回收任务Recycle Task它是一个专门负责回收已终止任务资源的系统任务。回收任务的优先级是 0这是系统最高优先级2.k_idle_task_init() 空闲任务解析k_idle_task_init() 创建的是 OneOS 的 空闲任务Idle Task它是系统中优先级最低的任务在 CPU 没有其他任务需要运行时执行。空闲任务是系统中优先级最低的任务3._k_sys_task_init() 系统任务解析_k_sys_task_init() 创建的是 OneOS 的 系统任务System Task它是系统启动过程中最后一个被创建的系统任务负责执行剩余的自动初始化并最终调用用户应用程序。sys 任务 最高优先级最后创建调度器会首先运行它。_k_sys_task_init() 创建了系统最高优先级的系统任务sys_task该任务在调度器启动后立即运行执行剩余的自动初始化level 3~7最终通过 app_entry() 调用用户的 main() 函数进入用户应用程序执行完毕后自动退出由回收任务回收其资源。4.从 os_first_task_start() 到汇编的跳转过程os_first_task_start() 是一个汇编函数它和 k_start() 不在同一个文件中。跳转过程由链接器完成而不是由 C 代码中的函数调用完成。k_start会执行 os_first_task_start()该汇编函数在arch_task.h中声明。总结提示这里对文章进行总结例如以上就是今天要讲的内容本文仅仅简单介绍了pandas的使用而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。
返回列表