Brooklyn/gnuk/chopstx
Scare Crowe 9cbba792a1 GNUK
2021-05-27 00:21:07 +05:00
..
board GNUK 2021-05-27 00:21:07 +05:00
contrib GNUK 2021-05-27 00:21:07 +05:00
doc GNUK 2021-05-27 00:21:07 +05:00
example-cdc GNUK 2021-05-27 00:21:07 +05:00
example-cdc-gnu-linux GNUK 2021-05-27 00:21:07 +05:00
example-fraucheky GNUK 2021-05-27 00:21:07 +05:00
example-fs-bb48 GNUK 2021-05-27 00:21:07 +05:00
example-fsm-55 GNUK 2021-05-27 00:21:07 +05:00
example-led GNUK 2021-05-27 00:21:07 +05:00
example-primer2 GNUK 2021-05-27 00:21:07 +05:00
example-usb-serial GNUK 2021-05-27 00:21:07 +05:00
mcu GNUK 2021-05-27 00:21:07 +05:00
.gitignore GNUK 2021-05-27 00:21:07 +05:00
.gitlab-ci.yml GNUK 2021-05-27 00:21:07 +05:00
adc.h GNUK 2021-05-27 00:21:07 +05:00
AUTHORS GNUK 2021-05-27 00:21:07 +05:00
ChangeLog GNUK 2021-05-27 00:21:07 +05:00
chopstx-cortex-m.c GNUK 2021-05-27 00:21:07 +05:00
chopstx-cortex-m.h GNUK 2021-05-27 00:21:07 +05:00
chopstx-gnu-linux.c GNUK 2021-05-27 00:21:07 +05:00
chopstx-gnu-linux.h GNUK 2021-05-27 00:21:07 +05:00
chopstx.c GNUK 2021-05-27 00:21:07 +05:00
chopstx.h GNUK 2021-05-27 00:21:07 +05:00
chopstx.png GNUK 2021-05-27 00:21:07 +05:00
chopstx.svg GNUK 2021-05-27 00:21:07 +05:00
COPYING GNUK 2021-05-27 00:21:07 +05:00
entry.c GNUK 2021-05-27 00:21:07 +05:00
eventflag.c GNUK 2021-05-27 00:21:07 +05:00
eventflag.h GNUK 2021-05-27 00:21:07 +05:00
EXCEPTION GNUK 2021-05-27 00:21:07 +05:00
NEWS GNUK 2021-05-27 00:21:07 +05:00
README GNUK 2021-05-27 00:21:07 +05:00
rules.mk GNUK 2021-05-27 00:21:07 +05:00
sys.h GNUK 2021-05-27 00:21:07 +05:00
usb_lld_driver.h GNUK 2021-05-27 00:21:07 +05:00
usb_lld.h GNUK 2021-05-27 00:21:07 +05:00
VERSION GNUK 2021-05-27 00:21:07 +05:00

Chopstx - Threads and only Threads
							Version 1.14
							  2018-03-02
							Niibe Yutaka
					     Flying Stone Technology

What's Chopstx?
===============

Chopstx is an RT thread library for STM32F103 and GD32F103 (ARM
Cortex-M3), STM32F030 (ARM Cortex-M0), MKL27Z (ARM Cortex-M0plus), and
emulation on GNU/Linux.

While most RTOSes come with many features, drivers, and protocol
stacks, Chopstx just offers a simple RT thread library.

With Chopstx, interrupt handling is also done by a thread.  This
enables coherent code for ease of maintenance.

While threads are important, we don't need more threads than
necessary.  Chopstx provides a feature of poll, so that we can
minimize use of threads.


Note that this library is _not_ related to the hand game:

    https://en.wikipedia.org/wiki/Chopsticks_(hand_game)

Thanks to Yao Wei and Enrico Zini for giving me an opportunity
visiting the wiki page above, when my children were playing the game.


License
=======

It is distributed under GNU General Public Licence version 3 or later
(GPLv3+), with additional permission.  Please see COPYING and
EXCEPTION.


Example code
============

We have some examples in this distribution; Useful ones are LED
blinker and USB CDC-ACM device.  For STM32F103, you can build it USB
CDC-ACM demo by:

   $ cd example-cdc
   $ ln -sf ../board/board-olimex-stm32-h103.h board.h
   $ make

If you want to try GD32F103, Add -DMHZ=96 to DEFS in Makefile.

For a specific board named FSM-55, an example of LED matrix dynamic
driver is provided.  See the directory: example-fsm-55.

For STM32 Primer2, see the directory: example-primer2.


Future Works
============

Convenience function to determine the bottom of thread stack,
configuration of thread size by compiler's output would be next things
to be done.

Experimental SMP port for Cortex-A7 is under development.  For SMP,
more careful considerations for shared access to objects of struct
chx_pq is needed.  So, modifications required will not be small.
--