Hello,
although it may seem as a bug in FreeMASTER 2.x, this behavior is intentional. For any array type, only the first array member is made available as a “named” symbol. This change was made to limit number of named symbols in the project to speed up the ELF processing, sorting and to simplify symbol lookup in the drop-down lists. When dealing with MCU applications with a large number of arrays with many elements, the list of named symbols has quickly grown beyond reasonable limits. Accessing any array element is still possible though. The address entry in FreeMASTER variable definition dialog is actually able to evaluate the address properly even if element index is higher than zero. You need to type the element index manually.
For example, having a symbol int arr[10]; the two named symbols are registered in the project: arr and arr[0]. When defining a FreeMASTER variable manually, you can specify any element index in the address field: for example arr[1], arr[2] etc. The element address will be resolved properly. BTW: The zero-size bug of version 1.4 should be resolved in 2.x versions.
I understand that having a named symbol for the first array element only presents an issue when mass-generating the variables using the “Generate” tool. The Generate dialog is going to be extended in the upcoming release. It will enable simpler mass-generating variables for array elements from selected range of indices.
Best regards,
Michal