cancel
Showing results for 
Search instead for 
Did you mean: 

OPENAMP stm32h7 Errors after generation on a newer ioc version

Jakicaa
Associate II

STMCubeMX version: 6.14.0

Mcu Reference: STM32H757XIHx

Firmware package name and version: STM32Cube FW_H7 V1.12.1

Openamp version: v2018.10

We had an old project where openamp worked perfectly with the same version (of openamp), what was diffrent was the custom configuration for a specific display(from TGFX 4.25.0) and the version of the ioc file. The actual user configuration in the ioc is the same as is the code.

 

Now we have to make a new project based on touchgfx Custom board configuration 70STM32H7 v4.1.0. The old one was based on 70STM32H7 v3.2.0 (STMCubeMX version: v6.10.0 and FW_H7 V1.11.1) and worked fine without such errors. Openamp versions match on both IOCs. 

I checked the errno.h file for the definitions.

I am currently working on the M4 core. I setup openamp in the ioc then converted main.c to main.cpp. When I try building I get the following errors:

C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/include/metal/system/generic/condition.h: In function 'metal_condition_signal':
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/include/metal/system/generic/condition.h:56:25: error: 'EINVAL' undeclared (first use in this function)
   56 |                 return -EINVAL;
      |                         ^~~~~~
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/include/metal/system/generic/condition.h:56:25: note: each undeclared identifier is reported only once for each function it appears in
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/system/generic/condition.c: In function 'metal_condition_wait':
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/system/generic/condition.c:26:25: error: 'EINVAL' undeclared (first use in this function)
   26 |                 return -EINVAL;
      |                         ^~~~~~
make: *** [Middlewares/OpenAMP/subdir.mk:67: Middlewares/OpenAMP/condition.o] Error 1
make: *** Waiting for unfinished jobs....
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/device.c: In function 'metal_bus_register':
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/device.c:21:25: error: 'EINVAL' undeclared (first use in this function)
   21 |                 return -EINVAL;
      |                         ^~~~~~
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/device.c:21:25: note: each undeclared identifier is reported only once for each function it appears in
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/device.c:23:25: error: 'EEXIST' undeclared (first use in this function)
   23 |                 return -EEXIST;
      |                         ^~~~~~
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/device.c: In function 'metal_bus_find':
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/device.c:52:17: error: 'ENOENT' undeclared (first use in this function)
   52 |         return -ENOENT;
      |                 ^~~~~~
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/device.c: In function 'metal_device_open':
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/device.c:64:25: error: 'EINVAL' undeclared (first use in this function)
   64 |                 return -EINVAL;
      |                         ^~~~~~
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/device.c:71:25: error: 'ENODEV' undeclared (first use in this function)
   71 |                 return -ENODEV;
      |                         ^~~~~~
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/device.c: In function 'metal_register_generic_device':
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/device.c:91:25: error: 'EINVAL' undeclared (first use in this function)
   91 |                 return -EINVAL;
      |                         ^~~~~~
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/device.c: In function 'metal_generic_dev_open':
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/device.c:112:24: warning: implicit declaration of function 'metal_generic_dev_sys_open'; did you mean 'metal_generic_dev_open'? [-Wimplicit-function-declaration]
  112 |                 return metal_generic_dev_sys_open(dev);
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |                        metal_generic_dev_open
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/device.c:115:17: error: 'ENODEV' undeclared (first use in this function)
  115 |         return -ENODEV;
      |                 ^~~~~~
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/device.c: In function 'metal_bus_find':
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/device.c:53:1: warning: control reaches end of non-void function [-Wreturn-type]
   53 | }
      | ^
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/device.c: In function 'metal_generic_dev_open':
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/device.c:116:1: warning: control reaches end of non-void function [-Wreturn-type]
  116 | }
      | ^
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/io.c: In function 'metal_io_init':
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/io.c:30:9: warning: implicit declaration of function 'metal_sys_io_mem_map' [-Wimplicit-function-declaration]
   30 |         metal_sys_io_mem_map(io);
      |         ^~~~~~~~~~~~~~~~~~~~
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/io.c: In function 'metal_io_block_read':
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/io.c:41:25: error: 'ERANGE' undeclared (first use in this function)
   41 |                 return -ERANGE;
      |                         ^~~~~~
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/io.c:41:25: note: each undeclared identifier is reported only once for each function it appears in
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/io.c: In function 'metal_io_block_write':
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/io.c:78:25: error: 'ERANGE' undeclared (first use in this function)
   78 |                 return -ERANGE;
      |                         ^~~~~~
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/io.c: In function 'metal_io_block_set':
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/io.c:114:25: error: 'ERANGE' undeclared (first use in this function)
  114 |                 return -ERANGE;
      |                         ^~~~~~
make: *** [Middlewares/OpenAMP/subdir.mk:69: Middlewares/OpenAMP/device.o] Error 1
make: *** [Middlewares/OpenAMP/subdir.mk:81: Middlewares/OpenAMP/io.o] Error 1
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/open-amp/lib/remoteproc/remoteproc_virtio.c: In function 'rproc_virtio_notified':
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/open-amp/lib/remoteproc/remoteproc_virtio.c:297:25: error: 'EINVAL' undeclared (first use in this function)
  297 |                 return -EINVAL;
      |                         ^~~~~~
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/open-amp/lib/remoteproc/remoteproc_virtio.c:297:25: note: each undeclared identifier is reported only once for each function it appears in
In file included from C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/include/metal/assert.h:15,
                 from C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/shmem.c:13:
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/include/metal/io.h: In function 'metal_io_read':
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/include/metal/system/generic/assert.h:25:32: warning: implicit declaration of function 'assert' [-Wimplicit-function-declaration]
   25 | #define metal_sys_assert(cond) assert(cond)
      |                                ^~~~~~
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/include/metal/assert.h:21:28: note: in expansion of macro 'metal_sys_assert'
   21 | #define metal_assert(cond) metal_sys_assert(cond)
      |                            ^~~~~~~~~~~~~~~~
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/include/metal/io.h:240:9: note: in expansion of macro 'metal_assert'
  240 |         metal_assert(0);
      |         ^~~~~~~~~~~~
In file included from C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/include/metal/shmem.h:15,
                 from C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/shmem.c:14:
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/include/metal/io.h:24:1: note: 'assert' is defined in header '<assert.h>'; did you forget to '#include <assert.h>'?
   23 | #include <metal/cpu.h>
  +++ |+#include <assert.h>
   24 | 
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/shmem.c: In function 'metal_shmem_open_generic':
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/shmem.c:47:17: error: 'ENOENT' undeclared (first use in this function)
   47 |         return -ENOENT;
      |                 ^~~~~~
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/shmem.c:47:17: note: each undeclared identifier is reported only once for each function it appears in
C:/Users/Uporabnik/Documents/Riverdi7NewConfig/Middlewares/Third_Party/OpenAMP/libmetal/lib/shmem.c:48:1: warning: control reaches end of non-void function [-Wreturn-type]
   48 | }
      | ^
make: *** [Middlewares/OpenAMP/subdir.mk:85: Middlewares/OpenAMP/remoteproc_virtio.o] Error 1
make: *** [Middlewares/OpenAMP/subdir.mk:91: Middlewares/OpenAMP/shmem.o] Error 1

I would appreciate any help. I could not find any solutions online.

0 REPLIES 0