В продолжении отмечу что работающий вариант был странным образом потерян и тепеь я не пойму почему не работает. Надеюсь на вашу помощь.
И так задача:
0) работа только с RAM.Есть два приложения: одно грузит другое(Hello word).Загрузчик загружается из NIOS II EDS в RAM.
1) загрузить выполняемый код в RAM(из этой же области памяти работает приложение которое грузит его туда) через RS
2) получить адрес с которого начинать выполнение
3) выполнить код с полученного адреса.
пункты 0-2 работают. Однако при выполнении получается просто сброс программы и всё.
код вызова:
Код
...
execBootApp((void(*)(void))(address));
execBootApp((void(*)(void))(address));
код JUMPa по адресу:
Код
void execBootApp(void target(void)){
target();
// Jump back to the reset address
execBootApp((void(*)(void))(RESET_VECTOR));
}
target();
// Jump back to the reset address
execBootApp((void(*)(void))(RESET_VECTOR));
}
Буду благодарен за помощь.