rt-thread
rt-thread copied to clipboard
RT-Thread is an open source IoT real-time operating system (RTOS).
使用环境STM32F103, iar开发环境,PWM用作电机控制 1. 按照说明文档配置后 PWM无输出问题,经排查为未配置PWM输出 [[pwm_config.h](https://github.com/meng-plus/rt-thread/blob/efc1a57bc9b0ac5c9f38c6c711418bd473d89b0c/bsp/stm32/libraries/HAL_Drivers/config/f1/pwm_config.h#L26)](https://github.com/meng-plus/rt-thread/blob/efc1a57bc9b0ac5c9f38c6c711418bd473d89b0c/bsp/stm32/libraries/HAL_Drivers/config/f1/pwm_config.h#L26) ```c #define PWM1_CONFIG \ { \ .tim_handle.Instance = TIM1, \ .name = "pwm1", \ .channel = RT_NULL \ } ``` **.channel** 默认配置全为RT_NULL,而经过排查源码发现此处的配置决定了通道的开关,但是此处的源码为所有STM32单片机公用,也就无法自定义修改,但是只有 https://github.com/meng-plus/rt-thread/blob/efc1a57bc9b0ac5c9f38c6c711418bd473d89b0c/bsp/stm32/libraries/HAL_Drivers/drv_pwm.c#L424-L433 处有对PWM通道进行配置。...
ulog支持打印调用所在的函数以及文件和行数. 如果一起都打印出来会导致日志内容过场,可以分别定义三个宏,用户可以自由决定开启打印 函数 文件名 行数
## 拉取/合并请求描述:(PR description) [ 如果一个线程不是调用rt_thread_delay等函数主动进入挂起状态,不是在rt_schedule函数中放弃运行, 那么其他线程给它发信号时,它是不会执行信号处理函数的。 这个Bug的原因在于:在_signal_deliver函数中,发现目标线程处于挂起状态时, 只做了3件事:把它唤醒、设置线程状态为RT_THREAD_STAT_SIGNAL_PENDING、调用rt_schedule。 我们期望目标线程被唤醒后,从rt_schedule继续运行时,发现线程状态为RT_THREAD_STAT_SIGNAL_PENDING时调用信号处理函数。 但是,目标线程挂起时,不一定是在rt_schedule函数中放弃运行,比如它可能是被其他线程调用rt_thread_suspend挂起的。 这时候,目标线程不会执行信号处理函数。 #### 为什么提交这份PR (why to submit this PR) #### 你的解决方案是什么 (what is your solution) 修改了src/signal.c,即使目标线程处于挂起状态,也是去修改它的栈。 #### 在什么测试环境下测试通过 (what is the...
While trying to use RT-Thread with rp2040 I found in SMP configuration it can happen that ```current_thread``` gets inserted back into the ready thread list before context switch can occur....
rt-thread commit: 166c83f37 bsp: qemu-vexpress-a9 toolchain: arm-none-eabi-gcc (15:8-2019-q3-1+b1) 8.3.1 20190703 (release) [gcc-8-branch revision 273027] QEMU version: QEMU emulator version 5.2.0 (Debian 1:5.2+dfsg-11+deb11u2) 使用qemu-nographic.sh沒有問題,但是用了QEMU-dbg.sh就會報下面錯誤 ``` WARNING: Image format was not specified...
新版本scons编译报错  注释掉下面这行代码可以正常使用 
芯片: qemu riscv BSP: qemu-virt64-riscv RT-Thread v5.0.0 toolchain: riscv64-unknown-elf-gcc ```txt error message: AS build/kernel/libcpu/risc-v/virt64/context_gcc.o /home/tjwu1217/rt-thread/libcpu/risc-v/virt64/cpuport.h: Assembler messages: /home/tjwu1217/rt-thread/libcpu/risc-v/virt64/cpuport.h:53: Error: unrecognized opcode `typedef union{' /home/tjwu1217/rt-thread/libcpu/risc-v/virt64/cpuport.h:54: Error: unrecognized opcode `unsigned long slock'...
其中4.1.0上电即异常,打印输出如下: [09:48:22.840]收←◆ \ | / - RT - Thread Operating System / | \ 4.1.0 build Aug 31 2023 09:48:05 2006 - 2022 Copyright by RT-Thread team (rt_object_get_type(&m->parent) == RT_Object_Class_Memory)...
芯片:stm32f103cb 工具链:rt-studio 2.2.7 平台:win10 rtthread settings里面使能webclient软件包 配置如截图所示  编译错误输出  ../packages/mbedtls-v2.7.10.2/ports/src/tls_net.c:76:23: fatal error: sys/ioctl.h: No such file or directory
在使用 imxrt1061的timer做验证时出现的问题,以下是测试代码: ```c static rt_err_t timer1_callback(rt_device_t dev, rt_size_t size) { static rt_uint32_t count = 0; rt_hwtimerval_t timeout = {0}; rt_device_read(dev, 0, &timeout, sizeof(timeout)); rt_kprintf("this is timer1 callback read: sec =...