RT-Thread Kernel Service Library 仅提供内核用到的一小部分 C 库函数实现,为了避免与标准 C 库重名,在这些函数前都会添加上 rt_ 前缀。 实时内核的实现包括:对象管理、线程管理及调度器、线程间通信管理、时钟管理及内存管理等等,内核最小的资源占用情况是 3KB ROM,1.2KB RAM。 1.1线程调度 线程是 RT-...
内核介绍 这个就是RT的内核构成了,主要实现了对象管理、线程管理及调度器、线程间通信管理、时钟管理及内存管理等等,可以说功能比较强大了,而且值得一说的是,内核最小的资源占用情况是 3KB ROM,1.2KB RAM,这就使得可以在资源有限的空间上发挥强大的功能。 线程调度 线程是 RT-Thread 操作系统中最小的调度单位,线...
就以rt-thread内核代码为例(注,指rt-thread的kernel代码),大约有8500行代码。直接阅读显然是很容易陷入代码中的。所谓工欲善其事,必先利其器,我推荐使用下面的工具来阅读。 MDK/IAR/其他集成开发环境,最好支持软件仿真,我使用MDK4.0 强大的代码阅读软件source insight 一个笔记本,随时用来记录自己的一些想法,感悟,...
* Base structure of Kernel object */ struct rt_object { char name[RT_NAME_MAX]; /**< name of kernel object */ rt_uint8_t type; /**< type of kernel object */ rt_uint8_t flag; /**< flag of kernel object */ #ifdef RT_USING_MODULE void *module_id; /**< id of application...
* Base structure of Kernel object */structrt_object{charname[RT_NAME_MAX];/**< name of kernel object */rt_uint8_ttype;/**< type of kernel object */rt_uint8_tflag;/**< flag of kernel object */#ifdefRT_USING_MODULEvoid*module_id;/**< id of application module */#endifrt_list...
1.加载RT-Thread Kernel:在主界面点击“ManageRun-Time Environment”按钮即可进入加载页。 图7:ManageRun-Time Environment 在“RTOS”一栏中选中“RT-Thread”,并在列表中选中“kernel”,当前版本为2.1.2。 图8:RT-Thread kernel选择 2.确定后,keil界面上会加载RT-Thread的kernel文件,更根据当前选择芯片类型加入已...
mb->msg_pool = (rt_ubase_t*)RT_KERNEL_MALLOC(mb->size *sizeof(rt_ubase_t));if(mb->msg_pool == RT_NULL) {/* delete mailbox object */rt_object_delete(&(mb->parent.parent));returnRT_NULL; } mb->entry =0; mb->in_offset =0; ...
ckernel 跳转至kernel文件夹 cmodoule 跳转至模块文件夹 。。。(更多操作,可以看环境脚本“envsetup.sh”中的function有哪些) 1. 2. 3. 4. 5. 6. 7. ——— 作者@waxly- 原文链接:https://blog.csdn.net/qq_43280079/article/details/127189338...
Kernel文件包括: clock.c components.c device.c idle.c ipc.c irq.c kservice.c mem.c object.c scheduler.c thread.c timer.c Cortex-M芯片内核移植代码: cpuport.c context_rvds.s 应用代码及配置文件: board.c rtconfig.h 三、修改源码适配机智云Gokit ...
RT_KERNEL_FREE(thread->stack_addr); /* delete thread object */ rt_object_delete((rt_object_t)thread); main线程退出 上面梳理了线程的退出,僵尸线程的处理流程,main线程的退出,基本上也可以梳理流程了 静态的main线程,未使能:RT_USING_HEAP,退出后,内存资源不会释放。