В кейле скомпилировал hex файл. Залил через h-jtag. Ресетнул на всякий - а лампочка не мигает как должна.
Делал даже еще тупее - просто весь порт на OUTPUT и везде IOSET0 в единицу. Все равно не горит.
Где я ошибаюсь?
arttech
Jan 25 2008, 12:19
Цитата(kna @ Jan 25 2008, 16:07)
В кейле скомпилировал hex файл. Залил через h-jtag. Ресетнул на всякий - а лампочка не мигает как должна.
Делал даже еще тупее - просто весь порт на OUTPUT и везде IOSET0 в единицу. Все равно не горит.
Где я ошибаюсь?
А что и куда заливалось, в какой тип контроллера?
Romanello
Jan 25 2008, 12:26
Цитата(kna @ Jan 25 2008, 15:07)
В кейле скомпилировал hex файл. Залил через h-jtag. Ресетнул на всякий - а лампочка не мигает как должна.
Делал даже еще тупее - просто весь порт на OUTPUT и везде IOSET0 в единицу. Все равно не горит.
Где я ошибаюсь?
Вы бы хоть исходник бы выложили, а также указали бы тип контроллера, здесь же не экстрасенсы и они не знают, что Вы делаете. После этого можно давать советы.
/****************/ /* main program */ /****************/ int main (void) { /* execution starts here */
IODIR0 = 0xFFFFFFFF; IOSET0 = 0xFFFFFFFF;
/* initialize the serial interface */ //PINSEL0 = 0x00050000; /* Enable RxD1 and TxD1 */ //U1LCR = 0x83; /* 8 bits, no Parity, 1 Stop bit */ //U1DLL = 97; /* 9600 Baud Rate @ 15MHz VPB Clock */ //U1LCR = 0x03; /* DLAB = 0 */
//printf ("Hello World\n"); /* the 'printf' function call */
while (1) { /* An embedded program does not stop and */ ; /* ... */ /* never returns. We use an endless loop. */ } /* Replace the dots (...) with your own code. */ }[code]
Как можно заметить ето был Hello из примеров к кейлу
arttech
Jan 25 2008, 13:10
Цитата(kna @ Jan 25 2008, 16:43)
Извиняйте - совсем уже устал от секса с АРМом. У меня lpc2294 от OLIMEX . Исходник не столь большой:
Убедитесь, что нога для прошивки в режиме bootloadera подсоединена через резистор на VCC
Цитата(arttech @ Jan 25 2008, 17:08)
Убедитесь, что нога для прошивки в режиме bootloadera подсоединена через резистор на VCC
это 92-й pin P0.14
kna
Jan 25 2008, 13:48
Выставил, благо они на тестовой плате выведены на переключатели. Непомогло. Заливаю через H-JTAG - одно и тоже, лампочка не моргает.
Romanello
Jan 25 2008, 13:51
Цитата(kna @ Jan 25 2008, 15:43)
Извиняйте - совсем уже устал от секса с АРМом.
У меня lpc2294 от OLIMEX .
Исходник не столь большой:
main.c
[code] //#include <stdio.h> /* prototype declarations for I/O functions */ #include <LPC22xx.H> /* LPC21xx definitions */ /****************/ /* main program */ /****************/ int main (void) { /* execution starts here */
IODIR0 = 0xFFFFFFFF; IOSET0 = 0xFFFFFFFF;
/* initialize the serial interface */ //PINSEL0 = 0x00050000; /* Enable RxD1 and TxD1 */ //U1LCR = 0x83; /* 8 bits, no Parity, 1 Stop bit */ //U1DLL = 97; /* 9600 Baud Rate @ 15MHz VPB Clock */ //U1LCR = 0x03; /* DLAB = 0 */
//printf ("Hello World\n"); /* the 'printf' function call */
while (1) { /* An embedded program does not stop and */ ; /* ... */ /* never returns. We use an endless loop. */ } /* Replace the dots (...) with your own code. */ }[code]
Как можно заметить ето был Hello из примеров к кейлу
Если у вас плата от OIMEX, то проверьте переключатели на 13 и на 16 ногу LPC 2294 (порты D26 D27). Они отвечают за загрузку области флеша и режима работы внешей памяти.
kna
Jan 25 2008, 14:20
Да это та самая плата OLIMEX.
Думаю что многим таким же как я начинающим будет полезно узнать как же ету тварь заставить работать.
Что было сделано: Выставил P0.14 на + что гарантирует переход к выполнению программы. Или же если пользовательская программа не обнаружена или там чтото не то - начинает ждать с уарта ввода команд. Т.е. становиться дступна через Pkilips Flash Utility. Это краткий конспект книжки лежащей предомной.
Вобщем я прошиваю, жму ресет и плата у меня не хочет работать. Заместо етого она делает auto_baud на уарте и ждет там комманд. Т.е. код не работает.
Может надо какиелибо адреса указывать?
Dron_Gus
Jan 25 2008, 14:35
Кажется там где-то на месте неиспользуемого вектора должна быть CRC всех векторов. Если не совпадает - то грузится бут.
Если не прав - сорри. Я по lpc не специалзируюсь.
Romanello
Jan 25 2008, 14:55
Цитата(kna @ Jan 25 2008, 17:20)
Да это та самая плата OLIMEX.
Думаю что многим таким же как я начинающим будет полезно узнать как же ету тварь заставить работать.
Что было сделано: Выставил P0.14 на + что гарантирует переход к выполнению программы. Или же если пользовательская программа не обнаружена или там чтото не то - начинает ждать с уарта ввода команд. Т.е. становиться дступна через Pkilips Flash Utility. Это краткий конспект книжки лежащей предомной.
Вобщем я прошиваю, жму ресет и плата у меня не хочет работать. Заместо етого она делает auto_baud на уарте и ждет там комманд. Т.е. код не работает.
Может надо какиелибо адреса указывать?
А Startup файл у вас присоединен к проекту и какие у него настройки?
kna
Jan 28 2008, 07:22
Подсоединен. По прицине его громоздкости не стал его выкладывать. Выложу архивом весь проект.
alexander55
Jan 28 2008, 07:50
Цитата(kna @ Jan 28 2008, 10:22)
Я что-то не вижу в Вашей программе миганий светодиодом (или это где-то за кадром).
kna
Jan 28 2008, 07:56
Я уже отставил идею мигать. Мне бы просто его зажечь. Я определяю вход как OUTPUT и выключаю светодиод на P0.30 и впадаю в вечный цикл.
Второй день уже бьюсь.. не хотит
alexander55
Jan 28 2008, 08:08
Цитата(kna @ Jan 28 2008, 10:56)
Я уже отставил идею мигать.
Цитата(kna @ Jan 28 2008, 10:56)
Мне бы просто его зажечь. Я определяю вход как OUTPUT и выключаю светодиод на P0.30 и впадаю в вечный цикл.
Второй день уже бьюсь.. не хотит
Для примера определения для P0.31 #define LED3_ON (IO0CLR_bit.P0_31 = 1) #define LED3_OFF (IO0SET_bit.P0_31 = 1) //#define Test_LED3 (IO0PIN_bit.P0_31) #define Test_LED3 (IO0SET_bit.P0_31)
kna
Jan 28 2008, 08:21
Сработало бы если бы у меня был IAR
Romanello
Jan 28 2008, 08:23
Цитата(kna @ Jan 28 2008, 10:56)
Я уже отставил идею мигать. Мне бы просто его зажечь. Я определяю вход как OUTPUT и выключаю светодиод на P0.30 и впадаю в вечный цикл.
Второй день уже бьюсь.. не хотит
Ну во первых, посмотрев на Ваш проект, у вас не стоят галочки в Startup.s файле напротив VPDIV и PLL Setup. А во вторых судя по схеме чтобы зажечь светодиод вам нужно сделать не IOSET0 = 0x40000000; а IOCLR0 = 0x40000000; если это схема LPC-H2294.
kna
Jan 28 2008, 08:39
Выполнил все. Неработает.
Данный тезис сподвиг меня почитать про ФАПЧ. Спасибо.
Попробовал оба варианта возгорания лампочки. Лампочка все еще не горит.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.