Skip to content

Commit abd4bf9

Browse files
committed
Fix markdown warnings
Signed-off-by: Cervenka Dusan <[email protected]>
1 parent 944baa7 commit abd4bf9

File tree

10 files changed

+139
-132
lines changed

10 files changed

+139
-132
lines changed

CONTRIBUTING.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
#Contribution
1+
# Contribution
22

33
Contribution details are described in our [wiki/Contributing](https://github.com/EmbeddedRPC/erpc/wiki/Contributing)

README.md

+44-25
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1+
# eRPC
2+
13
[![Version](https://img.shields.io/github/v/release/EmbeddedRPC/erpc)](https://github.com/EmbeddedRPC/erpc/releases/latest)
24
[![Contributors](https://img.shields.io/github/contributors/EmbeddedRPC/erpc)](https://github.com/EmbeddedRPC/erpc/graphs/contributors)
35
[![Issues](https://img.shields.io/github/issues/EmbeddedRPC/erpc)](https://github.com/EmbeddedRPC/erpc/issues)
46
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](https://github.com/EmbeddedRPC/erpc/pulls)
57
[![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/EmbeddedRPC/erpc)
68

7-
# eRPC
8-
99
eRPC (Embedded RPC) is an open source Remote Procedure Call (RPC) system for multichip embedded systems and heterogeneous multicore SoCs.
1010

1111
Unlike other modern RPC systems, such as the excellent [Apache Thrift](http://thrift.apache.org), eRPC distinguishes itself by being designed for tightly coupled systems, using plain C for remote functions, and having a small code size (<5kB). It is not intended for high performance distributed systems over a network.
@@ -16,7 +16,7 @@ A code generator tool called `erpcgen` is included. It accepts input IDL files,
1616

1717
Example `.erpc` file:
1818

19-
~~~~~{java}
19+
```java
2020
// Define a data type.
2121
enum LEDName { kRed, kGreen, kBlue }
2222

@@ -25,10 +25,11 @@ interface IO {
2525
// Simple function declaration with an empty reply.
2626
set_led(LEDName whichLed, bool onOrOff) -> void
2727
}
28-
~~~~~
28+
```
2929

3030
Client side usage:
31-
~~~~~{c}
31+
32+
```C
3233
void example_client(void) {
3334
// Initialize client running over UART.
3435
erpc_client_init(
@@ -38,10 +39,11 @@ void example_client(void) {
3839
// Now we can call the remote function to turn on the green LED.
3940
set_led(kGreen, true);
4041
}
41-
~~~~~
42+
```
4243

4344
Server side usage:
44-
~~~~~{c}
45+
46+
```C
4547
// Implement the remote function.
4648
void set_led(LEDName whichLed, bool onOrOff) {
4749
// implementation goes here
@@ -59,7 +61,7 @@ void example_server(void) {
5961
// Run the server.
6062
erpc_server_run();
6163
}
62-
~~~~~
64+
```
6365

6466
A number of transports are supported, and new transport classes are easy to write.
6567

@@ -90,16 +92,23 @@ eRPC is available with an unrestrictive BSD 3-clause license. See the [LICENSE f
9092

9193
[Example IDL](examples/README.md) is available in the `examples/` folder.
9294

93-
Plenty of eRPC multicore and multiprocessor examples can be also found in NXP MCUXpressoSDK packages. Visit [https://mcuxpresso.nxp.com](https://mcuxpresso.nxp.com) to configure, build and download these packages.<br>
94-
To get the board list with multicore support (eRPC included) use filtering based on Middleware and search for 'multicore' string. Once the selected package with the multicore middleware is downloaded, see<br>
95-
<MCUXpressoSDK_install_dir>/boards/<board_name>/multicore_examples for eRPC multicore examples (RPMsg_Lite or Messaging Unit transports used) or<br>
96-
<MCUXpressoSDK_install_dir>/boards/<board_name>/multiprocessor_examples for eRPC multiprocessor examples (UART or SPI transports used).<br>
95+
Plenty of eRPC multicore and multiprocessor examples can be also found in NXP MCUXpressoSDK packages. Visit [https://mcuxpresso.nxp.com](https://mcuxpresso.nxp.com) to configure, build and download these packages.
96+
97+
To get the board list with multicore support (eRPC included) use filtering based on Middleware and search for 'multicore' string. Once the selected package with the multicore middleware is downloaded, see
98+
99+
<MCUXpressoSDK_install_dir>/boards/<board_name>/multicore_examples for eRPC multicore examples (RPMsg_Lite or Messaging Unit transports used) or
100+
101+
<MCUXpressoSDK_install_dir>/boards/<board_name>/multiprocessor_examples for eRPC multiprocessor examples (UART or SPI transports used).
102+
97103
eRPC examples use the 'erpc_' name prefix.
98104

99105
Another way of getting NXP MCUXpressoSDK eRPC multicore and multiprocessor examples is using the [mcux-sdk](https://github.com/NXPmicro/mcux-sdk) Github repo. Follow the description how to use the West tool
100-
to clone and update the mcuxsdk repo in [readme Overview section](https://github.com/NXPmicro/mcux-sdk#overview). Once done the armgcc eRPC examples can be found in<br>
101-
mcuxsdk/examples/<board_name>/multicore_examples or in<br>
102-
mcuxsdk/examples/<board_name>/multiprocessor_examples folders.<br>
106+
to clone and update the mcuxsdk repo in [readme Overview section](https://github.com/NXPmicro/mcux-sdk#overview). Once done the armgcc eRPC examples can be found in
107+
108+
mcuxsdk/examples/<board_name>/multicore_examples or in
109+
110+
mcuxsdk/examples/<board_name>/multiprocessor_examples folders.
111+
103112
You can use the evkmimxrt1170 as the board_name for instance. Similar to MCUXpressoSDK packages the eRPC examples use the 'erpc_' name prefix.
104113

105114
## References
@@ -132,7 +141,6 @@ This section provides links to interesting erpc-based projects, articles, blogs
132141

133142
`utilities` - Holds utilities which bring additional benefit to eRPC apps developers.
134143

135-
136144
## Building and installing
137145

138146
These build instructions apply to host PCs and embedded Linux. For bare metal or RTOS embedded environments, you should copy the `erpc_c` directory into your application sources.
@@ -153,6 +161,7 @@ Steps are described in [`erpcgen/VisualStudio_v14/readme_erpcgen.txt`](erpcgen/V
153161
#### Linux and Cygwin
154162

155163
Install these packages:
164+
156165
* bison: GNU yacc-compatible parser generator
157166
* flex: A fast lexical analyzer generator
158167
* libboost-dev, libboost-filesystem-dev, libboost-system-dev: Boost C++ libraries (Linux needs to use libboost version 1.65.0)
@@ -162,12 +171,14 @@ Install these packages:
162171
* g++-7: GNU C++ compiler (recommended version)
163172

164173
Mandatory for case, when build for different architecture is needed
174+
165175
* gcc-multilib, g++-multilib
166176
* boost libraries: for target architecture like libboost-filesystem-dev:i386 libboost-system-dev:i386
167177

168178
#### Mac OS X
169179

170180
Install these packages with [homebrew](http://brew.sh/):
181+
171182
* bison: GNU yacc-compatible parser generator (version 3.7.3 is recommended)
172183
* flex: A fast lexical analyzer generator (version 2.6.4 is recommended)
173184
* boost: Boost C++ libraries (version 1.74 is recommended)
@@ -176,24 +187,31 @@ Install these packages with [homebrew](http://brew.sh/):
176187

177188
To build the library and erpcgen, run from the repo root directory:
178189

179-
% make
190+
```sh
191+
make
192+
```
180193

181194
To install the library, erpcgen, and include files, run:
182195

183-
% make install
196+
```sh
197+
make install
198+
```
184199

185200
You may need to sudo the `make install`.
186201

187202
By default this will install into `/usr/local`. If you want to install elsewhere, set the `PREFIX` environment variable. Example for installing into `/opt`:
188203

189-
% make install PREFIX=/opt
204+
```sh
205+
make install PREFIX=/opt
206+
```
190207

191208
List of top level Makefile targets:
192-
- `erpc`: build the liberpc.a static library
193-
- `erpcgen`: build the erpcgen tool
194-
- `test`: build the unit tests under the `test/` directory
195-
- `all`: build all of the above
196-
- `install`: install liberpc.a, erpcgen, and include files
209+
210+
* `erpc`: build the liberpc.a static library
211+
* `erpcgen`: build the erpcgen tool
212+
* `test`: build the unit tests under the `test/` directory
213+
* `all`: build all of the above
214+
* `install`: install liberpc.a, erpcgen, and include files
197215

198216
eRPC code is validated with respect to the C++ 11 standard.
199217

@@ -202,7 +220,8 @@ eRPC code is validated with respect to the C++ 11 standard.
202220
To install the Python infrastructure for eRPC see instructions in the [erpc_python folder readme](erpc_python/readme.md).
203221

204222
## Known issues and limitations
205-
- Static allocations controlled by the ERPC_ALLOCATION_POLICY config macro are not fully supported yet, i.e. not all erpc objects can be allocated statically now. It deals with the ongoing process and the full static allocations support will be added in the future.
223+
224+
* Static allocations controlled by the ERPC_ALLOCATION_POLICY config macro are not fully supported yet, i.e. not all erpc objects can be allocated statically now. It deals with the ongoing process and the full static allocations support will be added in the future.
206225

207226
## Code providing
208227

doxygen/mainpage_erpcgen.md

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
About eRPC generator {#mainpage}
2-
====================
1+
# About eRPC generator {#mainpage}
32

43
The eRPC generator (erpcgen) is a tool which generates the shim code for a server and client side. The generated shim code handles marshaling and unmarshaling a request. On the server side after unmarshaling, it implements a function call to the appropriate function based on request. An IDL (Interface Definition Language) is used to tell the generator tool about data types and RPC services.

erpc_python/README_Pypi.md

+10-9
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
eRPC Python Infrastructure
2-
==========================
1+
# eRPC Python Infrastructure
32

43
This folder contains the Python implementation of the eRPC infrastructure.
54

6-
The eRPC project is stored on Github: https://github.com/EmbeddedRPC/erpc
5+
The eRPC project is stored on Github: [github.com/EmbeddedRPC/erpc](https://github.com/EmbeddedRPC/erpc)
76

87
The Python implementation of eRPC is fully compatible with the C/C++ implementation at the
98
protocol level. Also, the classes mirror those in the C++ infrastructure.
@@ -12,12 +11,14 @@ Installation:
1211

1312
To install the eRPC Python infrastructure, run the setup.py script like this:
1413

15-
pip install erpc
16-
14+
```sh
15+
pip install erpc
16+
```
1717

1818
Once installed, you can access the infrastructure via a standard import statement.
1919

20-
import erpc
21-
xport = erpc.transport.SerialTransport("/dev/ttyS1", 115200)
22-
client = erpc.client.ClientManager(xport, erpc.basic_codec.BasicCodec)
23-
20+
```python
21+
import erpc
22+
xport = erpc.transport.SerialTransport("/dev/ttyS1", 115200)
23+
client = erpc.client.ClientManager(xport, erpc.basic_codec.BasicCodec)
24+
```

erpc_python/readme.md

+17-13
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
1-
eRPC Python Infrastructure
2-
==========================
1+
# eRPC Python Infrastructure
32

43
This folder contains the Python implementation of the eRPC infrastructure.
54

65
The Python implementation of eRPC is fully compatible with the C/C++ implementation at the
76
protocol level. Also, the classes mirror those in the C++ infrastructure.
87

9-
108
## Contents
119

1210
`erpc` - Python package for eRPC infrastructure.
@@ -19,22 +17,28 @@ protocol level. Also, the classes mirror those in the C++ infrastructure.
1917

2018
Pip package installer needs to be installed in your Python version. Use following way for Python3 pip installation:
2119

22-
sudo apt-get install python3-pip
23-
/usr/bin$ sudo rm python
24-
/usr/bin$ sudo ln -s python3 python
20+
```sh
21+
sudo apt-get install python3-pip
22+
/usr/bin$ sudo rm python
23+
/usr/bin$ sudo ln -s python3 python
24+
```
2525

2626
To install the eRPC Python infrastructure, run the setup.py script like this (based on your system admin rights are required):
2727

28-
python setup.py install
28+
```sh
29+
python setup.py install
30+
```
2931

3032
Alternatively, you may use pip to install the package, like this:
3133

32-
pip install .
33-
34+
```sh
35+
pip install .
36+
```
3437

3538
Once installed, you can access the infrastructure via a standard import statement.
3639

37-
>>>import erpc
38-
>>>xport = erpc.transport.SerialTransport("/dev/ttyS1", 115200)
39-
>>>client = erpc.client.ClientManager(xport, erpc.basic_codec.BasicCodec)
40-
40+
```python
41+
import erpc
42+
xport = erpc.transport.SerialTransport("/dev/ttyS1", 115200)
43+
client = erpc.client.ClientManager(xport, erpc.basic_codec.BasicCodec)
44+
```

0 commit comments

Comments
 (0)