I'm simply not able to make JerryScript work with Zephyr. I have tried different processes with different outcomes:

### 1> 
Tried running the command below (just like this [tutorial](https://github.com/jerryscript-project/jerryscript/tree/master/targets/os/zephyr)) in the `targets\os\zephyr`, but changing the toolchain in the CMakeLists:
```
west build -p auto -b waveshare_nrf5240_eval_kit
```
Changes to the CMakeLists:
from this:
`--toolchain=${JERRY_BASE}/cmake/toolchain_mcu_stm32f4.cmake)`
to this:
`--toolchain=${ZEPHYR_BASE}/boards/arm/waveshare_nrf52840_eval_kit/board.cmake)`

Result:
```
Build files have been written to: C:/company/projects/tst/west-workspace/jerryscript/targets/os/zephyr/build
ninja: error: '../../../../build/lib/libjerry-core.a', needed by 'zephyr/zephyr_prebuilt.elf', missing and no known rule to make it
FATAL ERROR: command exited with status 1: 'C:\Program Files\CMake\bin\cmake.EXE' --build 'C:\company\projects\tst\west-workspace\jerryscript\targets\os\zephyr\build
```

### 2> 
So, tried running the command to generate the libjerry files from the `jerryscript` folder:
`python tools\build.py`, but this gave me this error:
```
[...]
running 'nmake' '-?' failed with the system cannot find the file specified
[...]
```
So I set up the python build to use the ninja (because Zephyr uses ninja, and it is already configured in my machine) using CMake GUI, also set the following with CMake GUI:
```
CMAKE_C_COMPILER <= C:/GNU_ARM_EMBEDDED/bin/arm-none-eabi-gcc.exe
CMAKE_C_COMPILER_WORKS <= TRUE
```
Also set the [configs](https://github.com/jerryscript-project/jerryscript/blob/6fe763f1912c3ef82ec2ca31c40f186dde9c5a57/targets/os/zephyr/CMakeLists.txt#L23) in the `jerryscript\targets\os\zephyr\CMakeLists.txt`  in CMake GUI

And then ran the command `python tools\build.py`, the build is succeeded. After that tried building `jerryscript\targets\os\zephyr` with west.

Result:
```
[...]
fatal error: sys/printk.h: No such file or directory
   19 | #include <sys/printk.h>
[...]
```

### 3>
Then tried running west command in the jerryscript directory (after deleting the contents in the build folder, of course):
```
west build -p auto -b waveshare_nrf52840_eval_kit
```
The build was succeeded, but got the following warning:
```
CMake Warning:
  Manually-specified variables were not used by the project:

    BOARD
    WEST_PYTHON


-- Build files have been written to: C:/moduhub/projects/jerryscript_test/jerrytest/jerryscript/build
-- west build: building application
[3/29] Generating ../amalgam/jerryscript.c, ../amalgam/jerryscript.h
WARNING:root:[2] Include not found (C:\company\projects\jerryscript_test\jerrytest\jerryscript\jerry-core\jmem\jmem-allocator-internal.h:32): "memcheck.h"
[29/29] Linking C static library lib\libjerry-ext.a
```
Then returned to `targets\os\zephyr`, removed the build folder and ran:
```
west build -p auto -b waveshare_nrf52840_eval_kit
```
Got:
```
[...]
fatal error: sys/printk.h: No such file or directory
   19 | #include <sys/printk.h>
[...]
```
So I removed the `#include <sys/printk.h>` header, as it is not required for `printk` anymore, and re-ran the west command.

Result:
```
[...]
fatal error: zephyr.h: No such file or directory
   19 | #include <zephyr.h>
[...]
```

### 4>
Update Zephyr to 3.1.0, setup the the build in the jerryscript folder with CMake GUI, the same way as described above and ran west in `targets\os\zephyr`

Result:
```
c:/gnu_arm_embedded/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: error: zephyr\zephyr_prebuilt.elf uses VFP register arguments, ../../../../build/lib/libjerry-core.a(jerryscript.c.obj) does not
```
But that was fixed by setting float ABI to use soft float calling conventions using `menuconfig`/`guiconfig`:
![image](https://user-images.githubusercontent.com/72050063/198031816-1b7c03cf-4636-4ca5-baeb-8a08e6e972e8.png)

After that I re-ran the west build command, the build was succeeded, so I flashed to the board and openned the Arduino's Serial Monitor, the program simply stops, note how the "js>" is not printed:
![image](https://user-images.githubusercontent.com/72050063/198084538-443cb6cb-1450-4a2b-87f9-c3427bc4c8f7.png)
Tried sending `print('Test')` through the serial monitor, but nothing happens.
When debbug with Ozone, the problem is in the `jerry_init()` function in the `jerry-main.c`, a MemManage exception heppens:
![image](https://user-images.githubusercontent.com/72050063/198086449-5d4d5b90-2334-484e-b45a-39097ba3efa4.png)
Maybe the warning in try number 3 has something to do with it:
```
[...]
WARNING:root:[2] Include not found (C:\company\projects\jerryscript_test\jerrytest\jerryscript\jerry-core\jmem\jmem-allocator-internal.h:32): "memcheck.h"
[...]
``` 


### Comments
I haven't setup Zephyr according to the JerryScript tutorial, because Zephyr is already setup and running.

Platform: Windows 10
Zephyr version: 2.7.0 and 3.1.0
JerryScript Version: 3.0.0
Can't make JerryScript Work with Zephyr
This is a GitHub Issue
repo:jerryscript
owner:jerryscript-project
Title : Can't make JerryScript Work with Zephyr
Issue date:

--- start body ---
I'm simply not able to make JerryScript work with Zephyr. I have tried different processes with different outcomes:

### 1> 
Tried running the command below (just like this [tutorial](https://github.com/jerryscript-project/jerryscript/tree/master/targets/os/zephyr)) in the `targets\os\zephyr`, but changing the toolchain in the CMakeLists:
```
west build -p auto -b waveshare_nrf5240_eval_kit
```
Changes to the CMakeLists:
from this:
`--toolchain=${JERRY_BASE}/cmake/toolchain_mcu_stm32f4.cmake)`
to this:
`--toolchain=${ZEPHYR_BASE}/boards/arm/waveshare_nrf52840_eval_kit/board.cmake)`

Result:
```
Build files have been written to: C:/company/projects/tst/west-workspace/jerryscript/targets/os/zephyr/build
ninja: error: '../../../../build/lib/libjerry-core.a', needed by 'zephyr/zephyr_prebuilt.elf', missing and no known rule to make it
FATAL ERROR: command exited with status 1: 'C:\Program Files\CMake\bin\cmake.EXE' --build 'C:\company\projects\tst\west-workspace\jerryscript\targets\os\zephyr\build
```

### 2> 
So, tried running the command to generate the libjerry files from the `jerryscript` folder:
`python tools\build.py`, but this gave me this error:
```
[...]
running 'nmake' '-?' failed with the system cannot find the file specified
[...]
```
So I set up the python build to use the ninja (because Zephyr uses ninja, and it is already configured in my machine) using CMake GUI, also set the following with CMake GUI:
```
CMAKE_C_COMPILER <= C:/GNU_ARM_EMBEDDED/bin/arm-none-eabi-gcc.exe
CMAKE_C_COMPILER_WORKS <= TRUE
```
Also set the [configs](https://github.com/jerryscript-project/jerryscript/blob/6fe763f1912c3ef82ec2ca31c40f186dde9c5a57/targets/os/zephyr/CMakeLists.txt#L23) in the `jerryscript\targets\os\zephyr\CMakeLists.txt`  in CMake GUI

And then ran the command `python tools\build.py`, the build is succeeded. After that tried building `jerryscript\targets\os\zephyr` with west.

Result:
```
[...]
fatal error: sys/printk.h: No such file or directory
   19 | #include <sys/printk.h>
[...]
```

### 3>
Then tried running west command in the jerryscript directory (after deleting the contents in the build folder, of course):
```
west build -p auto -b waveshare_nrf52840_eval_kit
```
The build was succeeded, but got the following warning:
```
CMake Warning:
  Manually-specified variables were not used by the project:

    BOARD
    WEST_PYTHON


-- Build files have been written to: C:/moduhub/projects/jerryscript_test/jerrytest/jerryscript/build
-- west build: building application
[3/29] Generating ../amalgam/jerryscript.c, ../amalgam/jerryscript.h
WARNING:root:[2] Include not found (C:\company\projects\jerryscript_test\jerrytest\jerryscript\jerry-core\jmem\jmem-allocator-internal.h:32): "memcheck.h"
[29/29] Linking C static library lib\libjerry-ext.a
```
Then returned to `targets\os\zephyr`, removed the build folder and ran:
```
west build -p auto -b waveshare_nrf52840_eval_kit
```
Got:
```
[...]
fatal error: sys/printk.h: No such file or directory
   19 | #include <sys/printk.h>
[...]
```
So I removed the `#include <sys/printk.h>` header, as it is not required for `printk` anymore, and re-ran the west command.

Result:
```
[...]
fatal error: zephyr.h: No such file or directory
   19 | #include <zephyr.h>
[...]
```

### 4>
Update Zephyr to 3.1.0, setup the the build in the jerryscript folder with CMake GUI, the same way as described above and ran west in `targets\os\zephyr`

Result:
```
c:/gnu_arm_embedded/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: error: zephyr\zephyr_prebuilt.elf uses VFP register arguments, ../../../../build/lib/libjerry-core.a(jerryscript.c.obj) does not
```
But that was fixed by setting float ABI to use soft float calling conventions using `menuconfig`/`guiconfig`:
![image](https://user-images.githubusercontent.com/72050063/198031816-1b7c03cf-4636-4ca5-baeb-8a08e6e972e8.png)

After that I re-ran the west build command, the build was succeeded, so I flashed to the board and openned the Arduino's Serial Monitor, the program simply stops, note how the "js>" is not printed:
![image](https://user-images.githubusercontent.com/72050063/198084538-443cb6cb-1450-4a2b-87f9-c3427bc4c8f7.png)
Tried sending `print('Test')` through the serial monitor, but nothing happens.
When debbug with Ozone, the problem is in the `jerry_init()` function in the `jerry-main.c`, a MemManage exception heppens:
![image](https://user-images.githubusercontent.com/72050063/198086449-5d4d5b90-2334-484e-b45a-39097ba3efa4.png)
Maybe the warning in try number 3 has something to do with it:
```
[...]
WARNING:root:[2] Include not found (C:\company\projects\jerryscript_test\jerrytest\jerryscript\jerry-core\jmem\jmem-allocator-internal.h:32): "memcheck.h"
[...]
``` 


### Comments
I haven't setup Zephyr according to the JerryScript tutorial, because Zephyr is already setup and running.

Platform: Windows 10
Zephyr version: 2.7.0 and 3.1.0
JerryScript Version: 3.0.0
--- end body ---
