Avec ARM, vous devez penser à appeler la convention car une fonction avec plus de quatre arguments les ferait renverser. Je trouve qu'il est beaucoup plus sûr à utiliser __Builtin_frame_address de GCC.
Built-in Function: void * __builtin_frame_address (unsigned int level)