Commit Graph

4087 Commits

Author SHA1 Message Date
zhkag 0f85648cfb
Improve timer accuracy and realize (#6926)
* add cputimer frame

* add cputime sleep

* ctime use cputime

* Processing cputime has no timeout function

* Migration cputime Code

* formatting file

* 整理代码

* add document copyright information

* 改 cputime_timer 为 cputimer

* 简化 _cputimer_list 初始化

* rt_cputimer_create -> rt_cputimer_init

* Remove RT_USING_CPUTIME and code cleanup.

* Remove RT_USING_CPUTIME in cputimer.c
* Set set_next_timeout as static function.

---------

Co-authored-by: Bernard Xiong <bernard.xiong@gmail.com>
2023-02-15 20:46:22 +08:00
Shell 2d09749086
[rt-smart] PV_OFFSET as a variable (#6904)
* [rt-smart/mem] remove pv_offset

* [rt-smart] list kernel space command

* [rt-smart] restore ioremap region

* [revert] restore kernel space isolation

* [rt-smart/pv_off] code format

* [rt-smart] add get_pvoff()

* [pvoffset] pvoff as constant for C codes

* [pvoff] pvoff as interfaces
2023-02-14 23:08:32 +08:00
Bernard Xiong fc1aced665
[FDT] Fix POSIX compatibility for string.h (#6923)
* [FDT] Fix POSIX compatibility for string.h

* [FDT] format libfdt code.

* [FDT] format libfdt code.
2023-02-13 16:36:16 +08:00
guozhanxin 03bcd0701c [ci] fix build error. 2023-02-13 10:56:17 +08:00
Moss c55e6694db [devicedrivers] Fix typo in sfud error messages 2023-02-12 14:07:46 -05:00
liYangYang 1eec660b12
[spi]添加rt_spi_bus_attach_device_cspin 函数 (#6916)
这个函数实现了原先的挂载功能,并且调用pin框架,初始化cs引脚,是一个功能相对完善的挂载函数。用户也能更简单的使用。
该函数取代rt_spi_bus_attach_device,后续rt_spi_bus_attach_device会被逐渐淘汰掉。新的BSP以及软件包应当使用rt_spi_bus_attach_device_cspin新函数。

STM32L475潘多拉测试通过。
2023-02-11 22:14:54 -05:00
zhkag 657cbfdac7 修复编译警告 2023-02-09 15:21:17 +08:00
螺丝松掉的人 20459ec4d3
[ringbuffer] ringbuffer size boost to 32bit (#6915)
* ringbuffer size boost to 32bit
* 添加ringbuffer测试demo
related: #682
----
Co-authored-by: Zxy <1308465141@qq.com>
Co-authored-by: Man, Jianting (Meco) <920369182@qq.com>
2023-02-08 22:55:52 -05:00
Meco Man f58d3c5200 rt_device_write/read return data type as rt_ssize_t
rt_ssize_t can give negative error code, which follows the unix style correctly
2023-02-07 21:43:57 -05:00
geniusgogo 890c1c9264 fixed syscall errno return. 2023-02-07 12:05:48 -05:00
zhkag 7c1d6ffd3c add clock_cpu_settimeout function 2023-02-07 15:51:11 +08:00
zhkag f4e9ec82bb 修复纳秒微妙混用转换错误 2023-02-07 15:48:47 +08:00
zhkag bdd6811230 移除无用代码 2023-02-07 13:49:03 +08:00
zhkag edd9c6721f add timer lock 2023-02-07 13:49:03 +08:00
zhkag 7a1ad00aac update timer 2023-02-07 13:49:03 +08:00
xqyjlj 312eb0c412 🌈 style(components/dfs/filesystems/tmpfs/dfs_tmpfs.c): fix style 2023-02-07 11:31:15 +08:00
xqyjlj da8f5c08c2 🐞 fix(components/dfs/filesystems/tmpfs/dfs_tmpfs.c): cannot open the same file repeatedly in 'w' mode 2023-02-07 11:31:15 +08:00
Bernard Xiong 98e0c58527
Add ADT Kconfig and fix MMU kconfig issue in Cortex-A (#6901)
* Add ADT Kconfig and fix MMU kconfig issue in Cortex-A

* [BSP] enable ADT
2023-02-06 01:11:04 +08:00
Zxy fb8e9ea93a
[sensor] 修复命令交互使用日志输出API的问题 (#6895)
命令交互应使用rt_kprintf,而非LOG_x
2023-02-02 20:56:10 -05:00
soym 450cd68a4a fix typo https://github.com/armink/SFUD/pull/79 2023-01-29 21:21:44 -05:00
chenhy0106 9db73a47c4
为c906添加asid支持 (#6870)
* [rt-smart] asid for c906
2023-01-28 13:08:40 -05:00
bernard af143ee3f9 [devicedrivers] fix the partition issue in mmc/sdio 2023-01-23 19:16:28 -05:00
wdfk-prog da0c8a6d0a [Ymodem]sy命令支持绝对路径传输
* 接收错误流程优化
2023-01-22 20:07:03 -05:00
褚仕成 634ac13c12 Fix the comment in finsh_set_prompt_mode 2023-01-20 23:44:38 -05:00
liYangYang 63294afc9d
[stm32][softspi]soft spi attach函数问题解决方案 (#6868)
* [softspi]soft spi attach函数问题解决方案

* 更改函数名
2023-01-18 22:03:48 -05:00
liYangYang 7ff64c1cfd
[stm32][spi] spi attach函数问题解决方案 (#6864)
attach #6819
2023-01-18 00:27:08 -05:00
Shell f0dadcb3c3
[rt-smart] porting c906 and D1s to mm (#6848)
* [rv64/bsp] porting to mm

* [mm] report more info for debugging

* [fix] code format

* [libcpu/c906] porting to RTOS

* [fix] using rtdbg api

* [fix] add return

* [fix] report more information for debugging

* [fix] use assert 0 for unrecoverable error
2023-01-16 08:24:03 +08:00
Shell b2402029b2
[rt-smart][fix/lwp] don't restore terminal for background lwp (#6847)
* [fix/lwp] don't restore term for background lwp
2023-01-13 09:48:43 +08:00
Shell 12189d533a
[rt-smart/mm] enable mm on armv7, armv8, rv64 only (#6834)
* [mm] enable mm on armv7, armv8, rv64 only

* [mm] config on ARCH_MM_MMU
2023-01-11 16:24:51 +08:00
xieyangrun 21472e3ff0 fix cputime and ctime. 2023-01-10 10:03:35 +08:00
wangxiaoyao 93dd8c6c6e [rt-smart] fix warnings 2023-01-10 09:37:22 +08:00
Meco Man 9bc68d26a4 format Kconfig and sconscript 2023-01-08 22:52:13 -05:00
Man, Jianting (Meco) f4b285dc9c
improve sensor framework (#6784)
* [stm32l475-pandora] rename sensor_port.c as drv_sensors.c
* [sensor][cmd] add enter critical section protection
* [sensor] add sensor reset command
2023-01-08 21:33:38 -05:00
Shell 7450ef6c4d
[rt-smart] kernel virtual memory management layer (#6809)
synchronize virtual memory system works.
adding kernel virtual memory management layer for page-based MMU enabled architecture
porting libcpu MMU codes
porting lwp memory related codes
2023-01-08 21:08:55 -05:00
zhkag 7f9ccd3c80 格式化代码 2023-01-09 09:32:07 +08:00
zhkag 7fc3b2d7b5 添加 sys_mq_close 函数 2023-01-09 09:32:07 +08:00
zhkag ce308cd965 更新 mq syscall 2023-01-09 09:32:07 +08:00
zhkag e6ce21e4b5 更新 mq_setattr 2023-01-09 09:32:07 +08:00
zhkag dcaa0c166d 【更新】 消息队列存在时,使用 O_CREAT 不应创建新的消息队列 2023-01-09 09:32:07 +08:00
zhkag 1730874cd8 简单赋值防止数据被优化 2023-01-09 09:32:07 +08:00
zhkag a15a5b19a4 修复 mq_timedreceive 中 mq_timedreceive 为空时断言 2023-01-09 09:32:07 +08:00
zhkag 0c3a705482 修改 mq 句柄偏移 2023-01-09 09:32:07 +08:00
liYangYang 7c05d8517c
[STM32][SPI]解决挂载函数里面不同bsp对uaer_data的滥用 (#6819)
* [spi]attach 片选引脚依赖pin框架
* 修改attach函数
2023-01-07 23:03:42 -05:00
wdfk-prog 8f0cef3a87
[drivers][serial_v2]修复DMA+TX阻塞模式异常 (#6781)
* [drivers][serial_v2]修复DMA+TX阻塞模式异常
2023-01-05 01:25:16 -05:00
Man, Jianting (Meco) 5ca410bb4b Update signal.h 2023-01-04 13:59:22 +08:00
wangxiaoyao 6a25a68be6 [libc] redirecting header sys/signal to signal 2023-01-04 13:59:22 +08:00
kylongmu 0b58637a49
USB CDC驱动在win11下无法识别,看了微软的描述修改子类后正常 (#6783)
这是微软关于此问题的链接:
 https://learn.microsoft.com/zh-cn/windows-hardware/drivers/usbcon/usb-driver-installation-based-on-compatible-ids#usbsersys-installation
Windows 10 及更高版本
从 Windows 10 开始,Usbser.inf 已添加到 %Systemroot%\INF 目录,该目录加载 Usbser.sys 作为设备堆栈中功能设备对象 (FDO) 。 如果设备属于通信和 CDC 控制设备类, Usbser.sys 加载。 无需编写自己的 INF 来引用驱动程序。 驱动程序是基于与包含在 Windows 中的其他 USB 设备类驱动程序相似的兼容 ID 匹配来加载的。

USB\Class_02

USB\Class_02&SubClass_02

如果要自动 加载Usbser.sys, 在设备描述符中将类代码设置为 02,将子类代码 设置为 02。 有关详细信息,请参阅 USB 通信设备类。 使用此方法时,无需为设备分发 INF 文件,因为系统使用的是 Usbser.inf。
如果设备指定类代码 02,但子类代码值不是 02,则 Usbser.sys不会自动加载 。 即插即用管理器尝试查找驱动程序。 如果找不到合适的驱动程序,则设备可能未加载驱动程序。 在这种情况下,你可能需要加载自己的驱动程序或编写引用另一个内置驱动程序的 INF。
2023-01-02 22:25:54 -05:00
Meco Man e97ba95f71 [libc][unistd.h] define F_OK 2023-01-02 15:01:20 -05:00
Meco Man 4ce39dd744 [libc][time] 修正POSIX 时间相关函数返回值错误 2022-12-29 20:23:33 -05:00
Bernard Xiong 8a71ae75ad
[BSP][smart] fix link script for smart in vexpress-a9 (#6764) 2022-12-29 15:18:36 +08:00
Meco Man b1763e6903 [sensor] add setting power/accuracy/fetch data mode commands 2022-12-26 02:10:30 -05:00
Meco Man 3a7ee55780 [sensor] 优化control参数检查和sensor list命令 2022-12-26 02:10:30 -05:00
Meco Man 20a6f14e89 use PIN_IRQ_PIN_NONE to replace RT_PIN_NONE 2022-12-26 02:10:30 -05:00
Meco Man 2570fab0e1 [sensor] add sensor list command 2022-12-26 02:10:30 -05:00
Meco Man d2bab6d7ad [sensor] add LSC chip vendor 2022-12-26 02:10:30 -05:00
Meco Man d3c77d907f [sensor] set power and accuracy as the hightest level 2022-12-26 02:10:30 -05:00
Meco Man 8971545d8e [sensor] improve commands 2022-12-26 02:10:30 -05:00
bernard 1f092da9e0 fix compiling warning. 2022-12-26 14:24:26 +08:00
wdfk-prog f4c08cfe36 修改printf格式“%-*.s”为“%-*.*s 2022-12-22 22:51:24 -05:00
Man, Jianting (Meco) 262392a69c
[sensor] draft new sensor-hal framework (#6746)
* [sensor] new sensor framework
针对老版本sensor框架的诸多不合理设计进行重构
之前的PR中已经重构了浮点数相关的问题
本次PR主要围绕sensor的整体架构予以重构,对过于理想化的参数和模式予以删除
* [sensor] 增加can modbus总线类型
* [stm32l745] 完善sensor对接
* [sensor] fix the onchip ID print
2022-12-21 21:24:51 -05:00
Shell e8504c7cf1
[smart/aarch64] code sync (#6750)
* [smart/aarch64] sync aarch64
2022-12-20 17:49:37 +08:00
梁生 2f214d03c0
[fal] fal_rtt.c消除函数strtol()隐含声明的警告 2022-12-19 18:15:40 -05:00
Yaochenger 0df51b8aa9 [components][libc] 在rv32下编译时cstring.c中的strtok_r函数与libc.a中的strtok_r重定义,添加rt_weak 2022-12-18 23:38:41 -05:00
guo 68ca9f07a6
[rt-smart] 弱化 RT_USING_LWP,使用 RT_USING_SMART 作为宏配置 (#6740)
* [dfs] sync cromfs

* [rt-smart]Weaken RT_USING_LWP, use RT_USING_SMART as macro configuration

* [format] fix some format issue.
2022-12-16 18:38:28 +08:00
褚仕成 4246275e6e add "\n" to cat 2022-12-15 11:34:00 -05:00
joechenchen ee632c21a8 fix:三字节读命令0x03,四字节读命令0x13,当命令为0x03需要加上0x10 2022-12-15 01:08:21 -05:00
guo 0bc01ad0d9
[dfs] sync cromfs (#6739) 2022-12-14 22:28:34 +08:00
tangzz98 89c3bf5f92 ESP32_C3: Improve Readme, fix compile errors/warnings 2022-12-13 11:50:29 +08:00
Meco Man 9860b168b8 [sensor] 增加新传感器类型和单位 2022-12-12 22:44:07 -05:00
Bernard Xiong 2aa600e01b
[components] fix compiling warning (#6733) 2022-12-13 09:44:45 +08:00
bernard aa0c8b4a93 [components] fix format issue 2022-12-12 20:24:10 -05:00
Man, Jianting (Meco) 8b5a501831
[sensor][cmd] add sensor_get_type/vender/unit_name functions (#6727)
* [sensor][cmd] add sensor_get_type/vender/unit_name functions

* rename sensor folder
2022-12-11 22:45:04 -05:00
Man, Jianting (Meco) 99bdf978d7
[rtdef] use lower-case to define attributes (#6728)
* [rtdef] rename RT_WEAK attribute as rt_weak

* [rtdef] rename RT_USED attribute as rt_used

* [rtdef] rename RT_SECTION attribute as rt_section

* [rtdef] rename ALIGN attribute as rt_align

* [legacy] add RT_USED ALIGN RT_SECTION RT_WEAK as legacy support
2022-12-11 13:12:03 -05:00
Meco Man a4b8762d85 [sfud] sync commit
db9a1746df
2022-12-11 01:35:45 -05:00
Shell e991be9c51
[smart][risc-v/libcpu] port rv64 cpu code (#6704)
* [risc-v/libcpu] porting Smart & RTOS
* [fix] rv64 plic
* [risc-v/rv64] remove macro in rtdef
2022-12-10 22:16:42 +08:00
guozhanxin b5d77bbf37 [rtsmart] fix uart can't input after userapp exited at rv64 platform. 2022-12-09 07:54:29 -05:00
zhkag 2e488e0440
[rt-smart]同步 gitee nanosleep 修复 (#6710) 2022-12-08 10:02:40 -05:00
Yohozzy 6fcbd418e5
canfd帧结构加入 brs控制位 (#6701) 2022-12-07 01:49:44 -05:00
tangyuxin a535218ba6 [shell]list_mutex show suspended Threads 2022-12-06 21:15:13 -05:00
guozhanxin eb66f2c964 fix system muti-define when enable RT_USING_MODULE 2022-12-06 20:53:20 -05:00
yangjie11 2cc9bd7936 [components/finsh]使 list 命令的解释对齐 2022-12-06 20:53:01 -05:00
wdfk-prog f54f2c2c91 [ymodem]添加传输过程中的异常处理流程 2022-12-05 23:07:27 -05:00
jaffer fa1f6c22e5 [fix]修复模拟i2c驱动延时bug
Signed-off-by: jaffer <jaffer.work@foxmail.com>
2022-12-05 21:38:02 -05:00
bernard c53d9da22e [lwIP] fix lwip sem/mutex valid issue. 2022-12-03 14:21:06 -05:00
guo ecf2d82159
sync branch rt-smart. (#6641)
* Synchronize the code of the rt mart branch to the master branch.
  * TTY device
  * Add lwP code from rt-smart
  * Add vnode in DFS, but DFS will be re-write for rt-smart
  * There are three libcpu for rt-smart:
    * arm/cortex-a, arm/aarch64
    * riscv64

Co-authored-by: Rbb666 <zhangbingru@rt-thread.com>
Co-authored-by: zhkag <zhkag@foxmail.com>
2022-12-03 12:07:44 +08:00
wdfk-prog cef57d006d
[armlibc] 修复AC6更新至6.19后_sys_tmpnam()函数编译报错 (#6647)
* [armlibc] 修复AC6更新至6.19后_sys_tmpnam()函数编译报错

Co-authored-by: Man, Jianting (Meco) <920369182@qq.com>
2022-11-24 00:12:48 -05:00
Meco Man 3e2beebe43 [libc][musl]解决signal.h报错的问题 2022-11-22 22:18:26 -05:00
Man, Jianting (Meco) bdd663a33f
[libc][musl] support arm-linux-musleabi toolchain
目前基本功能已经可以在QEMU上跑起来,但是pthread和内核signal选中会报冲突。先合并一版本,后续解决这些问题。
2022-11-22 21:40:50 -05:00
wdfk-prog 569e2ae1e8
[CAN]update struct can_filter_item and rt_can_msg (#6556)
* 修改ry命令,已便于自定义保存路径

* modified:   components/utilities/ymodem/ry_sy.c

* 修复从被动错误恢复后发送返回异常

* 修复在自动重传模式下,ACK异常阻塞线程
- 删除TX中断函数else分支。仅当RQCP位 置一才进入该中断
- 添加SCE中断函数中关于ACK_ERR的else判断。自动重传模式下会进入该判断,打断自动重传释放完成量。

* 增加对于CAN1与CAN2的SCE中断和TX中断的公共处理函数

* formatting格式化代码

* update struct can_filter_item and rt_can_msg
1. 对过滤器号和索引号结构体定义中同一名称hdr进行重命名hdr_bank和hdr_index,
以便准确区分.采用宏定义兼容以前变量名.
2. 添加接收标识rxfifo,已指明是哪个RXFIFO.

* 更正42M下的波特率

* 修复接收获取索引号错误

* 添加接收标识

* 更新注释

* 取消CANFD限制

* update struct can_filter_item and rt_can_msg
2022-11-21 21:45:51 -05:00
Meco Man 84eab69604 [msh] remove list_xxx commands, use 'list' to replace 2022-11-21 21:39:45 -05:00
Meco Man 66411e0828 [sensor] improve cmd
using floating print format by default
2022-11-21 21:31:16 -05:00
Meco Man 953a8c265d add rt_sensor_float_t 2022-11-19 00:54:22 +08:00
Meco Man df397eb767 [sensor] 传感器数据类型使用float代替rt_uint32_t类型 2022-11-19 00:54:22 +08:00
myshow2258 87be8fdba8 Modified bsp/stm32/libraries/HAL_Drivers/drv_usbd.c
Modified   components/drivers/usb/usbdevice/class/cdc_vcom.c
修复cdc在v1v2的serial框架下接收发送错误的问题.stm32下usbd添加更多的ep_id,以支持复合设备.
2022-11-14 23:47:49 -05:00
Meco Man d1c353f6b6 [kernel] 优化Sconscript脚本 2022-11-14 22:20:23 -05:00
Meco Man 6b9bdc12a9 [sensor] use arg to replace user_data 2022-11-14 22:19:47 -05:00
Yohozzy b64f21e628 Update netdev.c 2022-11-14 22:18:41 -05:00
a1012112796 5370d4da50 replace `rt_enter_critical` with `dfs_lock` for list_fd
I found that if use mutex in `rt_kprintf`,
the `rt_enter_critical` will create a assert
error later. after chehcking,I found all
operation with fd_table has using
`dfs_lock/unlock` to protect. so I think
using `dfs_lock` is enough. thanks.

Signed-off-by: a1012112796 <1012112796@qq.com>
2022-11-09 22:41:15 -05:00
Meco Man f57eb4feb5 [sensor] 修改fetch_data方法的参数数据类型为rt_sensor_data_t 2022-11-09 17:23:27 +08:00
Meco Man f550fc58a9 [sensor]修改传感器设备名称前缀 2022-11-09 17:23:27 +08:00