Skip to content
This repository was archived by the owner on Dec 6, 2018. It is now read-only.

Commit 948997d

Browse files
committed
Merge pull request #21 from InnusiG/main-page
Main Page Update
2 parents 5081fc9 + c5759e9 commit 948997d

File tree

1 file changed

+76
-8
lines changed

1 file changed

+76
-8
lines changed

README.md

+76-8
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,90 @@
11
# The Core: C++ Embedded Framework
22

3+
[![Build Status](https://travis-ci.org/forGGe/theCore.svg?branch=master)](https://travis-ci.org/forGGe/theCore)
34
[![Join the chat at https://gitter.im/forGGe/theCore](https://badges.gitter.im/forGGe/theCore.svg)](https://gitter.im/forGGe/theCore?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
45

5-
[![Build Status](https://travis-ci.org/forGGe/theCore.svg?branch=master)](https://travis-ci.org/forGGe/theCore)
66
## Description
77

8-
The Core is highly configurable, straightforward C++ framework with minimum
9-
set of development dependencies. It aimed to reduce development efforts for
10-
embedded applications.
8+
The Core is highly configurable, straightforward C++ framework with minimum set of development dependencies. It aimed to reduce development efforts for embedded applications.
9+
The main idea of The Core is to make as much as possible in the compile time. This affects the way how the device drivers and peripherals are represented. In fact, each driver is the template class that is instantiated with all the dependencies in a distinct type by user of The Core in compile-time.
10+
11+
You can check out more directly in the code of [the SPI driver](/blob/master/platform/stm32f4xx/export/platform/spi_bus.hpp) or [the USART bus](/blob/master/platform/stm32f4xx/export/platform/usart_bus.hpp).
12+
13+
The project is at the initial stage. But something is already in there:
14+
- CMake-based build-system
15+
- Dependency management through [nix](https://nixos.org/nix/)
16+
- Unit tests using [CppUTest](http://cpputest.github.io/)
17+
- Filesystem [Petite FAT](http://elm-chan.org/fsw/ff/00index_p.html)
18+
- Thread, allocators, devices abstractions
19+
- Platform-level drivers, the IRQ manager, console, startup code
20+
- Useful libraries
21+
- Doxygen documentation
1122

1223
## Getting started
13-
Refer to [the blinky example](https://github.com/forGGe/theCore-blinky) project in order to start developing
14-
using The Core.
24+
25+
If you are interested in the simplest, ready-made demo project based on The Core,
26+
refer to [the blinky example project](https://github.com/forGGe/theCore-blinky).
27+
28+
In order to proceed with The Core itself, start cloning this repository:
29+
```
30+
git clone https://github.com/forGGe/theCore.git
31+
```
32+
33+
When the code is received, you have to download and install all the dependencies.
34+
The process can take some time.
35+
To make it easier, I’d strongly recommend to download and install `nix`.
36+
The installation guide could be found
37+
[on the official website](https://nixos.org/nixos/manual/index.html#ch-installation) or
38+
[Domenkozar's blog](https://www.domenkozar.com/2014/01/02/getting-started-with-nix-package-manager/)
39+
.
40+
41+
After `nix` installation, run:
42+
```bash
43+
nix-shell core --pure
44+
...
45+
```
46+
47+
## Unit tests
48+
49+
The Core's unit tests can be built and run on the host machine.
50+
For this you have to run the nix-shell and trigger a build:
51+
52+
```bash
53+
cd /path/to/the/core
54+
nix-shell . --pure
55+
mkdir build
56+
cd build
57+
cmake ..
58+
make
59+
```
60+
61+
Then, you should run the unit tests:
62+
```bash
63+
ctest . --output-on-failure
64+
```
1565

1666
## Supported platforms
17-
At this moment only host and stm32f4xx platforms are supported.
67+
68+
Currently, the stm32f4xx platform is supported and available for further development, as well as the host-platform, used for unit tests.
69+
70+
## Documentation
71+
72+
The current documentation of The Core is completely stated in the code (as doxygen comments). To generate the HTML pages from Doxygen is quite enough to run:
73+
74+
```bash
75+
make core_doc
76+
```
77+
78+
in the build directory (see [units](#Unit tests)).
1879

1980
## License
81+
2082
The source code is distributed under LGPL v3.0 License.
2183

22-
**Configuration description, examples and guides are pending.**
84+
85+
## Contribution & Using
86+
87+
The project is on its very beginning, so any help is more than welcome and highly appreciated. If you'd like to take a part in the project growth and (or) have any questions – feel free to email me at [email protected], leave message at [gitter](https://gitter.im/forGGe/theCore) or simply check out [a list of issues](/issues). If you have any suggestions on The Core improvement or just like it how it is, don’t keep silence! I’ll be happy to read your reviews.
88+
89+
You are welcome to use The Core in your own projects. If there is something that it’s not enough for this, please let me know via email or open some issues and we will do our best to handle this ASAP. Good luck!
90+

0 commit comments

Comments
 (0)