|
|
  |
Olimex/Startetkit LPC23/4 + RMII KS8721BL, Баги в схеме :( |
|
|
|
Jun 30 2011, 08:07
|
Местный
  
Группа: Свой
Сообщений: 476
Регистрация: 3-07-07
Из: Санкт-Петербург
Пользователь №: 28 866

|
Цитата(yakub_EZ @ Jun 30 2011, 12:01)  Что за пример такой? У меня два варианта с флешкой работали. От Чана (chan_mci) и стандартный от Кейла, там только пришлось попросить терминал переехать с 2 порта на 0-й. И в обоих случаях таких команд в списке стандартных небыло плата от стартеркита SK-MLPC2478, третий выпуск От Чана пример, команда di 0 - очепятался. Радует, что все же примеры у кого-то идут.
--------------------
Ковырял чукча отверткой в ухе, звук в телевизоре и пропал.
|
|
|
|
|
Jun 30 2011, 08:21
|
Профессионал
    
Группа: Свой
Сообщений: 1 329
Регистрация: 6-12-08
Из: Москва
Пользователь №: 42 252

|
Цитата(Lotor @ Jun 30 2011, 12:07)  От Чана пример, команда di 0 - очепятался. Радует, что все же примеры у кого-то идут. Хм.. А после di 0 что пишет? После надо добавить команду - fi 0. А уж затем уже можно попросить показать содерджимое флешки - fl Вот, с этого hex попробуйте.
|
|
|
|
|
Jun 30 2011, 09:44
|
Местный
  
Группа: Свой
Сообщений: 476
Регистрация: 3-07-07
Из: Санкт-Петербург
Пользователь №: 28 866

|
Цитата(yakub_EZ @ Jun 30 2011, 12:21)  Хм.. А после di 0 что пишет? После надо добавить команду - fi 0. А уж затем уже можно попросить показать содерджимое флешки - fl Вот, с этого hex попробуйте. Я в курсе как работает эта демка - на другом железе все ок.  А вот стартеркитовская даже di 0 не проходит.
--------------------
Ковырял чукча отверткой в ухе, звук в телевизоре и пропал.
|
|
|
|
|
Jun 30 2011, 11:04
|
Местный
  
Группа: Свой
Сообщений: 476
Регистрация: 3-07-07
Из: Санкт-Петербург
Пользователь №: 28 866

|
Цитата(yakub_EZ @ Jun 30 2011, 13:56)  Демка не простая, а заточенная под стартеркит Скорее уж стартеркит "затачивал" свою плату аля Olimex. Эта демка, "заточенная" под плату стартеркита у меня идет на олимексовской отладке + на девайсе с аналогичной схемотехникой. А вот на самой плате не хочет. Скорее всего просто мне экземпляр платы такой попался. Тем более у Вас все окей.
--------------------
Ковырял чукча отверткой в ухе, звук в телевизоре и пропал.
|
|
|
|
|
Jul 1 2011, 15:48
|

Познающий...
     
Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125

|
QUOTE (zltigo @ Jun 29 2011, 18:02)  чевидно  Все заработало. Основная часть демок от Кейла пошла (web-сервера (Java, CGI), ping и т.п.). Что было сделано: 1. В инициализации EMAC добавлена строка CODE MAC_MCFG = MCFG_HCLK_DIV_28; после этих строк CODE /* 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. Естественно, в начале файла есть макрос CODE #define MCFG_HCLK_DIV_28 (7 << 2) Саму инициализацию вообще не трогал (не за исключением добавления указанной строки), не знаю, правильно или нет. Но работает же. 3. По невнимательности для LPC2468 использовал стартовый код LPC 2300.s. Заменил на LPC 2400.s. 4. Адрес микросхемы PHY не менял, он был уже 0x0100 (1 << 8). 5. Выключил всю отладку сети (файл Net_Debug.c). Это угробляло всю библиотеку TCPnet в моем случае. Ну и сменил IP на удобный для меня Все пошло!!!))) Пинг меньше 1 мс. Сервера работают. Сегодня запустил под осью RTX. Стандартный пример не смог запустить. Сделал свой. Правда пинг 8 - 30 мс. Но это связано с неправильным распределением приоритетов задач. Это я уже выяснил. Буду учиться и исправлять ситуацию. Вот вроде и все. Большое человеческое спасибо участникам за помощь!
--------------------
Выбор.
|
|
|
|
|
Jul 1 2011, 19:37
|

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

|
QUOTE (haker_fox @ Jul 1 2011, 17:48)  1. В инициализации EMAC добавлена строка CODE MAC_MCFG = MCFG_HCLK_DIV_28; после этих строк CODE /* 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. Естественно, в начале файла есть макрос CODE #define MCFG_HCLK_DIV_28 (7 << 2) Саму инициализацию вообще не трогал (не за исключением добавления указанной строки), не знаю, правильно или нет. Но работает же. 3. По невнимательности для LPC2468 использовал стартовый код LPC 2300.s. Заменил на LPC 2400.s. 4. Адрес микросхемы PHY не менял, он был уже 0x0100 (1 << 8). Да, демописатели  . У меня даже для рабочего варианта поиск PHY производится, дабы не думать каждый раз.. CODE 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... ...........
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 5 2011, 07:10
|
Участник

Группа: Участник
Сообщений: 52
Регистрация: 7-10-10
Пользователь №: 59 988

|
Цитата(Lotor @ Jun 30 2011, 09:15)  Ничего страшного, просто у меня на стертеркитовской плате SD карта не работает, хотел удостовериться, что только у меня.  у меня платка, 2478, тоже без СД карты, припаял проводочки к ней, тоже мучался, потом заработало, там прикол в том, что нужно card detect кинуть на MP147.... вот тут схема (там справа вверху) http://starterkit.ru/html/doc/SK-MLPC2478_V3A.pdf
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|