From 34e7673871d9825549a0788a7ed59af276be9357 Mon Sep 17 00:00:00 2001 From: NIIBE Yutaka Date: Fri, 26 Jun 2020 10:03:26 +0900 Subject: [PATCH] Version 2.0. Signed-off-by: NIIBE Yutaka --- AUTHORS | 44 +++++++++++++++++++++++++++++--------------- ChangeLog | 5 +++++ NEWS | 24 +++++++++++++++++++++--- README | 9 ++++----- VERSION | 2 +- doc/chopstx.texi | 11 ++++++----- 6 files changed, 66 insertions(+), 29 deletions(-) diff --git a/AUTHORS b/AUTHORS index 444b77a..73ae8e2 100644 --- a/AUTHORS +++ b/AUTHORS @@ -34,42 +34,56 @@ NIIBE Yutaka: chopstx.c, chopstx.h, chopstx-cortex-m.c, chopstx-cortex-m.h, chopstx-gnu-linux.c, chopstx-gnu-linux.h, - entry.c, + chopstx-riscv32.c, chopstx-riscv32.h, + entry.c, entry-cortex-m.c, entry-riscv32.c, eventflag.c, eventflag.h - Wrote the drivers mcu/*: - chx-gnu-linux.c, chx-mkl27z.c, chx-stm32f0.c, chx-stm32f103.c, - clk_gpio_init-mkl27z.c, clk_gpio_init-stm32f.c, - cortex-m.h, mkl27z.h, stm32.h, stm32f103.h, - sys-gnu-linux.c,sys-gnu-linux.h, + Wrote the drivers under mcu/: + chx-gd32vf103.c, chx-gnu-linux.c, chx-mkl27z.c, + chx-stm32f0.c, chx-stm32f103.c, chx-stm32l4.c, + clk_gpio_init-gd32vf103.c, clk_gpio_init-mkl27z.c, + clk_gpio_init-stm32f.c, clk_gpio_init-stm32l.c + cortex-m.h, gd32vf103.h, mkl27z.h, stm32.h, + stm32f103.h, stm32l.h, + sys-gnu-linux.c, sys-gnu-linux.h, sys-mkl27z.c, sys-mkl27z.h, sys-stm32f0.c, sys-stm32f0.h sys-stm32f103.c, sys-stm32f103.h, - usb-stm32f103.c, usb-mkl27z.c + sys-stm32l4.c, sys-stm32l4.h, + usb-gd32vf103.c, usb-mkl27z.c, + usb-st-common.c, usb-stm32f103.c, usb-stm32l4.c Wrote the drivers: - controb/adc-mkl27z.c + contrib/adc-mkl27z.c, + contrib/spi.h, contrib/spi-st.c Drew the logo: chopstx.svg, chopstx.png Wrote examples: example-led, example-cdc, example-fsm-55, example-fs-bb48, - example-usb-serial, example-cdc-gnu-linux + example-usb-serial, example-cdc-gnu-linux, + example-usart, example-lcd Wrote board/*: + board-gnu-linux.h, board-fst-01sz.h, board-fst-01g.h, board-fst-01.h, board-fst-01-00.h, board-olimex-stm32-h103.h, board-stm8s-discovery.h board-cq-starm.h, board-stbee-mini.h, board-stbee.h, - board-stm32f0-discovery.h, board-fsm-55.h, - - board-fs-bb48.h + board-st-nucleo-l432.h, + board-fs-bb48.h, + board-blue-pill-g.h, + board-longan-nano.h For Free Software Initiative of Japan, wrote: contrib/adc-stm32f103.c, contrib/adc-gnu-linux.c Under contract of g10 Code GmbH, wrote: - mcu/usb-usbip.c - contrib/usart-stm32f103.c - contrib/ackbtn-stm32f103.c + mcu/usb-usbip.c, + contrib/ackbtn.h, contrib/ackbtn-stm32f103.c, + contrib/usart.h, + contrib/usart-common.c, contrib/usart-common-f103.c, + contrib/usart-gd32vf103.c, + contrib/usart-impl-f103.h, contrib/usart-impl.h, + contrib/usart-stm32f103.c, contrib/usart-stm32l4.c, Paul Fertser: Added Blue Pill support. diff --git a/ChangeLog b/ChangeLog index 31fb448..47d7387 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2020-06-26 NIIBE Yutaka + + * VERSION: 2.0 + * doc/chopstx.texi (VERSION): 2.0. + 2020-06-23 NIIBE Yutaka * chopstx.c (chopstx_critical): New. diff --git a/NEWS b/NEWS index 450c3dc..1662463 100644 --- a/NEWS +++ b/NEWS @@ -3,7 +3,7 @@ NEWS - Noteworthy changes * Major changes in Chopstx 2.0 - Released 20??-??-?? + Released 2020-06-26 ** Remove support of CHOPSTX_PRIO_INHIBIT_PREEMPTION We used to have (an experimental) feature of higher priority of thread @@ -15,14 +15,32 @@ masking/unmasking interrupt API. From the experience of Chopstx, it is rather consistent to remove this feature. It was over engineering to support a thread having such a special priority. -** New feature -chopstx_critical (void *func (*), *arg) +** New function: chopstx_critical Let run FUNC with ARG, under CPU scheduler lock (== no preemption). ** RISC-V MCU support RISC-V support has been added. It's for the core named Bumblebee. +* Major changes in Chopstx 1.18 + + Released 2019-12-30 + +** Fix of chopstx_poll +When waiting for a condition variable, we supply CHECK method with a +descriptor. Since a condition variable may be fired for multiple +reasons, old implementation of chopstx_poll may return with wrong +information saying a condition of CHECK were met but actually not. It +should not return when condition is not satisfied and it should not +give wrong information to application. Fixed by calling the CHECK +method again when woken up, and don't return when no condition meet. + +** Bug fix for GNU/Linux emulation +When woken up, return value of chx_sched was wrong. Because of this, +timeout handling had problem. Termination value of a thread was +wrong. + + * Major changes in Chopstx 1.17 Released 2019-11-20 diff --git a/README b/README index 5705ea2..96e51db 100644 --- a/README +++ b/README @@ -1,6 +1,6 @@ Chopstx - Threads and only Threads - Version 1.17 - 2019-11-20 + Version 2.0 + 2020-06-26 Niibe Yutaka Flying Stone Technology @@ -9,7 +9,8 @@ What's Chopstx? Chopstx is an RT thread library for STM32F103 and GD32F103 (ARM Cortex-M3), STM32F030 (ARM Cortex-M0), MKL27Z (ARM Cortex-M0plus), -STM32L432 (ARM Cortex-M4), and emulation on GNU/Linux. +STM32L432 (ARM Cortex-M4), GD32V103 (RISC-V Bumblebee) and emulation +on GNU/Linux. While most RTOSes come with many features, drivers, and protocol stacks, Chopstx just offers a simple RT thread library. @@ -60,8 +61,6 @@ For STM32 Primer2, see the directory: example-primer2. Future Works ============ -RISC-V port (for GD32VF103) is under development. - Convenience function to determine the bottom of thread stack, configuration of thread size by compiler's output would be next things to be done. diff --git a/VERSION b/VERSION index 550393c..c1434b7 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -release/1.17 +release/2.0 diff --git a/doc/chopstx.texi b/doc/chopstx.texi index c837ddd..33349ee 100644 --- a/doc/chopstx.texi +++ b/doc/chopstx.texi @@ -1,7 +1,7 @@ \input texinfo @c -*-texinfo-*- @c %**start of header @setfilename chopstx.info -@set VERSION 1.17 +@set VERSION 2.0 @settitle Chopstx Reference Manual @c Unify some of the indices. @syncodeindex tp fn @@ -11,7 +11,7 @@ This manual is for Chopstx (version @value{VERSION}). @noindent -Copyright @copyright{} 2013, 2015, 2016, 2017, 2018, 2019 Flying Stone Technology @* +Copyright @copyright{} 2013, 2015, 2016, 2017, 2018, 2019, 2020 Flying Stone Technology @* @quotation Permission is granted to copy, distribute and/or modify this document @@ -89,9 +89,10 @@ Indexes @chapter Introduction Chopstx is an RT thread library for ARM Cortex-M0, Cortex-M0plus, -Cortex-M3, Cortex-M4 with no FPU or DSP, and GNU/Linux emulation. -Specifically, it is used for STM32F030, MKL27Z, STM32F103, GD32F103, -STM32L432 and as a command on GNU/Linux. +Cortex-M3, Cortex-M4 with no FPU or DSP, RISC-V Bumblebee, and +GNU/Linux emulation. Specifically, it is used for STM32F030, MKL27Z, +STM32F103, GD32F103, STM32L432, GD32V103 and as a command on +GNU/Linux. While most RTOSes come with many features, drivers, and stacks, Chopstx just offers an RT thread library.