Commit Graph

51 Commits

Author SHA1 Message Date
Meco Man e8c0a74036 [wch][risc-v][drv] fix a typo in drv_common.c 2023-06-17 22:02:49 -04:00
self-confident neko 1104b80a4d
[ch32][risc-v][bsp] update drv_common for wch risc-v bsp 2023-06-17 18:27:57 -04:00
Meco Man ee3ecf82d7 [bsp][ch32-rsicv][sconscript] add drv_common.c
attach bf4594870e
2023-06-14 18:49:04 -04:00
self-confident neko bf4594870e
向 wch-riscv-bsp 添加 drv_common.c/.h 文件 (#7671) 2023-06-14 19:34:37 +08:00
Placebo27 538158bf20
[bsp] fix mismatched function types in rt_pin_ops for all drv_gpio.c (#7457) 2023-05-08 23:35:27 -04:00
nobody 613e5a3e51 [HUST CSE]fix:修改drv_spi.c空指针问题 2023-04-29 18:16:10 -04:00
AD0naldRavenclow fec989a69f
[HUST CSE][WCH][library] fix error in Bubble Sort (#7240) 2023-04-24 00:49:24 -04:00
Stwsyburg ca1b1e5164 Fix many abnormal symbols in annotations 2023-04-16 22:37:16 -04:00
会飞的猪 422a9ec167
[bsp/wch]ch32v307 PCLK1(APB1)分频注释纠错 2023-04-09 03:27:51 -04:00
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
Meco Man 2cc9bd876e [error code][-RT_EIO] fix that use RT_EIO without - 2023-03-16 20:20:37 -04: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
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
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
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
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
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
hg0720 fddc522d9c
[bsp][ch32v307]添加了pwm驱动 (#6519)
* [bsp][ch32v307]添加了 pwm 驱动
2022-10-16 20:14:08 -04:00
hg0720 90d566308d
[bsp][ch32v307]修复了模拟iic的BUG (#6505) 2022-10-11 21:35:37 -04:00
chenbin182 c17d5d509f
[bsp][ch32v307] 添加can驱动 (#6484)
CH32V307 添加can驱动。
CAN1和CAN2均可以使用,而且调整好波特率
2022-10-08 22:32:29 -04:00
linshire de48b65b0d
[ch32v3] 修改RT_USING为BSP_USING (#6482)
* 修改RT_USING为BSP_USING

* Update SConscript

* Update SConscript

Co-authored-by: Man, Jianting (Meco) <920369182@qq.com>
2022-09-30 11:07:52 -04:00
hg0720 ee57f2d0da
[ch32v307][bsp]添加了看门狗驱动 (#6474)
添加了 ch32v307 看门狗驱动,已在 ch32v307评估板验证;
修改了 rt-thread\bsp\wch\risc-v\ch32v307v-r1\board 目录下的 Kconfig 文件;
修改了 rt-thread\bsp\wch\risc-v\Libraries\ch32_drivers 目录下的 SConscript 文件;
添加了 rt-thread\bsp\wch\risc-v\Libraries\ch32_drivers 目录下的 drv_iwdt.c 文件;
2022-09-28 21:09:53 -04:00
hg0720 714b93cc3d 添加了 rtc 驱动 2022-09-22 23:25:27 -04:00
hg0720 90d9b449b1
[ch32v307v-r1] 添加了模拟iic驱动 (#6447) 2022-09-19 10:33:55 -04:00
hg0720 60d6e42941
[ch32v307v-r1] 添加dac驱动 (#6440) 2022-09-18 09:32:56 -04:00
linshire fdcee2da20
[BSP] CH32V307 add drv_adc (#6431)
添加了ch32v307的adc驱动,已在ch32v307评估班上对adc1ch5进行了验证,并修改了kconfig以及scons脚本,可以成功编译以及使用
2022-09-16 22:50:57 -04:00
linshire ae62b57632 add drv_ulog.h so that the project can built successfully 2022-09-06 00:29:51 -04:00
self-confident neko 6da3b2b4b6
完善CH32V307的串口BSP (#6359)
* Update drv_usart.h

CH32V307的串口1外设是对接在APB2桥上,其他串口均对接在APB1桥上

已完全测试,并发现一个问题,已修正。
2022-09-01 12:35:11 -04:00
liYang~ ef8ae7963c
[drv_usart]完善ch32的串口驱动。 (#6336) 2022-08-27 00:34:27 -04:00
liYang~ c67cbdb30c
[drv_gpio]为ch32完善gpio驱动 (#6334)
* 修改Kconfig的不足

* update gpio driver

* formatting code
2022-08-25 10:24:53 -04:00
emuzit a38b39ac25
ch569w-evt: add usbhs device mode driver (#6330)
ch569w-evt: add usbhs device mode driver

* usbd driver tested with cdc_vcom, internal loopback
  (can't run both MSH & usbd due to 16KB RAM limitation)
* reduce usrstack & main thread stack size for usbd test
* ch56x_uart.c : iron out UART0_PIN_ALT assignment
2022-08-24 07:59:37 -04:00
liYang~ 0ff905ce43
[bsp]添加ch32v307需要的库文件 (#6329)
* add ch32v307 lib

* fix scons
2022-08-23 02:13:33 -04:00
emuzit 77067f8729
ch569w-evt : add pwm driver, and spi_xfer bug fix (#6240)
add PWM driver, output checked with logic analyzer
spi_xfer() bug fix for cs_pin and message looping
uart pin_mode init moved to uart driver
2022-08-09 12:18:20 -04:00
emuzit a881c05e58
ch569w-evt : add spi master driver, SPI0 tested (#6205)
* ch569w-evt : add spi master driver, SPI0 tested

* Update bsp/wch/risc-v/ch569w-evt/board/Kconfig

* Update bsp/wch/risc-v/ch569w-evt/board/Kconfig

Co-authored-by: Man, Jianting (Meco) <920369182@qq.com>
2022-08-01 22:36:49 -04:00
emuzit c802fcdcf8
WCH CH569W-R0-1v0 evt board bsp port, first version (#6167)
WCH CH569W-R0-1v0 evt board bsp port, first version

dev/test under Ubuntu 20.04
toolchain from MounRiver_Studio_Community_Linux_x64_V120

tested drivers : SysTick, gpio, gpio interrupt, uart1 (RX interrupt, TX polling)

libcpu/risc-v/SConscript :
group includes rtconfig.CPU only if folder exists

libcpu/risc-v/common/cpuport.c/rt_hw_context_switch_interrupt() :
make it RT_WEAK for customization
2022-07-30 02:10:51 -04:00