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

 
 
 
Reply to this topicStart new topic
> 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
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
vlad_new
сообщение Feb 12 2014, 09:14
Сообщение #4


Местный
***

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



Ну вы же совсем не дали никакой информации. Какая версия, используете ли вы библиотеки именно из этой версии или что то откудото перетаскивали и т.д. В версии 4,7 всё работает, 5 версию я не проверял. К примеру библиотека от предыдущей версии не подходит к следующей. Сколько выделено памяти под кучу и сколько под стек. Ну надо чего то рассказать чтоб народ мог подумать.
Go to the top of the page
 
+Quote Post
Polaris
сообщение Feb 12 2014, 09:18
Сообщение #5


Местный
***

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



Цитата(vlad_new @ Feb 12 2014, 11:14) *
Ну вы же совсем не дали никакой информации. Какая версия, используете ли вы библиотеки именно из этой версии или что то откудото перетаскивали и т.д. В версии 4,7 всё работает, 5 версию я не проверял. К примеру библиотека от предыдущей версии не подходит к следующей. Сколько выделено памяти под кучу и сколько под стек. Ну надо чего то рассказать чтоб народ мог подумать.

uVision 4.60, библиотека от него же.
Стек - 2048 байт, куча тоже.
Работа идет с RTX, так что у задачи свой стек.
Go to the top of the page
 
+Quote Post
vlad_new
сообщение Feb 12 2014, 13:19
Сообщение #6


Местный
***

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



Старовато. В монопольном режиме с DHCP проблемм не было. Под RTX не пробывал. Хотя точно знаю, что в версии 4.72 много чего исправили. Так что есть смысл проапгрейтится.
Go to the top of the page
 
+Quote Post
Polaris
сообщение Feb 12 2014, 14:49
Сообщение #7


Местный
***

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



Цитата(vlad_new @ Feb 12 2014, 16:19) *
Старовато. В монопольном режиме с DHCP проблемм не было. Под RTX не пробывал. Хотя точно знаю, что в версии 4.72 много чего исправили. Так что есть смысл проапгрейтится.

У меня стояла 4.70 - отвратительно работала с отладчиком (uLink2), в сети тоже на это жалуются многие, они там драйвера поменяли и прошивку, так что пришлось вернуться к этой версии, тут стабильно.
Но я вроде бы нашел причину сбоя - unprivileged mode для задач, он там при работе с DHCP зачем-то вызывает int_disable_eth-int_enable_eth уже после инициализации. Теперь поднимается, шлет запросы, пытаюсь запустить дальше. Спасибо!
Go to the top of the page
 
+Quote Post
skripach
сообщение Feb 12 2014, 14:51
Сообщение #8


■ ■ ■ ■
*****

Группа: Свой
Сообщений: 1 100
Регистрация: 9-08-06
Пользователь №: 19 443



Уже много раз писали в каких регистрах смотреть адрес откуда "падает", например тут, попробуйте это проще чем кажется.


--------------------
Делай что должен и будь что будет.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Feb 12 2014, 17:34
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



проверьте драйвер EMAC, в LPC1768 в нем была заглушка на выключение - включение прерываний, сначала написали с флагом возвращения в исходный режим, а потом закоментили, и сделали просто выкл - вкл
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 24th July 2025 - 03:04
Рейтинг@Mail.ru


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