haker_fox 61 30 июня, 2011 Опубликовано 30 июня, 2011 · Жалоба Должна. :) Хорошо бы) У меня к Вам просьба, можете проверить на своей SK-MLPC2478 работу с SD картой? Там пример вместе с платой идет, надо в терминалке набрать dio0. С удовольствим бы, но у меня LPC2468 (см. фото). Я допустил досадную опечатку выше. На этой плате нет разъема под SD-карту, соответственно и демки тоже( Простите, если не оправдал надежды :crying: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lotor 0 30 июня, 2011 Опубликовано 30 июня, 2011 · Жалоба Простите, если не оправдал надежды :crying: Ничего страшного, просто у меня на стертеркитовской плате SD карта не работает, хотел удостовериться, что только у меня.:) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 30 июня, 2011 Опубликовано 30 июня, 2011 · Жалоба Ничего страшного, просто у меня на стертеркитовской плате SD карта не работает, хотел удостовериться, что только у меня.:) Лучше что бы у всех, тогда устранять проще) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yakub_EZ 0 30 июня, 2011 Опубликовано 30 июня, 2011 · Жалоба У меня к Вам просьба, можете проверить на своей SK-MLPC2478 работу с SD картой? Там пример вместе с платой идет, надо в терминалке набрать dio0. Что за пример такой? У меня два варианта с флешкой работали. От Чана (chan_mci) и стандартный от Кейла, там только пришлось попросить терминал переехать с 2 порта на 0-й. И в обоих случаях таких команд в списке стандартных небыло плата от стартеркита SK-MLPC2478, третий выпуск Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lotor 0 30 июня, 2011 Опубликовано 30 июня, 2011 · Жалоба Что за пример такой? У меня два варианта с флешкой работали. От Чана (chan_mci) и стандартный от Кейла, там только пришлось попросить терминал переехать с 2 порта на 0-й. И в обоих случаях таких команд в списке стандартных небыло плата от стартеркита SK-MLPC2478, третий выпуск От Чана пример, команда di 0 - очепятался. Радует, что все же примеры у кого-то идут. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yakub_EZ 0 30 июня, 2011 Опубликовано 30 июня, 2011 · Жалоба От Чана пример, команда di 0 - очепятался. Радует, что все же примеры у кого-то идут. Хм.. А после di 0 что пишет? После надо добавить команду - fi 0. А уж затем уже можно попросить показать содерджимое флешки - fl Вот, с этого hex попробуйте. fat_mci.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lotor 0 30 июня, 2011 Опубликовано 30 июня, 2011 · Жалоба Хм.. А после di 0 что пишет? После надо добавить команду - fi 0. А уж затем уже можно попросить показать содерджимое флешки - fl Вот, с этого hex попробуйте. Я в курсе как работает эта демка - на другом железе все ок. :) А вот стартеркитовская даже di 0 не проходит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yakub_EZ 0 30 июня, 2011 Опубликовано 30 июня, 2011 · Жалоба Демка не простая, а заточенная под стартеркит Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lotor 0 30 июня, 2011 Опубликовано 30 июня, 2011 · Жалоба Демка не простая, а заточенная под стартеркит Скорее уж стартеркит "затачивал" свою плату аля Olimex. :) Эта демка, "заточенная" под плату стартеркита у меня идет на олимексовской отладке + на девайсе с аналогичной схемотехникой. А вот на самой плате не хочет. Скорее всего просто мне экземпляр платы такой попался. Тем более у Вас все окей. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 1 июля, 2011 Опубликовано 1 июля, 2011 · Жалоба чевидно :( Все заработало. Основная часть демок от Кейла пошла (web-сервера (Java, CGI), ping и т.п.). Что было сделано: 1. В инициализации EMAC добавлена строка MAC_MCFG = MCFG_HCLK_DIV_28; после этих строк /* Initialize MAC control registers. */ MAC_MAC1 = MAC1_PASS_ALL; MAC_MAC2 = MAC2_CRC_EN | MAC2_PAD_EN; MAC_MAXF = ETH_MAX_FLEN; MAC_CLRT = CLRT_DEF; MAC_IPGR = IPGR_DEF; 2. Естественно, в начале файла есть макрос #define MCFG_HCLK_DIV_28 (7 << 2) Саму инициализацию вообще не трогал (не за исключением добавления указанной строки), не знаю, правильно или нет. Но работает же. 3. По невнимательности для LPC2468 использовал стартовый код LPC2300.s. Заменил на LPC2400.s. 4. Адрес микросхемы PHY не менял, он был уже 0x0100 (1 << 8). 5. Выключил всю отладку сети (файл Net_Debug.c). Это угробляло всю библиотеку TCPnet в моем случае. Ну и сменил IP на удобный для меня :rolleyes: Все пошло!!!))) Пинг меньше 1 мс. Сервера работают. Сегодня запустил под осью RTX. Стандартный пример не смог запустить. Сделал свой. Правда пинг 8 - 30 мс. Но это связано с неправильным распределением приоритетов задач. Это я уже выяснил. Буду учиться и исправлять ситуацию. Вот вроде и все. Большое человеческое спасибо участникам за помощь! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 1 июля, 2011 Опубликовано 1 июля, 2011 · Жалоба 1. В инициализации EMAC добавлена строка MAC_MCFG = MCFG_HCLK_DIV_28; после этих строк /* Initialize MAC control registers. */ MAC_MAC1 = MAC1_PASS_ALL; MAC_MAC2 = MAC2_CRC_EN | MAC2_PAD_EN; MAC_MAXF = ETH_MAX_FLEN; MAC_CLRT = CLRT_DEF; MAC_IPGR = IPGR_DEF; 2. Естественно, в начале файла есть макрос #define MCFG_HCLK_DIV_28 (7 << 2) Саму инициализацию вообще не трогал (не за исключением добавления указанной строки), не знаю, правильно или нет. Но работает же. 3. По невнимательности для LPC2468 использовал стартовый код LPC2300.s. Заменил на LPC2400.s. 4. Адрес микросхемы PHY не менял, он был уже 0x0100 (1 << 8). Да, демописатели :(. У меня даже для рабочего варианта поиск PHY производится, дабы не думать каждый раз.. int init_phy(void) { MCFG = MCFG_HCLK_DIV_28|MCFG_RESET_MII_MGMT; vSmartDelay_ms( 2 ); #if( EMAC_CFG_RMII == 0 ) MCOMMAND &= ~CR_RMII; #else MCOMMAND |= CR_RMII; #if defined __IOLPC2458_H SUPP = SUPP_RESET_MII; #else SUPP = 0; // Assume and configure RMII link speed logic for 10Mbit #endif #endif for( int i = 0; i < 7; i++ ) { // Check dividers to yield MII frequency ~2.5 MHz if( ( (configCPU_CLOCK_HZ/100000L)/mii_dividers[i][0] ) <= 25 ) { MCFG = mii_dividers[i][1]; // Remove reset, set proper MIIM divider break; } } vSmartDelay_ms( 10 ); // Short delay while PHY exits reset and new divider is set for( phy_addr = 1; phy_addr <= 31; phy_addr++ ) { // Put PHY in reset mode write_PHY( PHY_REG_BMCR, BMCR_RESET ); // Wait for hardware reset to end for( int i = 0; i < 128; i++ ) { vSmartDelay_ms( 1 ); if( !(read_PHY( PHY_REG_BMCR ) & BMCR_RESET) ) { // Reset complete goto phy_found; } } } printst( "PHY:Missing " ); return( 1 ); phy_found: { // Check if this is a valid PHY ulong id_phy = (read_PHY( PHY_REG_IDR1 )<<16)|read_PHY( PHY_REG_IDR2 ); if( id_phy == KS8721BL_ID ) xprintf( "PHY%2X:KS8721BL ", phy_addr ); else if( id_phy == KS8041TL_ID ) xprintf( "PHY%2X:KS8041TL ", phy_addr ); else { xprintf( "PHY%2X:%8X -Unknown ", phy_addr, id_phy ); return( 2 ); } } // Sanity check... ........... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 2 июля, 2011 Опубликовано 2 июля, 2011 · Жалоба Да, демописатели :(. У меня даже для рабочего варианта поиск PHY производится, дабы не думать каждый раз.. Видимо на кейловских платах другой PHY стоит. Вот они жестко под него примеры и заточили. За исходник - спасибо! Поизучаю! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 2 июля, 2011 Опубликовано 2 июля, 2011 · Жалоба Видимо на кейловских платах другой PHY стоит. PHY по базовому набору регистров и базовым функциям, как правило, вполне унифицированы. То, что пишется в демках, обычно использует минимум миниморум особенностей PHY :( Да и для периферийного устройства особые навороты от PHY в общем-то и не нужны. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 2 июля, 2011 Опубликовано 2 июля, 2011 · Жалоба PHY по базовому набору регистров и базовым функциям, как правило, вполне унифицированы. То, что пишется в демках, обычно использует минимум миниморум особенностей PHY :( Да и для периферийного устройства особые навороты от PHY в общем-то и не нужны. Понятно. Еще раз благодарю! :rolleyes: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sadfeel 0 5 июля, 2011 Опубликовано 5 июля, 2011 · Жалоба Ничего страшного, просто у меня на стертеркитовской плате SD карта не работает, хотел удостовериться, что только у меня.:) у меня платка, 2478, тоже без СД карты, припаял проводочки к ней, тоже мучался, потом заработало, там прикол в том, что нужно card detect кинуть на MP147.... вот тут схема (там справа вверху) http://starterkit.ru/html/doc/SK-MLPC2478_V3A.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться