对应到这里的宏,第一条初始化语句为pos = rt_list_entry((head)->next, typeof(*pos), member);,是一个对pos的赋值语句,所以这里结合代码和上面的注释就能很容易知道第一个参数pos就类似普通for循环的循环变量。初始化又用到了另外一个宏rt_list_entry,此宏相关的代码如下: /** @brief get the struct ...
{charname[RT_NAME_MAX];/**< name of kernel object*/rt_uint8_t type;/**< type of kernel object*/rt_uint8_t flag;/**< flag of kernel object*/rt_list_t list;/**< list node of kernel object*/}; 在对象初始化时--rt_object_init()函数,会将该对象指针(rt_list_t list)插入到in...
/* 线程控制块 */struct rt_thread{/* rt 对象 */char name[RT_NAME_MAX];/* 线程名称 */rt_uint8_t type;/* 对象类型 */rt_uint8_t flags;/* 标志位 */#ifdefRT_USING_MODULEvoid*module_id;/**< id of application module */#endif rt_list_t list;/* 对象列表 */rt_list_t tlist;...
rtlist.exe is part of Microsoft® Windows® Operating System and developed by Microsoft Corporation according to the rtlist.exe version information. rtlist.exe's description is "Microsoft User-Mode Process Server Query Tool" rtlist.exe is digitally signed by Microsoft Corporation. ...
rt_list_init(&(thread->tlist));//双向循环链表的初始化 //下面是用参数给线程控制块赋值 thread->entry = (void *)entry;//函数指针赋值的时候发现地址本来是 thread->parameter = parameter; thread->stack_addr = stack_start; thread->stack_size = stack_size; ...
voidrt_system_scheduler_init(void){register rt_base_t offset;rt_scheduler_lock_nest=0;for(offset=0;offset<RT_THREAD_PRIORITY_MAX;offset++){rt_list_init(&rt_thread_priority_table[offset]);}rt_current_priority=RT_THREAD_PRIORITY_MAX-1;rt_current_thread=RT_NULL;/* initialize ready priority ...
其中,rt_list_t是一个双链表结点结构体,该结构体如下: 结构体数组(对象容器)rt_object_container中的对象链表初始化为: 其中,_OBJ_CONTAINER_LIST_INIT是一个宏,该宏内容如下: 代码语言:javascript 代码运行次数:0 运行 AI代码解释 #define_OBJ_CONTAINER_LIST_INIT(c)\{&(rt_object_container[c].object_li...
而rt_tick 随着硬件定时器的触发一直在增长(每一次硬件定时器中断来临,rt_tick 变量会加 1),50 个 tick 以后,rt_tick 从 20 增长到 70,与Timer1 的 timeout 值相等,这时会触发与 Timer1 定时器相关联的超时函数,同时将Timer1 从 rt_timer_list 链表上删除。
将字符串 str 分割成一个列表 list。 3.1.5 DefineGroup(name,src,depend,**parameters) 这是RT-Thread 基于 SCons 扩展的一个方法(函数)。DefineGroup 用于定义一个组件。组件可以是一个目录(下的文件或子目录),也是后续一些 IDE 工程文件中的一个 Group 或文件夹。
struct rt_object{char name[RT_NAME_MAX]; /* 内核对象名称 */rt_uint8_t type; /* 内核对象类型 */rt_uint8_t flag; /* 内核对象的参数 */#ifdef RT_USING_MODULEvoid *module_id; /* 应用程序模块 ID */#endifrt_list_t list; /* 内核对象管理链表 */};struct rt_ipc_object{struct rt...