rtthread
tony++
这个作者很懒,什么都没留下…
展开
-
Stm32F4XX开启FPU浮点运算
stm32开启FPU原创 2022-08-26 10:23:05 · 2869 阅读 · 3 评论 -
Rtthread event实现源码分析
Rtthread eventevent主要用于线程间通信,线程结构体中有thread->event_info成员,存放FLAG标志,当FLAG标志为RT_EVENT_FLAG_AND时,需要满足(thread->event_set & event->set) == thread->event_set 才能唤醒该线程当FLAG标志为RT_EVENT_FLAG_OR时,满足 thread->event_set & event->set 即可唤醒线程。原创 2022-04-23 17:00:32 · 436 阅读 · 0 评论 -
Rtthread信号量/互斥量实现分析
rtthread 信号量与互斥量原创 2022-04-23 15:54:55 · 596 阅读 · 0 评论 -
Rtthread kservice中的系列函数
Rtthread kservice中的系列函数/* global errno in RT-Thread */static volatile int __rt_errno;/* * This function will get errno * * @return errno *///errno获取函数rt_err_t rt_get_errno(void){ rt_thread_t tid; if (rt_interrupt_get_nest() != 0) {原创 2022-03-24 17:31:11 · 488 阅读 · 0 评论 -
Rtthread Timer管理
Rtthread Timer 模块/* hard timer list */static rt_list_t rt_timer_list[RT_TIMER_SKIP_LIST_LEVEL];/** * timer structure */struct rt_timer{ struct rt_object parent; /**< object 头部分 */ rt_list_t row[RT_TIMER原创 2022-02-26 11:12:36 · 485 阅读 · 0 评论 -
Rtthread线程源码分析
Rtthread线程源码分析/** * This function will create a thread object and allocate thread object memory * and stack. * * @param name the name of thread, which shall be unique * @param entry the entry function of thread * @param parameter the parameter of th原创 2022-02-16 14:38:20 · 1111 阅读 · 0 评论 -
Rtthread object管理
Rtthread object管理Rtthread 内核对象都使用rt_object来统一管理,rt_object对象拥有name, type, flag和list四个成员变量,通过list链表统一挂载到rt_object_information中管理。/** * Base structure of Kernel object */struct rt_object{ char name[RT_NAME_MAX]; /**<原创 2022-02-07 13:54:15 · 386 阅读 · 0 评论 -
Rtthread 内存管理
#define HEAP_MAGIC 0x1ea0struct heap_mem{ /* magic and used flag */ rt_uint16_t magic; rt_uint16_t used;#ifdef ARCH_CPU_64BIT rt_uint32_t resv;#endif rt_size_t next, prev;#ifdef RT_USING_MEMTRACE#ifdef ARCH_CPU_64BIT rt_uint原创 2022-01-27 16:42:10 · 1370 阅读 · 0 评论 -
STM32 Rtthread启动流程基于GNU交叉编译
STM32 Rtthread启动流程基于GNU交叉编译Rtthread并不是直接从main函数开始启动的,而是从componets.c中通过entry函数启动的://需要在board.c中开启这个宏RT_USING_USER_MAIN//我使用的时GNU编译器,所以入口函数在这,可以在ld命令中指定entry为入口地址,//也可以在startup_stm32f411xe.s中指定入口地址为entry/* Add -eentry to arm-none-eabi-gcc argument */i原创 2022-01-02 11:50:19 · 464 阅读 · 0 评论 -
Rtthread INIT_EXPORT宏的使用
Rtthread INIT_EXPORT宏的使用在rtthread源码中可以通过INIT_EXPORT宏实现函数自动被调用,其具体实现如下:/* initialization export */#ifdef RT_USING_COMPONENTS_INITtypedef int (*init_fn_t)(void); //申明函数指针类型#ifdef _MSC_VER /* we do not support MS VC++ compiler */ #define INIT_EXPORT(原创 2022-01-02 00:32:33 · 2435 阅读 · 1 评论