|
FreeRTOS + LPC2378 |
|
|
|
 |
Ответов
|
Feb 1 2007, 16:57
|

Частый гость
 
Группа: Свой
Сообщений: 152
Регистрация: 11-10-05
Из: Воронеж
Пользователь №: 9 491

|
Цитата(3.14 @ Feb 1 2007, 16:55)  Прерывания разрешаются, насколько я проникся, после инита всей системы. Например, имею I2C LCD, обмен которого осуществляется через прерывания, соответсвенно на ините этого LCD (если его вначале main включать) все и встанет. а, ну это разумеется, да. что, кстати, неудобно - приходится инициализацию делать уже в многозадачном режиме, то есть через задницу
|
|
|
|
|
Feb 1 2007, 19:27
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(sergik_vrn @ Feb 1 2007, 15:57)  Цитата(3.14 @ Feb 1 2007, 16:55)  Прерывания разрешаются, насколько я проникся, после инита всей системы. Например, имею I2C LCD, обмен которого осуществляется через прерывания, соответсвенно на ините этого LCD (если его вначале main включать) все и встанет.
а, ну это разумеется, да. что, кстати, неудобно - приходится инициализацию делать уже в многозадачном режиме, то есть через задницу Конец инициализации "всей системы" определяете лично Вы вызовом vTaskStartScheduler( ) причем уж точно в main() и после инициализации всякого своего железа. Медленно инициализирующееся железо подвешивается вместо IdleTask (в оригинальной реализации Hook предусмотрен) и в конце цепочки Hook снимается. Единствено, что для IdleTask задержку свою писать надо, обо системная естественно не работает. Может стоит докуменацию на FreeRTOS почитать а?
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Feb 2 2007, 13:18
|

Частый гость
 
Группа: Свой
Сообщений: 152
Регистрация: 11-10-05
Из: Воронеж
Пользователь №: 9 491

|
Цитата(zltigo @ Feb 1 2007, 19:27)  Цитата(sergik_vrn @ Feb 1 2007, 15:57)  Цитата(3.14 @ Feb 1 2007, 16:55)  Прерывания разрешаются, насколько я проникся, после инита всей системы. Например, имею I2C LCD, обмен которого осуществляется через прерывания, соответсвенно на ините этого LCD (если его вначале main включать) все и встанет.
а, ну это разумеется, да. что, кстати, неудобно - приходится инициализацию делать уже в многозадачном режиме, то есть через задницу Конец инициализации "всей системы" определяете лично Вы вызовом vTaskStartScheduler( ) причем уж точно в main() и после инициализации всякого своего железа. Медленно инициализирующееся железо подвешивается вместо IdleTask (в оригинальной реализации Hook предусмотрен) и в конце цепочки Hook снимается. Единствено, что для IdleTask задержку свою писать надо, обо системная естественно не работает. Может стоит докуменацию на FreeRTOS почитать а? Вы меня немного не так поняли. я имел в виду ситуацию, когда мне уже надо пользоваться прерываниями, но не запускать многозадачный режим - скажем, инициализировать внешние объекты, используя рабочие библиотеки. режим поллинга тут в принципе подходит, но для этого надо писать отдельный код Цитата ...А инициализацию в задачу запихайте. вот это я и имел в виду, когда писал про "задницу". получается не очень красиво. а когда еще желательно это делать не в любой момент, притом стопить другие задачи, притом тоже не как попало... Цитата(3.14 @ Feb 2 2007, 12:59)  uip.c (UIP_FIXEDADDR=1): Код #if UIP_FIXEDADDR > 0 const u16_t uip_hostaddr[2] = {HTONS((UIP_IPADDR0 << 8) | UIP_IPADDR1), HTONS((UIP_IPADDR2 << 8) | UIP_IPADDR3)}; const u16_t uip_arp_draddr[2] = {HTONS((UIP_DRIPADDR0 << 8) | UIP_DRIPADDR1), HTONS((UIP_DRIPADDR2 << 8) | UIP_DRIPADDR3)}; const u16_t uip_arp_netmask[2] = {HTONS((UIP_NETMASK0 << 8) | UIP_NETMASK1), HTONS((UIP_NETMASK2 << 8) | UIP_NETMASK3)}; #else u16_t uip_hostaddr[2]; u16_t uip_arp_draddr[2], uip_arp_netmask[2]; #endif /* UIP_FIXEDADDR */ uip_arp.h: Код ... /** * \internal Internal variables that are set using the macros * uip_setdraddr and uip_setnetmask. */ extern u16_t uip_arp_draddr[2], uip_arp_netmask[2]; //u16_t uip_arp_draddr[2], uip_arp_netmask[2]; #endif /* __UIP_ARP_H__ */ если в uip_arp просто объявить этот массив (убрал extern), тогда линковщик ругается на дублирование ... ну так он у Вас описан как const, а объявление не константное. может, в этом дело? на месте линкера я бы обиделся
|
|
|
|
Сообщений в этой теме
3.14 FreeRTOS + LPC2378 Jan 29 2007, 12:23 3.14 Вобщем, не понял почему в данном случае у симулято... Jan 29 2007, 13:51 Alex03 Цитата(3.14 @ Jan 29 2007, 14:23) Решил п... Jan 29 2007, 13:51 3.14 Похоже что то с вычислением адреса возврата в port... Jan 29 2007, 14:43 3.14 Похоже что собака зарылась в настройках контроллер... Jan 30 2007, 13:36 3.14 Блин, уперся обеими рогами.
Никак немогу заставить... Feb 1 2007, 14:20 Сергей Борщ Цитата(3.14 @ Feb 1 2007, 13:20) Пока ста... Feb 1 2007, 15:24  sergik_vrn Цитата(Сергей Борщ @ Feb 1 2007, 15:24) Ц... Feb 1 2007, 15:59 3.14 Вроде сдвинулся с мертвой точки, оказалось все дел... Feb 1 2007, 16:18 sergik_vrn Цитата(3.14 @ Feb 1 2007, 16:18) Вроде сд... Feb 1 2007, 16:25 3.14 а вот у freertos другие вкусы ...
да ладно ... дум... Feb 1 2007, 16:34 sergik_vrn Цитата(3.14 @ Feb 1 2007, 16:34) а вот у ... Feb 1 2007, 16:44 zltigo Цитата(3.14 @ Feb 1 2007, 15:34) а вот у ... Feb 1 2007, 19:11    zltigo Цитата(sergik_vrn @ Feb 2 2007, 12:18) Вы... Feb 2 2007, 14:51     sergik_vrn Цитата(zltigo @ Feb 2 2007, 14:51) Пользу... Feb 2 2007, 15:07 Сергей Борщ Цитата(3.14 @ Feb 1 2007, 15:55) Прерыван... Feb 1 2007, 19:39 zltigo Прямо из живого FreeRTOS проекта инициализацию выд... Feb 1 2007, 20:15 3.14 Спасибо, хочу теперь прикрутить стек uIP.
Добавил ... Feb 2 2007, 11:10 Сергей Борщ Цитата(3.14 @ Feb 2 2007, 10:10) Чего-то ... Feb 2 2007, 12:48 3.14 uip.c (UIP_FIXEDADDR=1):Код#if UIP_FIXEDADDR ... Feb 2 2007, 12:59 3.14 хм-м, действительно, теперь собирается. Feb 2 2007, 13:29 khach А это случайно не проблема со сменой контроллера п... Feb 2 2007, 13:55 3.14 Обработчик, в итоге, остался старый, а вто его объ... Feb 2 2007, 14:04 Quasar Пытаюсь завести FreeRTOS на этом же камне и RealVi... Jun 29 2008, 11:22 Quasar Всё, вроде теперь со всем разобрался, теперь всё р... Jul 2 2008, 18:15  nikkov Цитата(Quasar @ Jul 3 2008, 01:15) Всё, в... Jul 3 2008, 01:40   Quasar Цитата(nikkov @ Jul 3 2008, 05:40) Портом... Jul 3 2008, 17:29    nikkov Цитата(Quasar @ Jul 4 2008, 00:29) Вот со... Jul 4 2008, 01:44 Quasar Прицепил к этому всему делу еще lwIP взятый с этог... Jul 6 2008, 10:30 std-logic Мож кому пригодится (как отправная точка): FreeRTO... Jan 9 2009, 01:22 Hadzu Цитата(std-logic @ Jan 9 2009, 05:22... May 11 2010, 12:19 zksystem Цитата(std-logic @ Jan 9 2009, 05:22... Jul 9 2010, 12:20 Strange_Bear спасиб большое с первого раза заработало всё.
по... Sep 14 2009, 17:23 zuy Цитата(Strange_Bear @ Sep 14 2009, 20:23)... Oct 15 2009, 08:59 Аматер И мне хотелось бы посмотреть FreeRTOS под Keil. Ес... Jul 19 2010, 08:20 murug Не могу понять, как должен работать portRESTORE_CO... Apr 18 2011, 11:28 stepper88 Может кто-нибудь перезалить на файлообменник указа... Jun 11 2011, 06:55  zltigo QUOTE (stepper88 @ Jun 11 2011, 09:55) Мо... Jun 11 2011, 08:19   stepper88 Просто вытянул сегодня архив FreeRTOS 6.10 - его о... Jun 11 2011, 13:58
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|