RTThread 入门

目录

目录

RT-Thread Studio 中英文界面切换 

RT-Thread动静态内存区别

c 事项


RT-Thread Studio 中英文界面切换 

  • 使用 MSH_CMD_EXPORT(<函数名称>,<描述、注释 >); 导出到msh命令

 

RT-Thread动静态内存区别

RT-Thread 的内存管理分为静态内存管理和动态内存管理,提供内存初始化、分配、释放等功能但是各有优缺点。
动态内存:在动态内存池中分配用户指定大小的内存块。
优点:按需分配,在设备中灵活使用。
缺点:内存池中可能出现碎片。
静态内存:在静态内存池中分配用户初始化时预设(固定)大小的内存块
优点:分配和释放效率高,静态内存池中无碎片。
缺点:只能申请到初始化预设大小的内存块,不能按需申请。

#ifdef RT_USING_HEAP
    /* 使用动态内存 */ //                                          (1)
    tid =rt_thread_create("main",
                        main_thread_entry,
                        RT_NULL,
                        RT_MAIN_THREAD_STACK_SIZE,
                        RT_THREAD_PRIORITY_MAX / 3,     (初始线程优先级)
                        20);
    RT_ASSERT(tid != RT_NULL);
#else
    /* 使用静态内存 */ //                                          (3)
    rt_err_t result;

    tid = &main_thread;
    result =rt_thread_init(tid,
                    "main",
                    main_thread_entry,
                    RT_NULL,
                    main_stack,
                    sizeof(main_stack),
                    RT_THREAD_PRIORITY_MAX / 3,      (初始线程优先级)
                    20);
    RT_ASSERT(result == RT_EOK);
    (void)result;
#endif

c 事项

结构体等的类型定义以结构体名称加上 “_t” 的形式作为名称,例如:

    typedef struct rt_list_node rt_list_t;

因为内核中对象引用方便的缘故,采用了对象内核指针作为类型定义的形式,例如:

    typedef struct rt_timer* rt_timer_t;

内部静态函数命名:以下划线开头,使用 _class_method 格式,不携带_rt_开头,如内核或驱动文件中的函数命名:

/* IPC object init */
static rt_err_t _ipc_object_init()

/* UART driver ops */
static rt_err_t _uart_configure()
static rt_err_t _uart_control()      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值