Commit Graph

110 Commits

Author SHA1 Message Date
Yaochenger de4f237482
[atomic]添加arm与risc-v下的常用原子操作函数 (#7053)
* Update Kconfig
* Update trap_gcc.S
* Update bsp/hifive1/drivers/SConscript

Co-authored-by: Man, Jianting (Meco) <920369182@qq.com>
* Update SConscript
* [atomic]提交一份arm与risc-v架构下的常用原子操作函数
* 修改变量类型
* 更新rtatomic.h与atomic_port.c
* 更新rt-thread\libcpu\arm\common\atomic_port.c
* 更新include/rtatomic.h与libcpu/arm/common/SConscript
* 更新include/rtatomic.h
* 修正格式与Kconfig
* 修正格式与文件结构

* 规范文件格式与文件重命名
* 添加测试用例与CI
* 添加函数声明
* 修改virt64/SConscript 添加atomic_riscv.c
  * 1.规范代码风格
  * 2.添加RISC-V64原子指令支持 解决在RV64下编译器将32-bit运算结果扩展为64-bit 导致判断错误
* 添加C11标准库原子操作测试

---------

Co-authored-by: Man, Jianting (Meco) <920369182@qq.com>
2023-03-23 20:06:50 +08:00
Zxy 765c2ec5f9 [errno code]fix that use RT_EFULL without - 2023-03-23 01:55:46 -04:00
Zxy 4ed9bc11f7
[errno code]fix that use RT_ENOSYS without - (#7084)
* [errno code]fix that use RT_ENOSYS without -

* Update bsp/airm2m/air32f103/libraries/rt_drivers/drv_hwtimer.c

---------

Co-authored-by: Man, Jianting (Meco) <920369182@qq.com>
2023-03-23 01:54:42 -04:00
Zxy e15adf5e45 [errno code]fix that use RT_EEMPTY without - 2023-03-23 01:52:21 -04:00
Meco Man c3820a2c1b format sconscript Kconfig files 2023-03-19 07:08:27 -04:00
Meco Man dfddd79b24 [errno code][-RT_EINVAL] fix that use RT_EINVAL without - 2023-03-16 20:21:43 -04:00
Meco Man 2cc9bd876e [error code][-RT_EIO] fix that use RT_EIO without - 2023-03-16 20:20:37 -04:00
charlown 95fea2f159
[ch32]修正接口数据类型 (#7025) 2023-03-08 22:52:07 -05:00
Meco Man 0429452465 [bsp][rtduino] update arduino_main.cpp 2023-03-05 21:10:08 -05:00
Yaochenger 95540854a6
[libcpu/riscv]迁移libcpu/riscv/ch32中文件至bsp (#7004) 2023-03-02 09:17:43 -05:00
Yaochenger b9e4fcfc68
[libcpu][riscv]整合libcpu/riscv中的移植文件 提供一份公共代码于common (#6941)
整合libcpu/riscv中的移植文件 提供一份公共代码于common

在提交本pr时,除hpmicro的内核,rv32内核bsp已完成去除大部分的冗余,大部分代码采用common中的实现。本pr的作用是进一步统一common中的文件,从而提供一份公用代码,新移植的RV32内核的BSP可以全部使用common代码。

- 在common中提供一份公用文件:interrupt_gcc.S
- 修改原有的文件,将原有的中断中上下文切换代码替换为interrupt_gcc.S
- 基于上述修改,修改仓库中risc-v内核的BSP与移植相关的部分 (主要包含中断入口函数 中断栈等)
- 在common中提供一份公用文件:trap_common.c;提供统一中断入口函数,中断入口函数初始化,中断入口注册等函数,并完善异常时的信息输出

- 在common中提供一份公用文件:rt_hw_stack_frame.h;将栈帧结构体剥离,供用户使用

- 在上述工作完成后,在上述工作的基础上测试仓库中risc-v内核的BSP

- 完善函数中的命名,完善中断栈的获取

- 提供一份详细的基于现有common文件的移植指南

  #### 在什么测试环境下测试通过 

- 1.CH32V307V-R1-R0
- 2.CH32V208W-R0-1V4
- 3.HPM6750EVKMINI
- 4.GD32VF103V-EVAL
- 5.qemu(CORE-V-MCU )

> 与上述开发板使用同样芯片的BSP均测试通过

在CH32V307V-R1-R0与HPM6750EVKMINI上基于现有移植文件进行多线程复杂场景下的长时间测试,测试过程系统运行正常。
2023-03-01 01:32:43 -05:00
linshire 4021b82161
[bsp][ch32] fix the empty function ch32dma_transmit return error code as -RT_EIO 2023-02-28 17:41:17 -05:00
liYangYang 26fab3e792
[wch][spi] 修改ch32 risc-v spi底层驱动函数返回值类型 (#6979)
* [wch][spi] 修改ch32 risc-v spi底层驱动函数返回值类型

---------

Co-authored-by: Zxy <1308465141@qq.com>
Co-authored-by: Man, Jianting (Meco) <920369182@qq.com>
2023-02-27 18:26:16 -05:00
linshire e63e33a3c6
[ch32][bsp] fix warning: rt_size_t to rt_ssize_t 2023-02-25 13:50:33 -05:00
Meco Man ad79e29474 format ch32 driver 2023-02-15 09:36:04 +08:00
Yaochenger ee121d25dc
[RTduino][ch32v208]修正rtconfig.h配置 (#6920) 2023-02-09 22:55:52 -05:00
Yaochenger 7c6c12cbff
[RTduino][ch32v208w-r0]ch32v208w-r0适配RTduino (#6917) 2023-02-08 23:01:20 -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
会飞的诸 fec7404506
[bsp] wch ch32v307v-r1动态初始化堆内存 (#6849)
#### 为什么提交这份PR (why to submit this PR)
- 修复ch32v307v-r1 board.h 中变量_stack_size未声明BUG
- 提供ch32v307v-r1动态堆内存分配(宏开关)代码
- ch32v307v-r1 MD文档新增烧录方式,作为烧录后无运行结果的替代方案

#### 你的解决方案是什么 (what is your solution)
- 去掉_stack_size未声明变量
- 动态分配内存堆,将堆起始地址放在.bss段结尾,堆结束地址放在.stack段开头[详情](https://club.rt-thread.org/ask/article/001065082e9ae611.html)
- 将烧录工具替换为WCH-LinkUtility

#### 在什么测试环境下测试通过 (what is the test environment)
- 开发工具: RT-Thread Studio
- 测试板卡:ch32v307v-r1评估板
- 烧录工具:WCH-LinkUtility
2023-01-13 20:50:33 -05:00
Meco Man ddccef3a64 modify RT_ALIGN_SIZE as 8 by default 2023-01-12 22:47:23 -05:00
Meco Man b0c4aca6e5 [ch32v208] 调整Kconfig 2023-01-13 11:40:57 +08:00
Meco Man ce3f60b22b [RTduino][ch32v307] add English readme 2023-01-13 11:40:57 +08:00
Meco Man fcf2367966 [bsp] update ch32v307 readme 2023-01-12 14:00:27 +08:00
zhaohaisheng 9339e495f0
[RTduino] 增加CH32V307 readme 2023-01-09 21:41:59 -05:00
Meco Man 592284c66c format link scripts 2023-01-08 22:52:13 -05:00
Meco Man 9bc68d26a4 format Kconfig and sconscript 2023-01-08 22:52:13 -05:00
Yaochenger 6618293dc5
[bsp][ch32]pwm避免警告 (#6818) 2023-01-05 23:10:46 -05:00
Yaochenger b99769f686
[libcpu][riscv]移除ch32中的冗余文件,使用common下的文件 (#6813)
* [libcpu][riscv]移除ch32中的冗余文件,使用common下的文件

* 修正cpuport.h宏定义

* 规范宏定义格式
2023-01-04 21:06:09 -05:00
Yaochenger 882a0af94e [libcpu][riscv] 添加宏用于区别是否开启FPU,更新ch32v208v-r0 ->ch32v208w-r0,更新注释 2022-12-28 18:47:39 -05:00
Yaochenger b77241935c
[bsp][ch32v208]添加ch32v208BSP,合并libcpu/riscv 中ch系列的port文件 (#6780)
【1】添加ch32v208-r0 bsp
【2】合并libcpu/riscv 下ch系列mcu的port文件
2022-12-27 13:24:02 -05:00
hg0720 59f10fd704
[bsp][ch32v307]适配RT-duino框架 (#6669)
为ch32v307适配rt-duino,支持pwm、gpio、uart、iic,暂不支持 spi。
已在ch32v307评估板测试。
测试内容包括串口打印、呼吸灯、AHT10温湿度读取等。
2022-12-27 02:45:20 -05:00
Shell e8504c7cf1
[smart/aarch64] code sync (#6750)
* [smart/aarch64] sync aarch64
2022-12-20 17:49:37 +08: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
linshire aaf5462c6d 更改了函数名 2022-12-02 13:03:59 -05:00
linshire 1805ca5e2e
[ch32v307]添加了硬件spi驱动 (#6654)
* 添加了硬件spi驱动
2022-11-26 15:00:11 -05:00
Meco Man fc83546cf5 [ch32] fix a typo 2022-11-22 13:48:14 +08: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
Harrypotter-zhs aa15f7cd56 修改ch32v307软件spi的宏 2022-11-20 13:16:21 -05:00
Meco Man 0a533aeb79 [ch32v307] support c++ 2022-10-26 00:55:29 -04:00
linshire 7bc744dae9
[ch32v307] 删掉无意义的memset重载 (#6561) 2022-10-24 22:24:52 -04:00
linshire fd6cfa3bbd
replaced the judgement of RT_USING_XXX with BSP_USING, and add some… (#6554)
* replaced the judgement of RT_USING_XXX  with  BSP_USING, and add some tips in Konfig about soft_i2c
2022-10-23 23:08:20 -04:00
self-confident neko 11f52eebcf
[bsp][ch32v307]补全PWM设备,并为每个PWM设备添加条件编译,减少代码量 (#6548)
* 新增硬件定时器功能

* 新增定时器功能

* Update Kconfig

* Update bsp/wch/risc-v/Libraries/ch32_drivers/drv_hwtimer.h

Co-authored-by: Man, Jianting (Meco) <920369182@qq.com>

* Update Kconfig

* 添加剩余的PWM设备,并为每个PWM设备添加条件编译,减少代码量

* Update drv_pwm.c

* 根据建议进行修改

* 已根据建议修改

* Update bsp/wch/risc-v/Libraries/ch32_drivers/drv_pwm.c

Co-authored-by: Man, Jianting (Meco) <920369182@qq.com>

* Update bsp/wch/risc-v/Libraries/ch32_drivers/drv_pwm.h

Co-authored-by: Man, Jianting (Meco) <920369182@qq.com>

* Update bsp/wch/risc-v/Libraries/ch32_drivers/drv_pwm.c

Co-authored-by: Man, Jianting (Meco) <920369182@qq.com>

Co-authored-by: Man, Jianting (Meco) <920369182@qq.com>
2022-10-22 11:07:04 -04:00
self-confident neko 642ba3bc93
新增CH32V307的硬件定时器功能 (#6545)
新增CH32V307的硬件定时器功能,并在CH32V307V-R1-1V0板卡上进行了测试。
2022-10-21 20:12:17 -04:00
zhaohaisheng 88179b75a1
[bsp][ch32v307]增加软件spi驱动 (#6532) 2022-10-19 00:23:25 -04:00
Man, Jianting (Meco) 2bcc22f6b0
[ch32v307][readme] 增加vscode编译介绍 (#6540) 2022-10-18 18:40:42 -07:00
Man, Jianting (Meco) afd1666918
[ch32v307] update readme (#6529)
* [ch32v307] update Chinese readme

* add English readme
2022-10-17 23:02:39 -04:00
hg0720 fddc522d9c
[bsp][ch32v307]添加了pwm驱动 (#6519)
* [bsp][ch32v307]添加了 pwm 驱动
2022-10-16 20:14:08 -04:00
hg0720 76303f7bea [bsp][ch32v307]补充readme文件说明 2022-10-14 23:37:37 -04:00
hg0720 90d566308d
[bsp][ch32v307]修复了模拟iic的BUG (#6505) 2022-10-11 21:35:37 -04:00
Meco Man 8b0610fc34 [bsp][readme] 增加scons --exec-path=xxx 命令的使用说明 2022-10-10 09:42:44 +08:00