Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 03.08.2010, 17:12  
ZED®
Частый гость
 
Регистрация: 03.08.2010
Сообщений: 23
Сказал спасибо: 6
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
ZED® на пути к лучшему
По умолчанию MMNET1001 + Ethernet

Здравствуйте.

Имеется некое устройство MMNET1001.

Требуется принимать данные по Ethernet. Не знаю с какой стороны подступиться: скачал документацию на само устройство, скачал документацию на контроллер AT91SAM9260, скачал Keil RealView Microcontroller Development Kit v4.12 и RealView Real-Time Library v4.12. Ищу, читаю ничего не понимаю, не знаю с какой стороны подступиться. В мануале ничего не сказано про то как все это связанно с языком СИ. Как все это конфигуровать?

Я с контроллерами никогда дела не имел и вообще не представляю как с ними работать, как подключать, как программировать и не знаю с чего начать. С Keil тоже.

Мне бы еще найти простенькие примеры с подробнейшим описанием, где было бы написано как включать, как программировать, что за что отвечает и т.д. И желательно на русском.

Люди добрые подскажите как быть в такой ситуации? С чего начать? Может кто поделится хоть какой-нибудь информацией или что-то посоветует?

Заранее спасибо.
Реклама:
ZED® вне форума  
Непрочитано 03.08.2010, 20:34  
MisterDi
Почётный гражданин KAZUS.RU
 
Аватар для MisterDi
 
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
MisterDi на пути к лучшему
По умолчанию Re: MMNET1001 + Ethernet

начинайте отсюда: https://kazus.ru/forums/showthread.php?t=14719 тема большая, и работы Вам предстоит много. Но дорогу осилит идущий. А устройство вкусное
__________________
misterdi<@>i.ua
MisterDi вне форума  
Сказали "Спасибо" MisterDi
ZED® (03.08.2010)
Непрочитано 03.08.2010, 22:01  
ZED®
Частый гость
 
Регистрация: 03.08.2010
Сообщений: 23
Сказал спасибо: 6
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
ZED® на пути к лучшему
По умолчанию Re: MMNET1001 + Ethernet

Да, спасибо я это сейчас и читаю.
ZED® вне форума  
Непрочитано 03.08.2010, 22:16  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: MMNET1001 + Ethernet

Читайте лучше как поставить линукс на свою плату. Тогда и эзернет сам заработает.
Описание на польском имеется.
Иначе до эзернета Вам предстоит долгий путь.
kison вне форума  
Сказали "Спасибо" kison
ZED® (05.08.2010)
Непрочитано 04.08.2010, 07:21  
ZED®
Частый гость
 
Регистрация: 03.08.2010
Сообщений: 23
Сказал спасибо: 6
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
ZED® на пути к лучшему
По умолчанию Re: MMNET1001 + Ethernet

Цитата:
Тогда и эзернет сам заработает.
А что значит сам заработает?
ZED® вне форума  
Непрочитано 04.08.2010, 12:24  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: MMNET1001 + Ethernet

Сообщение от ZED® Посмотреть сообщение
А что значит сам заработает?
Это значит что стек TCP/IP неотъемлемая часть ОС линукс. Если сборка будет под Вашу плату, то и драйвер под Ваш PHY там уже интегрирован. Значит все заработает "из коробки". Вы вот тут на форуме сообщения как то пишете. Значит у Вас TCP/IP уже работает на компе. Много Вы для этого кода написали?
kison вне форума  
Сказали "Спасибо" kison
ZED® (05.08.2010)
Непрочитано 04.08.2010, 14:19  
ZED®
Частый гость
 
Регистрация: 03.08.2010
Сообщений: 23
Сказал спасибо: 6
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
ZED® на пути к лучшему
По умолчанию Re: MMNET1001 + Ethernet

Классное объяснение
Было бы круто, а куда он будет это все записывать во внутреннюю память или во Flash?

И еще хотел спросить, в документации на MMNET указано, что на него нужно ставить Linux 2.6.29.3, а можно поставить Linux 2.6.32?

Последний раз редактировалось ZED®; 05.08.2010 в 08:10.
ZED® вне форума  
Непрочитано 05.08.2010, 11:46  
ZED®
Частый гость
 
Регистрация: 03.08.2010
Сообщений: 23
Сказал спасибо: 6
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
ZED® на пути к лучшему
По умолчанию Re: MMNET1001 + Ethernet

Жалко, что тема, которую посоветовал MisterDi не продолжается, у автора видимо творческий кризис. После адресного пространства нет статей, а жаль очень хорошо объяснял.
ZED® вне форума  
Непрочитано 01.11.2010, 23:26  
ZED®
Частый гость
 
Регистрация: 03.08.2010
Сообщений: 23
Сказал спасибо: 6
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
ZED® на пути к лучшему
По умолчанию Re: MMNET1001 + Ethernet

Доброго всем здравия!!!

Начал разбираться с EMAC для AT91SAM9260. Имеется документация на сам контроллер и тестовый пример для IAR под названием basic-emac-uip-webserver-project-at91sam9260-ek. В этой теме далее планируется задавать вопросы, которые касаются проблемы запуска Ethernet на вышеупомянутом контроллере и просто непонятные вещи.

Первый вопрос заключается в следующем. В файле emac.h имеются некоторые указатели на функции:

Код:
/// Callback used by send function
typedef void (*EMAC_TxCallback)(unsigned int status); // EMAC_TxCallback - указатель на функцию, возвращающую void и принимающую unsigned int
typedef void (*EMAC_RxCallback)(unsigned int status); // EMAC_RxCallback - указатель на функцию, возвращающую void и принимающую unsigned int
typedef void (*EMAC_WakeupCallback)(void); //  EMAC_WakeupCallback - указатель на функцию, возвращающую void и принимающую void
Далее они используются, например в функции EMAC_Handler, которая управляет прерываниями, расположенной в emac.c:
Код:
    volatile EmacTxTDescriptor *pTxTd;
    volatile EMAC_TxCallback   *pTxCb;
Код:
if (rxTd.rxCb) {
            rxTd.rxCb(rxStatusFlag);
        }
Код:
if (*pTxCb) {
                (*pTxCb)(txStatusFlag);
            }
Я так понял это так называемые обратные функции, но что они делают нигде не определено (по-крайней мере я не нашел). Вопрос собственно для чего они нужны?

Еще один вопрос, что выполняет следующий кусок кода в той же функции EMAC_Handler и для чего он нужен? Можно ли обойтись без всего этого?
Код:
 // Check the buffers
        while (CIRC_CNT(txTd.head, txTd.tail, TX_BUFFERS)) {
            pTxTd = txTd.td + txTd.tail;
            pTxCb = txTd.txCb + txTd.tail;

            // Exit if buffer has not been sent yet
            if ((pTxTd-›status & EMAC_TX_USED_BIT) == 0) {
                break;
            }
            
            // Notify upper layer that packet has been sent
            if (*pTxCb) {
                (*pTxCb)(txStatusFlag);
            }
            
            CIRC_INC( txTd.tail, TX_BUFFERS );
        }

        // If a wakeup has been scheduled, notify upper layer that it can send
        // other packets, send will be successfull.
        if( (CIRC_SPACE(txTd.head, txTd.tail, TX_BUFFERS) ›= txTd.wakeupThreshold)
         &&  txTd.wakeupCb) {
            txTd.wakeupCb();
        }
И еще один вопрос. В функции EMAC_Init, расположенной в emac.c есть следующие строки:
Код
Код:
// Инициализация дескриgторов передающего буфера.
    for(Index = 0; Index ‹ TX_BUFFERS; Index++) {// Цикл по количеству передающих буферов
        // Инициализация адресов дескрипторов передающего буфера
        Address = (unsigned int)(&(pTxBuffer[Index * EMAC_TX_UNITSIZE]));
        txTd.td[Index].addr = Address; // Нет Маски, т.к. Слово 0 - адрес начала буфера
        txTd.td[Index].status = EMAC_TX_USED_BIT; // Установка для всех буферов бита used!!!
    }
    txTd.td[TX_BUFFERS - 1].status = EMAC_TX_USED_BIT | EMAC_TX_WRAP_BIT;

Строка txTd.td[Index].status = EMAC_TX_USED_BIT; устанавливает биты 31 в слове 1 ВСЕХ дескрипторов в единицу, тогда как в документации сказано, что этот бит должен быть установлен только для первого буфера, а при инициализации все биты 31 из слова 1 должны быть сброшены:

Цитата:
This bit is only set for the first buffer in a frame unlike receive where all buffers have the Used bit set once used.

Mark all entries in this list as owned by EMAC, i.e. bit 31 of word 1 set to 0.

Вопрос: Пример не соответствует документации? Будет ли он работать и как все таки правильно?
ZED® вне форума  
Непрочитано 08.11.2010, 16:14  
Snacker
Временная регистрация
 
Регистрация: 16.05.2007
Сообщений: 59
Сказал спасибо: 1
Сказали Спасибо 10 раз(а) в 9 сообщении(ях)
Snacker на пути к лучшему
По умолчанию Re: MMNET1001 + Ethernet

Сообщение от ZED® Посмотреть сообщение
В файле emac.h имеются некоторые указатели на функции:
Это не указатели на функции, это задание типа с помощью typedef.

Сообщение от ZED® Посмотреть сообщение
Вопрос: Пример не соответствует документации? Будет ли он работать и как все таки правильно?
В документации сказано про прием, а не про передачу.

ZED®, посмотрите лучше как поляки запускают и юзают линукс на этой плате, а то вы как-то с места в карьер.
Snacker вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PIC24F и Ethernet bootloader krasrab Микроконтроллеры, АЦП, память и т.д 3 13.07.2010 09:41
Ethernet контроллер W5100 от Wiznet, проблемы. Zemlyanov Микроконтроллеры, АЦП, память и т.д 0 08.07.2010 17:04
Ethernet + контроллер innovator_king Микроконтроллеры, АЦП, память и т.д 5 30.06.2010 18:31
Что лучше выбрать для Ethernet Seji-01 Микроконтроллеры, АЦП, память и т.д 17 01.11.2009 02:31


Часовой пояс GMT +4, время: 11:14.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot