Форум за електроника Форуми Форум за електроника
Български форум за електроника, ремонти, схеми, документация
 
 Въпроси/ОтговориВъпроси/Отговори   ТърсенеТърсене   ПотребителиПотребители   ГрупиГрупи   Регистрирайте сеРегистрирайте се 
 ПрофилПрофил   Влезте, за да видите съобщенията сиВлезте, за да видите съобщенията си   ВходВход 

Microchip TCP/Ip stack Проблем!

 
Създайте нова тема   Напишете отговор    Форум за електроника Форуми -> Обща електроника - General Electronics



Предишната тема :: Следващата тема  
Автор Съобщение
p_stoyanoff
Опитен потребител
Опитен потребител


Регистриран на: 14 Окт 2008
Мнения: 537

МнениеПуснато на: Пон Яну 03, 2011 11:18    Заглавие: Microchip TCP/Ip stack Проблем! Отговорете с цитат

Заредих всички необходими файлове. Компилатора започва да работи, но когато дойде ред на линкера ми дава грешка:

Error - could not find definition of symbol 'MACSetReadPtrInRx' in file './IP.o'.
Използвам ENC28J60 и PIC18F4520. Предполагам, че във файла IP.c трябва да дефинирам този метод понеже забелязах, че се използва, но няма дефиниция.
Може ли някой да помогне?
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла
Cino
Нов потребител
Нов потребител


Регистриран на: 26 Мар 2006
Мнения: 12
Местожителство: София

МнениеПуснато на: Пон Яну 03, 2011 18:38    Заглавие: Отговорете с цитат

ти този ENC_CS_TRIS дефинира ли го ?

както и всички останали пинове за връзка с ENC28J60.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла
p_stoyanoff
Опитен потребител
Опитен потребител


Регистриран на: 14 Окт 2008
Мнения: 537

МнениеПуснато на: Пон Яну 03, 2011 20:00    Заглавие: Отговорете с цитат

От къде го измисли тоя TRIS и каква връзка има с тоя метод дето ми дава, че не го намира. По принцип в ръководството пише че грешки от този тип could not find definition for се дължат на грешен линкер скрипт - .lkr. Аз съм заредил този на контролера p18F4520.lkr. Само него! Друг трябва ли ми???
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла
Cino
Нов потребител
Нов потребител


Регистриран на: 26 Мар 2006
Мнения: 12
Местожителство: София

МнениеПуснато на: Пон Яну 03, 2011 21:31    Заглавие: Отговорете с цитат

вижте p_stoyanoff,
по добре прочетете и потърсете какво точно имат предвид хората които искат да ви помогнат, преди да пишете безмислени постове,

В езика на който е написан tcp/ip стека на Microchip, не се използват "методи" .а се използват функции :).
Има файл наречен "HardwarProfile.h", в който е описана конкретната хардуерна постановка , и където е дефиниран ENC_CS_TRIS
примерно: #define ENC_CS_TRIS (TRISDbits.TRISD14)
след него са описани и другите пинове които се ползват за комуникация със чипа ENC28J60. Ако вашата постановка е различна от готовите китове пр. EXLORER16,PIC18_EXPLORER.., трябва да опишете специфичните особености при
#elif defined(YOUR_BOARD)
// Define your own board hardware profile here
#endif
Файла където е дефиницията на функцията MACSetReadPtrInRx е ENC28J60.c от стека. В който файл са и конкретните функции обслужващи и този чип. Забележете че целия файл се компилира условно ако:
// Make sure that this hardware profile has an ENC28J60 in it
#if defined(ENC_CS_TRIS)
.....................
т.е когато не е дефиниран ENC_CS_TRIS, не се компилира файла , и съответно нямате дефиниция на функцията , и още няколко функции.
Напишете коя версия на стека ползвате, коя версия на MPLAB и т.н
Потърсете и в Google
http://www.microchip.com/forums/tm.aspx?high=&m=517727&mpage=1#517727
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла
p_stoyanoff
Опитен потребител
Опитен потребител


Регистриран на: 14 Окт 2008
Мнения: 537

МнениеПуснато на: Нед Яну 09, 2011 9:47    Заглавие: Отговорете с цитат

Не съм искал да обидя никого. Просто първоначално не открих връзка между двете неща. От скоро се занимавам с тоя стак. Прочетох документацията и заредих, каквото сметнах за необходимо. Компилаторът ми поиска още хедари. Изтеглих си някакъв mac.h файл на който пишеше, че се използва за ENC28J60 и помислих, че всичко, което ми трябва е заредено, но ....

Използвам MPlab v8.33 C18 v3.20 и TCP/IP stack v5.31

Тези декларации, които описваш по-горе съм ги направил. Добавил съм необходимите макроси. Имах малки проблеми с това, че не съвпадаха променливите, но сега всичко е наред. И съм в изходно положение. Компилаторът компилира проекта - създава файловете с разширение .о, след което започва да работи линкера. И отново започва да не намира някакви функции, които би трябвало да са налични. Първо даваше грешка в Announce, не намираше UDPClose(). Понеже няма да го използвам го направих на коментар, обаче сега реши, че не намира utoIPIsConfigured в ARP.o. Предполагам необходимите промени във хедърите, които описвате по-горе съм ги направил правилно. До колкото прочетох такъв тип грешки се дължат на грешен .lkr файл. Обаче аз съм си заредил линкер файла на чипа. Някаква идея???
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла
Покажи мнения от преди:   
Създайте нова тема   Напишете отговор    Форум за електроника Форуми -> Обща електроника - General Electronics Часовете са според зоната GMT + 2 Часа
Страница 1 от 1

 
Към:  
Не Можете да пускате нови теми
Не Можете да отговаряте на темите
Не Можете да променяте съобщенията си
Не Можете да изтривате съобщенията си
Не Можете да гласувате в анкети


Powered by phpBB © 2001, 2005 phpBB Group
Translation by: Boby Dimitrov
Where to Find Free Service Manuals