Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Изернет для STM32F417 без ОС.
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Oleg_IT
Программу собрал на STM32CubeMX с ETH и LWIP, установки по умолчанию.
Не могу понять, как заставить программу передавать свои буфера.
АЦП заполняет буфер через DMA по циклу, генерятся прерывания HAL_DMA_STATE_READY_MEM0, HAL_DMA_STATE_READY_HALF_MEM0, в обработчике прерывания АЦП ставлю флаг и в главном цикле соответствующий буфер нужно передать по изернет. Cube ставит только инициализацию LwIP (MX_LWIP_Init()wink.gif, а всё остальное, как я понимаю, нужно самому прописывать. Нашел только функции MX_LWIP_Process() и HAL_ETH_TransmitFrame(…). Также вижу инициализацию DMA для отправки и приёма данных своими внутренними буферами Tx_Buff и Rx_Buff.
Индикация на изернет разъеме есть, зелёный слева, жёлтый мигающий справа.
Как создать соединение? Средствами API LwIP? Как подставить в DMA для изернет свои буфера?
В тех примерах, которые мне доступны на мои вопросы ответов не нахожу.
Tarbal
Знакомый свою операционку наваял. Оно работает на STM32F429 в том числе. Знаю, что там есть изернет. Он там даже gdb через него подключает.
Посмотрите исходники -- может чего найдете полезного:

https://github.com/bobmittmann/thinkos
https://docs.google.com/document/d/1Bp_8LZY...ajnt7gfprt0/pub


Для затравки:
https://github.com/bobmittmann/thinkos/blob...2f/stm32f-eth.c

https://github.com/bobmittmann/thinkos/blob.../stm32f-ethif.c
Oleg_IT
Спасибо, посмотрю.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.