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

 
 
> Bare metal EMAC драйвер на Cortex-A9, EMAC на Altera SOC HPS
serjj
сообщение Feb 13 2015, 15:44
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 527
Регистрация: 4-06-14
Из: Санкт-Петербург
Пользователь №: 81 866



Всем доброго.
Вожусь сейчас с ARM Cortex-A9 в составе Altera Cyclone V HPS. Интересует следующее. На борту имеется EMAC Synopsys DesignWare 3504-0 Universal Ethernet MAC в числе двух штук. Разбираюсь с bare metal приложением. У Альтеры на EMAC не нашел ни одного примера по работе с ним и в библиотеки для bare metal (hwlib) тоже ничего к EMAC относящегося не нашел (при этом есть остальные интерфейсы кроме USB). При этом под линухом EMAC разумеется поднимается и в U-Boot тоже. Но ОС на него ставить пока в планы не входило. Вообще хотелось бы узнать насколько это неблагодарное занятие в bare metal поднимать Ethernet драйвер на ARM?
И возможно кто-то уже работал с этим Eth контроллером и на него можно достать готовые драйвера? (ARM же он ARM и есть) У меня пока каша в голове по поводу процессора, не программировал его раньше.

В общем хотелось бы услышать совета от спецов по ARMу rolleyes.gif

PS Раньше на простеньком Nios и самописном контроллере делал простой драйвер и надстройку в виде UDP/ARP и всё было просто, а тут такие дебри.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
serjj
сообщение Feb 14 2015, 21:46
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 527
Регистрация: 4-06-14
Из: Санкт-Петербург
Пользователь №: 81 866



Цитата
ЗЫ. ТСу скажу, приступайте к драйверу сетевухи, только если разобрались с самим процом, настройкой портов ВВ для альтерн. функций, кэшами, MMU, прерываниями, контроллером памяти. Если есть какая-то хоть простенькая отладка(типа printf через уарт), иначе это будет мартышкин труд.
При работе с буферами и конфигурационными записями сетевухи, учитывайте, что они должны быть в некэшируемой области памяти!

Ага разобрался с загрузкой, инициализацией MMU, прерываниями и подключением к FPGA, взялся за сетевуху. Есть и отладка и кастомная платка, на них и тружусь.
Цитата
Вообщем, как-то так...
По себе могу сказать, пока поднимал такой камень, раза 3 хотел плюнуть на него, и забросить эту плату так далеко, чтоб не вспоминать о ней, но здравый смысл был сильнее, и не давал мне покоя, пока ее не запустил

Тоже иногда хочется утопить ее где нибудь...
Цитата
Я таки извиняюсь, работал с чем-то похожим, как я понимаю, а именно с Zynq от Xilinx. И что бы там написать baremetal программку для общения через Ethernet мне не приходилось все это делать. Да и вообще, работать с ним без операционной системы ни капли не сложнее чем с Microblaze (аналог Nios). Там вся периферия (ddr, клоки...) конфигурируется автоматически, на основе параметров заданных в визарде. А работа с конкретными устройствами описана в небольшой библиотеке драйверов для baremetal приложений. У альтеры разве не тоже самое?

Кастомизация у альтеры слабая, приходится много своими руками делать, и документация не на все есть.
Цитата
Ну а в данном случае как?

Пока ничего путного не нашел для альтерного сока.
Цитата
Нормальная идея: ставить Linux просто из тех соображений, что железо это позволяет сделать, тоже неразумно.

Радует, а то пока про bare metal и ARM какие-то панические отзывы
Go to the top of the page
 
+Quote Post



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

 


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


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