Цитата(sergeeff @ Aug 27 2008, 12:29)

Например так:
typedef void (*pMyFun)(void);
pMyFun MyFun = (pMyFun)0x08000000;
Вызов:
MyFun();
То что нужно но не сработало

((
в резултате получися acм
MOV r4,0x08000000
BLX r4
а BLX умеет переходить только +16М, а надо +138М
Т.е. опишу что мне нужно.
Есть ядро КортехМ3, стартует с адреса 0х0000 0000,
в памяти с адреса 0х0000 0000 + 4096 лежит загрузочное ПЗУ , в которой будет лежать программа по перваоначальной инициализации микроконтроллера, после чего управление должно перейти на программу записанную пользователем во флеш, флеш память начинается с 0х0800 0000.
Сейчас мне нужно в загручояном ПЗУ сдеть переход на флеш память.
Вопрос как мне из ПЗУ передать управление во флеш, если между ними ~138М ничего нет.
Цитата(-=Sergei=- @ Aug 27 2008, 12:55)

То что нужно но не сработало

((
в резултате получися acм
MOV r4,0x08000000
BLX r4
а BLX умеет переходить только +16М, а надо +138М
Т.е. опишу что мне нужно.
Есть ядро КортехМ3, стартует с адреса 0х0000 0000,
в памяти с адреса 0х0000 0000 + 4096 лежит загрузочное ПЗУ , в которой будет лежать программа по перваоначальной инициализации микроконтроллера, после чего управление должно перейти на программу записанную пользователем во флеш, флеш память начинается с 0х0800 0000.
Сейчас мне нужно в загручояном ПЗУ сдеть переход на флеш память.
Вопрос как мне из ПЗУ передать управление во флеш, если между ними ~138М ничего нет.
Сорри изменение, сработало, может перейти однако, немного надо было еще scatter файл подправить.
Спасибо.