Перейти к содержанию
    

Olimex/Startetkit LPC23/4 + RMII KS8721BL

Должна. :)

Хорошо бы)

У меня к Вам просьба, можете проверить на своей SK-MLPC2478 работу с SD картой? Там пример вместе с платой идет, надо в терминалке набрать dio0.

С удовольствим бы, но у меня LPC2468 (см. фото). Я допустил досадную опечатку выше. На этой плате нет разъема под SD-карту, соответственно и демки тоже( Простите, если не оправдал надежды :crying:

post-8125-1309412069_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Простите, если не оправдал надежды :crying:

Ничего страшного, просто у меня на стертеркитовской плате SD карта не работает, хотел удостовериться, что только у меня.:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ничего страшного, просто у меня на стертеркитовской плате SD карта не работает, хотел удостовериться, что только у меня.:)

Лучше что бы у всех, тогда устранять проще)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня к Вам просьба, можете проверить на своей SK-MLPC2478 работу с SD картой? Там пример вместе с платой идет, надо в терминалке набрать dio0.

Что за пример такой? У меня два варианта с флешкой работали. От Чана (chan_mci) и стандартный от Кейла, там только пришлось попросить терминал переехать с 2 порта на 0-й. И в обоих случаях таких команд в списке стандартных небыло плата от стартеркита SK-MLPC2478, третий выпуск

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что за пример такой? У меня два варианта с флешкой работали. От Чана (chan_mci) и стандартный от Кейла, там только пришлось попросить терминал переехать с 2 порта на 0-й. И в обоих случаях таких команд в списке стандартных небыло плата от стартеркита SK-MLPC2478, третий выпуск

 

От Чана пример, команда di 0 - очепятался. Радует, что все же примеры у кого-то идут.

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

От Чана пример, команда di 0 - очепятался. Радует, что все же примеры у кого-то идут.

Хм.. А после di 0 что пишет? После надо добавить команду - fi 0. А уж затем уже можно попросить показать содерджимое флешки - fl

Вот, с этого hex попробуйте.

fat_mci.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хм.. А после di 0 что пишет? После надо добавить команду - fi 0. А уж затем уже можно попросить показать содерджимое флешки - fl

Вот, с этого hex попробуйте.

Я в курсе как работает эта демка - на другом железе все ок. :) А вот стартеркитовская даже di 0 не проходит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Демка не простая, а заточенная под стартеркит

 

Скорее уж стартеркит "затачивал" свою плату аля Olimex. :)

 

Эта демка, "заточенная" под плату стартеркита у меня идет на олимексовской отладке + на девайсе с аналогичной схемотехникой. А вот на самой плате не хочет. Скорее всего просто мне экземпляр платы такой попался. Тем более у Вас все окей.

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

чевидно :(

Все заработало. Основная часть демок от Кейла пошла (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 мс. Но это связано с неправильным распределением приоритетов задач. Это я уже выяснил. Буду учиться и исправлять ситуацию.

Вот вроде и все.

 

Большое человеческое спасибо участникам за помощь!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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...
...........

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, демописатели :(. У меня даже для рабочего варианта поиск PHY производится, дабы не думать каждый раз..

Видимо на кейловских платах другой PHY стоит. Вот они жестко под него примеры и заточили.

За исходник - спасибо! Поизучаю!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Видимо на кейловских платах другой PHY стоит.

PHY по базовому набору регистров и базовым функциям, как правило, вполне унифицированы. То, что пишется в демках, обычно использует минимум миниморум особенностей PHY :( Да и для периферийного устройства особые навороты от PHY в общем-то и не нужны.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

PHY по базовому набору регистров и базовым функциям, как правило, вполне унифицированы. То, что пишется в демках, обычно использует минимум миниморум особенностей PHY :( Да и для периферийного устройства особые навороты от PHY в общем-то и не нужны.

Понятно. Еще раз благодарю! :rolleyes:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ничего страшного, просто у меня на стертеркитовской плате SD карта не работает, хотел удостовериться, что только у меня.:)

 

 

у меня платка, 2478, тоже без СД карты, припаял проводочки к ней, тоже мучался, потом заработало, там прикол в том, что нужно card detect кинуть на MP147....

 

вот тут схема (там справа вверху)

 

http://starterkit.ru/html/doc/SK-MLPC2478_V3A.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...