Arm сообщает на своем веб-сайте:
Набор инструментов ARM Compiler ... поддерживает полный стандарт ISO C и C ++.
Но я не могу найти, какая именно версия стандарта C.Более новые версии позволяют объявлять переменные в любом месте блока, но более старые версии C требуют, чтобы переменные объявлялись в top блока.Судя по нашим попыткам в комментариях, Arm поддерживает эту более старую версию C. Так что измените свою главную на:
int main() {
unsigned char *Img =& current_y[0][0];
int result = CLAHE (Img,352,288,0,227,2,2,256,3);
read(); // executable statements only after declaring variables.
printf("%d",result);
}