Hi,

I want to improve my knowledge about FAR usage in NuttX code. I've already
read some initial information related to "Far memory" and "3-byte pointers
to access extended memory spaces", but still lacking a practical experience
with a real compiler and device use case. My main question is about FAR
usage notation, because currently it seems to me very confusing. I assume
that notation is very similar to "const", but do not have a way to prove
it, so I'm asking for help from people that have more practical experience.
So I will go with few examples:

1. FAR char *p; -- that is fully understood. Generate code to use a 3-bytes
pointer to char.
2. FAR char **p; -- here where my understanding ends. Is this a 3-byte
pointer to an array of traditional 2-byte pointers or traditional 2-byte
pointer to an array of 3-byte pointers? Or even a 3-byte pointer to an
array of 3-byte pointers?
3. The answer to this will come from answer on 2, but still: is "FAR char *
FAR *p;" valid?

I'm asking this because sometimes I modify common code that is equipped
with "FAR" and want to be sure that my changes will not break things.

Best regards,
Petro

Reply via email to