Commit Graph

143 Commits

Author SHA1 Message Date
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
chenbin182 c17d5d509f
[bsp][ch32v307] 添加can驱动 (#6484)
CH32V307 添加can驱动。
CAN1和CAN2均可以使用,而且调整好波特率
2022-10-08 22:32:29 -04:00
Man, Jianting (Meco) f7be5fc84b
[bsp][applications][sconscript] 整理统一sconscript格式 (#6481)
* [bsp][sconscript] 整理统一sconscript格式

* update

* update
2022-10-03 10:43:08 -04:00
linshire e43a938ec1
[bsp][ch32v307] 修改部分菜单 (#6483)
* 修改部分菜单

* change again
2022-09-30 11:19:38 -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
hg0720 cd2a381a13 修改了ch32 的 readme 文件 2022-09-08 21:38:21 -04:00
linshire ae62b57632 add drv_ulog.h so that the project can built successfully 2022-09-06 00:29:51 -04:00
linshire 36e03d0448
Ch32 v307 kconfig fix (#6373)
* add Kconfig file "USART2~USART8"
2022-09-05 11:13:04 -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~ 9cfb864068
[bsp]添加ch32v307vct6 (#6331) 2022-08-23 21:51:35 -04:00
liYang~ 0ff905ce43
[bsp]添加ch32v307需要的库文件 (#6329)
* add ch32v307 lib

* fix scons
2022-08-23 02:13:33 -04:00
liuxianliang a4eb64b873 update the project for RT-Thread_V4.1.1 2022-08-16 19:38:48 +08:00
Meco Man c038e55d32 [armclang] 使用__clang__代替__CLANG_ARM
attach https://github.com/RT-Thread/rt-thread/pull/5451
2022-08-16 09:37:45 +08: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
Meco Man c9878aacd2 [scons][iar] 将IAR的PLATFORM字段由iar调整为iccarm
将路径更新为IAR最新版本的路径
2022-06-09 07:01:59 +08:00
Meco Man 83b3aadaa3 [Scons][iar][iccarm] IAR统一使用iccarm作为判断条件而不是是用IDE的名字来进行判断
因为不确定后续IAR是否会像Keil一样内含有不同的编译工具链
此外,将判断条件改为列表方式,这样更方便后续增加其他可能的IAR编译链
2022-06-09 07:01:59 +08:00
Meco Man 50f041f5c2 [Scons] 将GCC判断条件改为列表方式,方便后续增加新的编译工具链 2022-06-09 07:01:59 +08:00
Man, Jianting (Meco) a0f8d43744
[gcc][armcc][armclang] rtconfig.CROSS_TOOL->rtconfig.PLATFORM (#5802)
* [gcc][armcc][armclang] rtconfig.CROSS_TOOL->rtconfig.PLATFORM
2022-04-20 09:56:04 +08:00
blta 99526cc047 [bsp/ch32v103r-evt] add ch32v103r-evt bsp
feat: move MRS demo source to bsp and libraries folder

feat: update Sconscript

feat: modify SConstruct in the bsp

feat: use the rtconfig.py of gd32vf103v-eval bsp to modify

feat: use the MRS's rtconfig.h temoporarily

feat: update Kconfig files

feat: use the MRS's .ld and rename as link.lds

feat: add ch32v1 porting folder

perf: remove board/system_ch32v10x.c

fix: define SOC_ARM_SERIES_CH32V103 in rtconfig.h

fix: add some neccessary macros in rtconfig.h

perf: use the menuconfig to generate rtconfig.h

feat: add readme.md

fix: correct the bad encode in main.c

fix: include board.h in main.c

perf: check and update README.md

perf: remove ch32f10x_port_cn.md

feat: ignore the standard libraries's CI checking

feat: add sdk_dist.py

fix: correct some style errors again

perf: simply the board/kconfig

fix: format ch32v103r-evt

fix: format drvs and libcpu
2022-04-06 11:06:55 +08:00
guozhanxin e353b2d5f1 [bsp] Update all projects. 2022-03-29 19:28:06 +08:00
Man, Jianting (Meco) 81e5fa061f
[stm32f072 nucleo] support pwm for arduino (#5693) 2022-03-21 22:04:37 +08:00
LiuKang 75a7cb6929
[update] add fal component. (#5662)
* [update] add fal component.

* [update] format code.

* [update] change PKG_USING_FAL to RT_USING_FAL

* [update] format code.

* [update] fal

* [update] delete FAL_SW_VERSION
2022-03-15 09:48:05 +08:00
Tuber 5a61304a09
add ch579m bsp (#5600)
* add ch579m bsp

Author:    Tuber <tuber@xyza.cn>
Date:      Wed Feb 16 07:20:23 2022 +0000

* fix uart reg value error and format code

* change file encode to utf-8
2022-02-18 13:41:59 +08:00
charlown e969e7166a [bsp/wch/arm/ch32f103c8-core]:add BSP_USING_TIM to fix compile error if no select hwtimer. 2022-01-28 12:26:50 +08:00
charlown 90c3ef05c5 [bsp/wch/arm/Libraries/CH32F20x_StdPeriph_Driver]:support gcc. 2022-01-28 09:30:25 +08:00
liukangcc ccbd22f493 [update] refresh project 2022-01-26 18:30:23 +08:00
charlown 94cfe1d338 [bsp/wch/arm/Libraries/ch32_drivers]format code. 2022-01-26 18:07:36 +08:00
charlown 7b2b9cdb70 add wch ch32f203r-evt bsp. 2022-01-26 18:07:36 +08:00
Man, Jianting (Meco) bb1084556f [console] 解决在没有定义RT_USING_DEVICE的情况下使用device报错的问题
* [console] 解决在没有定义RT_USING_DEVICE的情况下使用device报错的问题

* format codes

* [libc] 整理格式

* refresh projects
2022-01-09 00:20:32 +08:00
Meco Man 5187d75af5 [armclang] 使用__clang__代替__CLANG_ARM 2021-12-29 14:15:38 -05:00
guo 2babfedd52
Merge pull request #5397 from liukangcc/cflag
[update] CFLAGS
2021-12-21 17:50:54 +08:00
Man, Jianting (Meco) 6369e89502
[posix] POSIX standard implementation for PSE51 (#5384)
* [posix] POSIX standard implementation for PSE51

- add some posix's interfaces that we haven't before.
- these PR have passed the interface definition test across gcc platfrom;
- have tested base on qemu-a9 and stm32h750-art-pi.

* [newlib] only enable POSIX.1-1990

* update projects
2021-12-17 15:34:17 +08:00
liukangcc b0f6c2fbae [update] CFLAGS 2021-12-17 14:28:40 +08:00
Tangyuxin d724eed9fc
分离内存分配接口与内存分配算法 (#5175)
* [kernel][mem] Multiple instances of small memory allocation algorithm

* [kernel][mem] Change small memory management algorithm memory header flag

* [kernel][mem] Fix assertion problem

* [kernel][slab] Multiple instances of slab memory management algorithm

* [kernel][memheap] Remove rt_malloc/rt_free/rt_realloc and other related memory interfaces

* [kernel][mem] Clean up memory space of small memory management objects

* [kernel][kservice] Add memory application interface and thread protection interface

* [kernel][kservice] Fix function return value problem

* [kernel][memheap] Optimize memheaptrace print

* [kernel][memheap] Support best mode

* [kernel][memory] Remove semaphore lock

* [kernel][memheap] Add locked flag

* [kernel][memory] Support malloc memory in interrupt

* [kernel][memheap] Add 'memheapcheck' cmd

* [kernel][mem] Fix failure to request full memory

* [kernel][memheap] Fix compilation warning

* [kernel][mem] Fix mem realloc ASSERT

* [examples][testcases] Add small mem testcase

* [examples][mem_tc] Modify test memory size

* [examples][testcases] Add slab memory management algorithm test case

* [examples][testcases] fix small memory management algorithm test case

* [kernel][memory] Adjusting memory allocation algorithm object definition and interface

* [kernel][memory] Fix compilation warning

* [examples][utest] Fix mem test case

* [examples][utest] fix slab test case

* [utest][testcases] Shorten test time

* [kernel][memory] Formatting code

* [examples][utest] Adjust test run time

* [examples][utest] Formatting code

* [bsp] update all rtconfig.h
2021-12-16 16:23:58 +08:00
Meco Man 879e9d4c54 更新rtconfig.h 2021-12-01 22:02:36 -05:00
guo cda8caeda0
Merge pull request #5180 from liukangcc/bsp
[update] bsp .config file and rtconfig.h file.
2021-10-15 13:54:46 +08:00
liukangcc 7dc99c1ff4 [update] bsp .config file and rtconfig.h file. 2021-10-14 14:49:53 +08:00
guo 1083ea59c8
Revert "[update] Fix compiler flags issue" 2021-10-14 14:36:58 +08:00
liukangcc 5fef77fcdd [update] Fix compiler flags issue 2021-10-14 11:38:06 +08:00
charlown 0ea1fac551 [bsp/wch/arm/ch32f103c8-core/board/board.h]: add macro definition.
[bsp/wch/arm/ch32f10x_port_cn.md]: add ch32f10x_port_cn.md.
2021-10-12 21:27:39 +08:00
charlown a9aa150e16 [bsp/wch/arm/Libraries/ch32_drivers/drv_rtc_ch32f10x.c]: rename rtc ops. 2021-10-11 21:29:23 +08:00
charlown 9ec326f931 [bsp/wch/arm/Libraries/ch32_drivers/drv_pwm_ch32f10x.c]:support pwm.
[bsp/wch/arm/ch32f103c8-core]:add timer1~4(include 4 channel) pwm.
2021-09-23 23:20:16 +08:00
charlown 5ce84153f3 [bsp/wch/arm/Libraries/ch32_drivers/drv_hwtimer_ch32f10x.c]:rename func: ch32f1_hwtimer_clock_init, ch32f1_hwtimer_clock_get, hwtimer and pwm will be use it. change some code annotation.
[bsp/wch/arm/ch32f103c8-core]: rename func.
2021-09-10 17:12:31 +08:00
charlown 84111766f9 [bsp/wch/arm/Libraries/ch32_drivers]: support ch32f10x hwtimer.
[bsp/wch/arm/ch32f103c8-core]: add hwtimer1~4.
2021-09-08 16:45:55 +08:00
charlown 7aa4dfec8b [wch/arm/ch32f103c8-core]:format board/Kconfig, format README.md. 2021-09-07 16:11:07 +08:00
charlown f6edb4754b delete dir_path in wch bsp ignore_format file. 2021-09-06 21:06:39 +08:00
charlown 454d620b62 add wch bsp ignore_format file. 2021-09-06 17:38:53 +08:00
charlown abeb9500d0 fix rtconfig.py param: DEVICE = cortex-m3 in other platform. 2021-09-06 13:42:48 +08:00
charlown 5169360e21 support gcc for ch32f10x. 2021-09-03 15:44:19 +08:00
charlown 02a3ac4036 format wch bsp code. 2021-09-02 22:49:01 +08:00
charlown 2e74dd8e2d support ch32f10x family, add ch32f103c8-core bsp 2021-08-31 14:41:35 +08:00