Commit Graph

84 Commits

Author SHA1 Message Date
Meco Man 4b3f14565d [ch32][risc-v][drv] fix rt_hw_us_delay compile error 2023-06-26 22:42:30 -04:00
Meco Man 0750b71e27 [bsp][ch32v307v] add _head_end for link file 2023-06-26 22:42:18 -04:00
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
Yaochenger a3c5ce717c [bsp][readme]合并ch32v208与RT1060的readme 2023-04-19 10:26:15 +01:00
Kent Zuo 99204ab8bf
[HUST CSE][docs] fix the invalid link 2023-04-18 07:43:36 -04:00
Stwsyburg ca1b1e5164 Fix many abnormal symbols in annotations 2023-04-16 22:37:16 -04:00
Yaochenger ef1b3383a6
[add]添加CH32V208英文上手指南 (#7243) 2023-04-14 00:21:30 -04:00
Yaochenger 8487caad4b
[add][ch32v208w-r0]添加CH32V208上手指南 (#7225) 2023-04-13 17:26:43 +08:00
会飞的猪 422a9ec167
[bsp/wch]ch32v307 PCLK1(APB1)分频注释纠错 2023-04-09 03:27:51 -04:00
yangjie11 95e6b69b8e
sync and update all projects (#7138)
* sync and update
2023-03-31 16:49:48 +08: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 c3820a2c1b format sconscript Kconfig files 2023-03-19 07:08:27 -04:00
Meco Man 2cc9bd876e [error code][-RT_EIO] fix that use RT_EIO without - 2023-03-16 20:20:37 -04: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
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