Нет, не правильно! :!: Объясню почему, ты пишешь BLX mmitfs4_CheckFileExist, т.е. указываешь процессору при переходе на mmitfs4_CheckFileExist переключится в ARM-режим, переходит на:
PUSH {R0,R1}
LDR R0, =mmitfs4_CheckFileExist
STR R0, [SP, #0x4]
POP {R0,PC}
DCD mmitfs4_CheckFileExist
что и близко ARM не пахнет, так что на этом тел зависнет. Есть много способов организовать дальний переход, например, если ты видишь, что bl ты не достанешь, можно написать так: ...
blx j_mmitfs4_CheckFileExist
...
j_mmitfs4_CheckFileExist: blxx mmitfs4_CheckFileExist+1