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