forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Scare Crowe
b45efc6417
|
3 years ago | |
---|---|---|
.. | ||
board | 3 years ago | |
contrib | 3 years ago | |
doc | 3 years ago | |
example-cdc | 3 years ago | |
example-cdc-gnu-linux | 3 years ago | |
example-fraucheky | 3 years ago | |
example-fs-bb48 | 3 years ago | |
example-fsm-55 | 3 years ago | |
example-led | 3 years ago | |
example-primer2 | 3 years ago | |
example-usb-serial | 3 years ago | |
mcu | 3 years ago | |
.gitignore | 3 years ago | |
.gitlab-ci.yml | 3 years ago | |
AUTHORS | 3 years ago | |
COPYING | 3 years ago | |
ChangeLog | 3 years ago | |
EXCEPTION | 3 years ago | |
NEWS | 3 years ago | |
README | 3 years ago | |
VERSION | 3 years ago | |
adc.h | 3 years ago | |
chopstx-cortex-m.c | 3 years ago | |
chopstx-cortex-m.h | 3 years ago | |
chopstx-gnu-linux.c | 3 years ago | |
chopstx-gnu-linux.h | 3 years ago | |
chopstx.c | 3 years ago | |
chopstx.h | 3 years ago | |
chopstx.png | 3 years ago | |
chopstx.svg | 3 years ago | |
entry.c | 3 years ago | |
eventflag.c | 3 years ago | |
eventflag.h | 3 years ago | |
rules.mk | 3 years ago | |
sys.h | 3 years ago | |
usb_lld.h | 3 years ago | |
usb_lld_driver.h | 3 years ago |
README
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.
--