I am trying to port zephyr rtos on shakti processor, it s a riscv based 32bit processor. They already have ported the zephyr rtos to shakti v1.13. I want to port the latest zephyr rtos v3.4.0 to it. I followed this board porting guide and copied the required board support code from the downstream code to the current version. But I am getting an error in device tree
west build -p always -b shakti samples/hello_world
-- west build: making build dir /home/kanak/zephyrproject/zephyr/build pristine
-- west build: generating a build system
Loading Zephyr default modules (Zephyr base).
-- Application: /home/kanak/zephyrproject/zephyr/samples/hello_world
-- CMake version: 3.22.1
-- Found Python3: /home/kanak/zephyrproject/.venv/bin/python3.10 (found suitable exact version "3.10.6") found components: Interpreter
-- Cache files will be written to: /home/kanak/.cache/zephyr
-- Zephyr version: 3.4.0 (/home/kanak/zephyrproject/zephyr)
-- Found west (found suitable version "1.1.0", minimum required is "0.14.0")
-- Board: shakti
-- ZEPHYR_TOOLCHAIN_VARIANT not set, trying to locate Zephyr SDK
-- Found host-tools: zephyr 0.16.1 (/home/kanak/zephyr-sdk-0.16.1)
-- Found toolchain: zephyr 0.16.1 (/home/kanak/zephyr-sdk-0.16.1)
-- Found Dtc: /home/kanak/zephyr-sdk-0.16.1/sysroots/x86_64-pokysdk-linux/usr/bin/dtc (found suitable version "1.6.0", minimum required is "1.4.6")
-- Found BOARD.dts: /home/kanak/zephyrproject/zephyr/boards/riscv/shakti/shakti.dts
devicetree error: 'reg' property in has length 8, which is not evenly divisible by 16 (= 4*(<#address-cells> (= 2) + <#size-cells> (= 2))). Note that #*-cells properties come either from the parent node or from the controller (in the case of 'interrupts').
-- In: /home/kanak/zephyrproject/zephyr/build/zephyr, command: /home/kanak/zephyrproject/.venv/bin/python3.10;/home/kanak/zephyrproject/zephyr/scripts/dts/gen_defines.py;--dts;/home/kanak/zephyrproject/zephyr/build/zephyr/zephyr.dts.pre;--dtc-flags;'';--bindings-dirs;/home/kanak/zephyrproject/zephyr/dts/bindings;--header-out;/home/kanak/zephyrproject/zephyr/build/zephyr/include/generated/devicetree_generated.h.new;--dts-out;/home/kanak/zephyrproject/zephyr/build/zephyr/zephyr.dts.new;--edt-pickle-out;/home/kanak/zephyrproject/zephyr/build/zephyr/edt.pickle;--vendor-prefixes;/home/kanak/zephyrproject/zephyr/dts/bindings/vendor-prefixes.txt
CMake Error at /home/kanak/zephyrproject/zephyr/cmake/modules/dts.cmake:276 (message):
gen_defines.py failed with return code: 1
Call Stack (most recent call first):
/home/kanak/zephyrproject/zephyr/cmake/modules/zephyr_default.cmake:115 (include)
/home/kanak/zephyrproject/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:66 (include)
/home/kanak/zephyrproject/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:92 (include_boilerplate)
CMakeLists.txt:5 (find_package)
— Configuring incomplete, errors occurred!
FATAL ERROR: command exited with status 1: /usr/bin/cmake -DWEST_PYTHON=/home/kanak/zephyrproject/.venv/bin/python3 -B/home/kanak/zephyrproject/zephyr/build -GNinja -DBOARD=shakti -S/home/kanak/zephyrproject/zephyr/samples/hello_world
I have my code here.
I am new to porting and this is my first attempt at it. Earlier I have just followed guides of existing ports. Any help would be appreciated.
Thank You