rt-thread icon indicating copy to clipboard operation
rt-thread copied to clipboard

RT-Thread is an open source IoT real-time operating system (RTOS).

Results 626 rt-thread issues
Sort by recently updated
recently updated
newest added

RT-Thread是一个基于社区的开源实时操作系统。RT-Thread代码的不断迭代和发展离不开社区小伙伴的积极贡献和提交代码。 但是一些社区小伙伴可能由于对RT-Thread代码不了解而导致不知道怎么向RT-Thread仓库提交代码。这里给大家做一个简单介绍。 RT-Thread主仓库就是你目前看到的这个仓库:https://github.com/RT-Thread/rt-thread , 我们主要在github下面维护和合并代码。同时,gitee也有同步镜像源,方便网络不通畅的小伙伴访问:https://gitee.com/rtthread/rt-thread 如果想要提交PR,在网络允许的情况下,尽量向RT-Thread github主仓库提交PR。如果网络条件不允许,也可以向gitee仓库提交PR,在review(检视)没有问题后,我们在将其同步到github下面并合并。 如果你刚开始接触RT-Thread,对RT-Thread代码还没有一个清晰的了解,但是非常想要为RT-Thread贡献代码,不妨尝试一下如下的**新手任务**。新手任务不会触及到核心代码的修改,你可以放心大胆的去改写,并且在完成新手任务的过程中,你可以充分了解git相关知识、如何提交PR、以及RT-Thread代码风格和PR提交流程等相关基本内容。在提交PR的过程中,也会慢慢深入的去学习RT-Thread. 如果你是新手,请按照以下顺序阅读相关视频、文档资料来学会如何给RT-Thread提交PR,并尝试下面的新手PR任务。 1. https://www.bilibili.com/video/BV1gr4y1w7yX 该视频教你怎么避免复杂的git命令行,基于图形化git来提交PR 2. https://github.com/RT-Thread/rt-thread/pull/5890 该PR给出了一个简单的新手PR模板 基本上阅读完上面两个资料,你给RT-Thread提交一个简单的PR就没有什么问题啦,后面的内容其实通过边提交PR就可以边学习到,另外如果有空也可以阅读一下[文档中心关于提交PR的内容](https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/development-guide/github/github) ---------------- **扩展阅读** : 小伙伴在论坛的经验贴 1. [[学习分享] 记录开源小白的第一次 PR](https://club.rt-thread.org/ask/article/5a3155877b44066c.html) 2. [如何快速向RT-Thread提一个PR:以CI为例](https://club.rt-thread.org/ask/article/0b4c0d3b999554d0.html) 3. [向RT-Thread 提交Pull Request(PR)](https://club.rt-thread.org/ask/article/4d422a00e769ab2b.html)

good first issue

在进行cortex-a cpu 测试的时候,当开启smp 功能,在 rt_hw_init_mmu_table ---> rt_aspace_init ---> _init_lock ---> rt_object_init 中会调用 rt-thread\libcpu\arm\cortex-a\cpuport.c 中的 rt_hw_spin_lock 函数,此时cortex-a cpu 中的 SCTLR 中关闭了dcache 与 mmu bit ,对于某些cortex-a的cpu 来说此时memory type 为 Strongly Ordered ,...

``` /* get highest priority inside its taken object and its init priority */ rt_inline rt_uint8_t _thread_get_mutex_priority(struct rt_thread* thread) { rt_list_t *node = RT_NULL; struct rt_mutex *mutex = RT_NULL; rt_uint8_t...

昨天我朋友尝试用duo移植RT-Thread Smart,后面他说出现了报错。我跟着尝试了一下,发现确实存在这个问题。之后我修改了components/dfs/dfs_v2/filesystems/devfs/devfs.c文件中的285行,315行,347行,378行,420行的ops为fops。最终编译通过了,上机测试也没有问题。 ![cd0d3934d3551ab2fb7eb443fd30332](https://github.com/RT-Thread/rt-thread/assets/94902811/4b0efd14-529b-4757-8bf2-950ddc71d513) 可能是某位大佬写的时候不小心将ops和fops弄混了。 ![10ed4bd4a06d4ce2a9f1be37240fbdc](https://github.com/RT-Thread/rt-thread/assets/94902811/8181edc0-121a-4593-a332-4187edefd39d)

版本:master分支最新commit 背景:结合两次修复历史(https://github.com/RT-Thread/rt-thread/pull/6232 与 https://github.com/RT-Thread/rt-thread/issues/8050) 都是针对ready list add 成员时做出的修复,其中rt_schedule_insert_thread函数中代码如下: /* there is no time slices left(YIELD), inserting thread before ready list*/ if((thread->stat & RT_THREAD_STAT_YIELD_MASK) != 0) { rt_list_insert_before(&(rt_thread_priority_table[thread->current_priority]), &(thread->tlist)); } /*...

出发点是看到了在[这个PR](https://github.com/RT-Thread/rt-thread/pull/8042#discussion_r1365147424)中的讨论,其中提到的 `int32 数据赋值在对齐时本来就是原子的` 与我印象中不符,于是查阅了一些资料与各位开发者分享,也希望听听大家的意见。 简单总结一下就是,C/C++中的“赋值”操作并不是原子的,不论从编译器实现上还是语言标准规定上皆是如此,而且变量的地址对齐与否并不影响该结论。 具体可以参考[这篇文章](https://preshing.com/20130618/atomic-vs-non-atomic-operations/) 其中详细解释了引起非原子性的原因。 针对rt-thread中大量存在(maybe)的“直接赋值当成原子操作”的行为,是否有必要集中做一次修改?

The Linux kernel spinlock will try to lock before each spinlock. This attempt to lock can bring performance gains under fierce lock competition. Refer to the following kernel code: ```c...

## 拉取/合并请求描述:(PR description) [ #### 为什么提交这份PR (why to submit this PR) #### 你的解决方案是什么 (what is your solution) #### 请提供验证的bsp和config (provide the config and bsp) - BSP: - .config: - action:...

proposal
discussion

## 拉取/合并请求描述:(PR description) [ #### 为什么提交这份PR (why to submit this PR) #### 你的解决方案是什么 (what is your solution) #### 请提供验证的bsp和config (provide the config and bsp) - BSP: - .config: - action:...