These are pretty standard C compiler concepts, although people used to
> working with pure 32-/64-bit CPUs may not have experience with them. They
> used to be very standard like in x86 real mode.
>
>
ARM does not have near and far qualifier, but it does have some similar
memory-related issues. The range of a subroutine call via a BL or branch,
B, is only +/- 32Mb. That is usually large enough if you are executing
out of a single, contiguous FLASH memory space. But if, for example, you
are running an ELF module in RAM at, say, 0x20000000 and calling into the
OS in FLASH, at 0x00000000, it is not enough range. There are no FAR
pointers, but there is a long call compiler option(-mlong-calls) that is
necessary to get the full 32-bit range of function calls and branches.