реклама на сайте
подробности

 
 
> Keil TCPNet сваливается в HardFault на LPC4088
Polaris
сообщение Feb 11 2014, 15:37
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 266
Регистрация: 8-12-05
Пользователь №: 11 964



Доброго всем дня!

Прикручиваю к проекту в Keil TCPNet, драйвер под LAN8720 работает, соединение ловит, идентификатор вычитывает, но при запуске стека, если использовать DHCP, то происходит падение процессора в HardFault. В режиме отладки получаю следующий лог:
Код
000.0 MEM:Init MemPool 2000 bytes
000.0 ETH:Init interface
000.0 ARP:Init Cache, 10 entries
000.0 IP :Init localhost
000.0 ICMP:Init Engine
000.0 UDP:Init 5 Sockets
000.0 TCP:Init 5 Sockets
000.0 TCP: Local MSS: 1460
000.0 NBNS:Init Name Service
000.0 UDP:Socket 1 allocated
000.0 UDP:Open Socket 1, LocPort 137
000.0 DHCP:Init Client
000.0 UDP:Socket 2 allocated
000.0 UDP:Open Socket 2, LocPort 68
000.1 DHCP:State INIT
000.1 DHCP: Sending BCast DHCP_DISCOVER
000.1 MEM:Alloc 356 bytes


Очень большие подозрения, что падение из-за выделения памяти. Точнее не могу сказать, не знаю, как в этом закрытом стеке что-то еще смотреть.
Если не активировать DHCP, то инициализация проходит нормально с таким логом:
Код
000.0 MEM:Init MemPool 2000 bytes
000.0 ETH:Init interface
000.0 ARP:Init Cache, 10 entries
000.0 IP :Init localhost
000.0 ICMP:Init Engine
000.0 UDP:Init 5 Sockets
000.0 TCP:Init 5 Sockets
000.0 TCP: Local MSS: 1460
000.0 NBNS:Init Name Service
000.0 UDP:Socket 1 allocated
000.0 UDP:Open Socket 1, LocPort 137


Что бы это могло быть, в какую сторону копать?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
vlad_new
сообщение Feb 11 2014, 17:02
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 218
Регистрация: 24-06-10
Пользователь №: 58 127



В кейле при нехватке памяти вылетаеш на ошибку выделения памяти, а не на хардеррор. Где то Вы сами память затираете. Ищите где выходите за пределы каких то ваших массивов. Кол=во сокетов тср, надеюсь, у вас больше на 1, чем кол=во запросов по http. dhcp у кейла нормально работает (если он у вас в конфиге разрешён).
Go to the top of the page
 
+Quote Post
Polaris
сообщение Feb 12 2014, 07:20
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 266
Регистрация: 8-12-05
Пользователь №: 11 964



Цитата(vlad_new @ Feb 11 2014, 19:02) *
В кейле при нехватке памяти вылетаеш на ошибку выделения памяти, а не на хардеррор. Где то Вы сами память затираете. Ищите где выходите за пределы каких то ваших массивов. Кол=во сокетов тср, надеюсь, у вас больше на 1, чем кол=во запросов по http. dhcp у кейла нормально работает (если он у вас в конфиге разрешён).

Нет, я ничего не затираю, потому что элементарно не успеваю, проблема возникает лишь тогда, когда включен DHCP, вылет происходит где-то в функции main_TcpNet(), к которой доступа у меня нет.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 05:02
Рейтинг@Mail.ru


Страница сгенерированна за 0.01381 секунд с 7
ELECTRONIX ©2004-2016