Доброго времени суток!
Благодаря вашей помощи всё заработало!!!
У меня по ходу возник другой вопрос:
/с адресами вроде теперь понятно/
Основной модуль(назову его Системой) стартует из пзу самого контроллера.
Подгружаемые в озу модули должны пользоваться функциями и стеком Системы.
Вызываться функции из модулей должны... я думаю так:
Код
....
sys_swi_8("test");
....
их описание:
Код
void sys_swi_8(unsigned int adr) __swi(8) //printf
{
adres = adr;
TASK8 = os_tsk_create_ex(task1,2,adres);
}
сама фунция(здесь пример конечной,но может быть и цикличной):
Код
void task1(unsigned int addr) __task
{
printf(addr);
os_tsk_delete_self();
}
1) сколько штук SWI я могу сделать?
и/или номера фунций указывать одному SWI как параметр?
2) модули пишутся как просто программа (void main(void))
при компиляции у меня (в симуляторе) не происходит старт с main.
/наверное надо делать какой нибудь свой startup/
3) пока не разобрался как размещать их в озу при загрузке из SD/MMC и т.п.
/то, что пыровнять адреса это уже понятно/
4) будут ли они(загр.модули) перемещаемыми?
/можно ли их разместить в произвольном порядке/
5) пока не очень понятно как сделать __task к загруженному модулю.
Спасибо!!!