Loading...
 

STM32MP1 support available in SW4STM32

   With System Workbench for Linux, Embedded Linux on the STM32MP1 family of MPUs from ST was never as simple to build and maintain, even for newcomers in the Linux world.
And, if you install System Workbench for Linux in System Workbench for STM32 you can seamlessly develop and debug asymmetric applications running partly on Linux, partly on the Cortex-M4; you can download a short video showcasing this on the ac6-tools website (registration required).

System Workbench for STM32


France

Hi,

If you want to have the address after the testar array you must declare ptestar as a pointer to a pointer to int (as it is really the address of an array of 3 ints...):
int **ptestar = &testar+1;
However, there is two things to note about your code:
  1. If you follow strictly the C standard, your C program is not standard compliant, as pointer arithmetic is restricted to stay inside a single C object, while you code use pointer arithmetic to point to a integer array located after the testar object
  2. If you want to be clearer that what follows testar is not another integer array, you may devlare ptestar as a pointer to void:
    void *ptestar = &testar+1;
  3. Obviously, the testar declaration must be an array definition that provides the compiler with the size of the array; it cannot be an external declaration of a variable size array as, in this case, the compiler will not have any way, at compile time, to know the size of the array: it will only be known at link time, too late for the compiler to use it.

Hope this helps,

Bernard (Ac6)