Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: LPC2XXX IAP
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
asav
Я работаю с IAP для микроконтроллера LPCE2294. Я легко могу выполнять все команды, кроме одной - записи во флешку. Когда я пытаюсь что-то записать, возникает ошибка с кодом 4 - типа, исходный адрес буфера в ОЗУ должен быть замаппен. А как это сделать, я не знаю. Может быть, кто-нибудь подскажет?
zltigo
Цитата(asav @ Apr 25 2006, 10:43) *
Я работаю с IAP для микроконтроллера LPCE2294.

Вы что, пытаетесь из внешней RAM?
asav
Цитата(zltigo @ Apr 25 2006, 12:14) *
Цитата(asav @ Apr 25 2006, 10:43) *

Я работаю с IAP для микроконтроллера LPCE2294.

Вы что, пытаетесь из внешней RAM?

Ну да. Я ваще-то в этом только начинаю разбираться. А как надо?
Кстати, я работаю с ОС ECOS, которая стоит на микрухе, а не использую IAR
Evgeny_CD
Цитата(asav @ Apr 25 2006, 13:00) *
Кстати, я работаю с ОС ECOS, которая стоит на микрухе, а не использую IAR
Вы имеете в виду
http://ecos.sourceware.org/
А где Вы взяли порт?
zltigo
Цитата(asav @ Apr 25 2006, 12:00) *
Ну да. Я ваще-то в этом только начинаю разбираться. А как надо?

Не знаю, в том смысле, что из основной работает беспроблемно, если указать реально существующую
память. А из внешней не пробовал никогда.

Цитата
Кстати, я работаю с ОС ECOS, которая стоит на микрухе, а не использую IAR

О чем мы это ECOS, IA_R_ ???
asav
Цитата(zltigo @ Apr 25 2006, 21:20) *
Цитата(asav @ Apr 25 2006, 12:00) *

Ну да. Я ваще-то в этом только начинаю разбираться. А как надо?

Не знаю, в том смысле, что из основной работает беспроблемно, если указать реально существующую
память. А из внешней не пробовал никогда.

Цитата
Кстати, я работаю с ОС ECOS, которая стоит на микрухе, а не использую IAR

О чем мы это ECOS, IA_R_ ???


Насчет static RAM - большое спасибо - действительно, работает без проблем. А вот с внешней памятью - какой-то гемор. А ECOS (embedded Configurable OS) я приплел потому, что там используется сигвиновский компилятор, который дает другой ассемблерный код, чем IAR. Посему, в частности, для работы с IAP способ, описанный в мануале для LPC2294 с Philips'а, не работает. Пришлось писать на ASM'е и потом из C-шной проги вызывать процедуру обращения к IAP.
zltigo
Цитата(asav @ Apr 26 2006, 07:22) *
А ECOS (embedded Configurable OS) я приплел потому, что там используется сигвиновский компилятор, который дает другой ассемблерный код, чем IAR. Посему, в частности, для работы с IAP способ, описанный в мануале для LPC2294 с Philips'а, не работает. Пришлось писать на ASM'е и потом из C-шной проги вызывать процедуру обращения к IAP.

Там в мануале действительно отфонарно написано. Я сделал вызов по простому и на мой взгляд
переносимо:

Код
// IAP Structure
struct s_iap {        
  ulong cmd;           // Command
  ulong par[4];        // Parameters
  ulong status;    
  ulong result;
}Iap;

// IAP Execute
static void iap_exec( struct s_iap *iap_struct );

//---------------------------------------------------------------------------
//
//---------------------------------------------------------------------------
__thumb void iap_exec( struct s_iap *iaps )
{
#define IAP_LOCATION 0x7FFFFFF1
    ((void(*)( ulong *, ulong *))IAP_LOCATION)( (ulong *)iaps, ((ulong*)iaps) + 5 );

//bprintf( "CMD=%08X params=%08X %08X %08X %08X\n ST=%08X result=%08X",
//         iaps->cmd, iaps->par[0], iaps->par[1], iaps->par[2], iaps->par[3],
//         iaps->status, iaps->result );
}
asav
[/quote]
Там в мануале действительно отфонарно написано. Я сделал вызов по простому и на мой взгляд
переносимо:

Спасибо за С-шный код!
Кстати, у меня какая-то дебильная проблема появилась: не могу записать на флешку массив из 0xFF, Понятно, что это число для флешки особое, но все равно как-то странно. Вы не знаете, это я криворукий или как?
Dimchansky
Цитата(Evgeny_CD @ Apr 25 2006, 16:33) *
Вы имеете в виду
http://ecos.sourceware.org/
А где Вы взяли порт?


это?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.