cmvr_head/packages/erpc-1.14.0/examples/hello_world/README.md

55 lines
2.0 KiB
Markdown
Raw Normal View History

2025-12-30 15:44:41 +08:00
# Hello world example
This example shows basic usage of eRPC framework.
## Prerequisites
To build and run this example, you need to install all the necessary requirements for each programming language. For `C/C++`, you need to install Cmake and a compiler. For `Python`, you need to install Python and erpc from pip or source. For `Java`, you need to have `JDK21` and `Maven`. For more information, please check the source folder for each programming language (`erpc_c`, `erpc_python`, `erpc_java`).
### Shim code
Run these commands in this folder based on needs with **correct path** to erpcgen application
C/C++ shim code:
```bash
erpcgen -gc -o ./c/shim/ hello_world.erpc
```
Python shim code:
```bash
erpcgen -gpy -o ./py/shim/ hello_world.erpc
```
Java shim code:
```bash
erpcgen -gjava -p org.example.hello_world -o ./java/src/main/java/org/example/ ./hello_world.erpc
```
## Run example
First run server, then client.
### C/C++
This example use CMake to create executables. In [erpc/](../../) run `cmake -B ./build` (or `cmake --preset mingw64` on win with local mingw) to generate Cmake project. Then run `cmake --build ./build/ --target menuconfig` and enable _Build eRPC Examples -> hello_world_ example (optionally disable _erpcgen_ and _eRPC C lib_). This can be also done by enabling in [erpc/prj.conf](../../prj.conf).
Execute `cmake --build ./build/` to build the example.
Cmake generates four executables (`client`, `server`, `client_cpp`, `server_cpp`) in [build/examples/hello_world](../../build/examples/hello_world).
### Python
To run python example go to folder [py/](./py) and run `python main_server.py` or `python main_client.py`
### Java
Go to folder [java/](./java). Then execute `mvn package` to install dependency and create `.jar` file. Then run `java -jar .\target\hello_world-1.0.jar client` or `java -jar .\target\hello_world-1.0.jar server`.
If you have any problem with Java or Maven, check [erpc_java/readme.md](../../erpc_java/readme.md).