Jump to content

    

Oleg_IT

Свой
  • Content Count

    936
  • Joined

  • Last visited

Everything posted by Oleg_IT


  1. В моём случае "виноват" сам код, поставил задержку при старте и 500 кГц в JTAG-е и всё заработало. Вопрос теперь в другом, не ясно откуда "астрал" берётся. Мучаю код с EMAC, раз повиснет на MAC1 = 0;, другой раз на чтении регистра PHY.
  2. Нет, это тоже не мой случай, один раз вся связка сработала.
  3. Вполне возможен "астрал", потому и нужен отладчик. Странно, что JTAG не пожет "победить" не правильную программу. Возможно и так, но здесь не тот случай, плата не новая, минимум полтора года работает.
  4. Через Flash Magic работает, но мне отладчик нужен. Может у меня не правильная настройка адаптера, скорость, ресет… Они у меня от второго, попроще, адаптера стоят, у того программа слетела, уже второй раз, на восстановление отдал.
  5. pll не трогал. В конфигураторе адаптера поставил USB Port 0 один раз прошилось и опять не хочет.
  6. Keil V4.20.03.0, JTAG адаптер JetLinck8, драйвер JLinkARM_V476b, лицензии установил. Отладочная плата SK-MLPC2478. В Options… Keil-а установлено J-LINK/J-TRACE. При любой попытке обратится к процессору, появляется ошибка, картинка в приложении. Изменение скорости «JTAG Speed» не помогает. Keil в «Build Output» пишет Программой JLink.exe процессор не останавливается, «Reset target (RESET)» проходит. Как преодолеть?
  7. Может быть, но не очевидно.
  8. Странички Ti http://www.ti.com/ww/ru/prod_dsp.html, разтел Многоядерный DSP, последняя строка раздела «До 16 ГГц». Это не ошибка?
  9. Ethernet азы

    Внесу свою лепту. Стоит посмотреть тему «конечный автомат TCP». не буду приводить ссылки их много поисковики выдают. Пользуюсь также описаниями стандарта RFC
  10. Ethernet на LPC2478.

    На диске errata.lpc2478_1.1.pdf есть. Попробовал учесть рекомендацию из него (To use the Ethernet interface in RMII mode write a 1 to bit 12 in PINSEL2 register (located at 0xE002 C008).). Первый заход получился, таймаут прошёл сразу, но потом очередной раз слетела программа в JTAG программаторе. Восстановлю, продолжу мучения:) По поводу программатора (на его плате написано SLUE0700). Возможно, в дальнейшем исключить такую неприятность. Наверное лучше поместить в отдельную тему, во всей теме много лишнего. Ссылочку от сарматъ тудаже.
  11. Ethernet на LPC2478.

    С одной стороны согласен, исппользование рутинных библиотек полезно, но с другой стороны держать всё в своих руках тоже не плохо. Есть у меня код mip, mtcp... Может их буду пользовать.
  12. Ethernet на LPC2478.

    Фрагмент вынес сюда. Я бы сюда ещё добавил конечный автомат TCP, если самому все реализовывать, то без него ни как. Golikov A. Спасибо за подробный комментарий особенно про PHY. Разбираюсь, если что не так будет, обращусь ещё раз. Модератору 1. Может последний комментарий Golikov A. поместить в важные темы, новичкам это будет полезно. 2. Где репутация пользователей? Хочется кому-то плюсы поставить, а кому-то минусы:)
  13. Ethernet на LPC2478.

    Спасибо, кое-что прояснилось, в частности отсутствие описания на 4:0 REGISTER ADDRESS и 12:8 PHY ADDRESS. Автопоиск применяется в том отрывке кода, который я привёл ранее? Вся документация и примеры, которыми я пользуюсь, взяты с диска, идущий с отладочной платой, и там автопоиска нет. Где посмотреть его реализацию?
  14. Ethernet на LPC2478.

    Если считаете, что это клон удаляйте тему. Я считаю, что это другой вопрос, хоть и из одной тематике. А два вопроса в одной теме тоже не правильно. А по существу вопроса, почему виснет программа идущая с отладочной платой помочь можете?
  15. Ethernet на LPC2478.

    Эээ... это в какой теме. Посмотрел за "Всё время" темы не нашёл такой. Ну да ладно. У меня документация user.manual.lpc24xx_1.04.pdf. Там только упоминание о этих регистрах. Вообще тоя имел ввиду регистр MII Mgmt Address Register (MADR - 0xFFE0 0028) Унего два поля 4:0 REGISTER ADDRESS и 12:8 PHY ADDRESS Сейчас для меня первый вопрос актуальнее.
  16. Ethernet на LPC2478.

    Пытаюсь запустить пример EMAC из пакета примеров. Программа виснет, ждёт окончания тайаута, в функции DWORD PHYInit( DWORD PHYType ) при чтении и проверки флага BMCR_RESET WritePHY( PHY_BMCR, BMCR_RESET ); for ( i = 0; i < 0x20; i++ ); /* short delay */ timeout = MII_BMSR_TIMEOUT * 4; while ( timeout != 0 ) { regValue = ReadPHY( PHY_BMCR ); if ( (regValue & BMCR_RESET) == 0x0000 ) { break; /* Reset self cleaned once the reset process is complete */ } timeout--; } Что не так делаю? В даташите не найду описание портов, регистров, флагов (PHY_BMCR, BMCR_RESET, ...).
  17. В инете внятного описания сети afdx не нашёл. Где почитать о внутренностях этой сети, форматы данных (или там чистый Ethernet, UDP, TCP/IP, …), какие контроллеры использовать с процессорами, есть ли ARM с этой сетью?
  18. Я эту "проблему" решаю так #pragma push #pragma pack(1) …………………… #pragma pop Предпочитаю структуры, нагляднее. Встречал код, где данные в выходной массив просто по смещениям вписываются. Мне не нравится. Вообще - на вкус и цвет, главное что бы работало и правильно:).
  19. VAI спасибо, #pragma anon_unions помогла.
  20. Это заголовок IP typedef struct IP_Head_v4_tag { struct { unsigned char IHL : 4; // IHL - 5 unsigned char Version : 4; // Version - 4 }; struct { unsigned char Prec : 3; // Precedence - 3 unsigned char D : 1; // Delay Normal - 0 unsigned char T : 1; // Throughput Normal - 0 unsigned char R : 1; // Relibility Normal - 0 unsigned char Res1 : 2; // Reserved - 00 }; unsigned short TotalLen; // Total Length unsigned short Identif; // Идентификатор - 0 struct { unsigned short FragOffset: 13; // Fragment Offset - 0 unsigned char MF : 1; // Fragment - 0 = Last Fragment unsigned char DF : 1; // Fragment - 1 = Don't Fragment unsigned char Res2 : 1; // Reserved - 0 }; struct { unsigned char TTL : 8; // Time to Live < 1 unsigned char Prot : 8; // Protocol }; unsigned short Checksum; // Header Checksum IPADDRESS IP_SRC_Adr; // Source Address IPADDRESS IP_DST_Adr; // Destination Address } IP_Head_v4; Со всеми перечисленными компиляторами (WINAVR, MinGW, Visual Studio) анонимные битовые поля структур работают правильно. Спасибо, проверю, а вдруг поможет. Например так IP_Head_v4 IP_H; IP_H.IHL = 5;
  21. Переношу код из AVR Studio (WINAVR) в Keil. Компилятор выдаёт предупреждение на объявление, на стоку с "};" ……… struct { unsigned char Bit1 : 1; unsigned char Bit2 : 1; }; …………. ..\Test.h(37): warning: #40-D: expected an identifier И потом выдаёт ошибку на использование этих полей. Лечится это заданием имени структуры, например "} A1;", что не удобно, для меня. В WINAVR, в MinGW, в Visual Studio такого нет, только в Keil. Может быть это стандарт С++, не проверял и всех тонкостей языка не знаю. Можно какими-нибудь флажками убрать эту особенность?
  22. Ethernet на LPC2478.

    Представление имею, в краймем случае почитаю в книжках, в интернете. Они у меня уже есть, я года три назад их для AVR+CP2200 реализовавал. Правда TCP не отлаживал и как он работает пока не знаю. Я всётаки (пусть нудно, по рабоче-крестьянски просто:)) хочу выяснить txptr это именно то место куда нужно записывать байтики протокола IP-TCP-двнные?