Перейти к содержанию
    

Поднять FreeRTOS на PowerPC PPC470S

Нужно поднять FreeRTOS на PowerPC PPC470S.

Сроки сжатые, по деньгам - не 20 тысяч, но все-таки хотелось бы не 200, поэтому ищем спеца, который уже хорошо знаком с PowerPC и для которого это не будет мегапроектом, требующим уймы времени.

Компилятор - GCC, системная библиотека - NewLib. Это важно, так как в горах нашего прикладного кода мы в куче мест на это закладывались.

Процессор двухъядерный, поэтому либо одно ядро остановлено, либо на каждом ядре свой экземпляр freertos-а.

Нужно, чтобы работала плавучка.

Надо поднять все - от включения питания до полностью проинициализированных тактирования, контроллера прерываний, кэшей, распределения памяти, etc. Это подъемно, обвязка в чипе не монстроидальная. Критерий приемки работы - честно без срезания углов работающие две нитки, в каждой - hello world в цикле с разными периодами, работает плавучка в обеих нитях, все это собирается с помощью gcc (тулчайн - с вас, или дам наивно собранный мной с помощью crosstool-ng), есть линкер-скрипт, честно работает malloc (), проинициализировано все нужное. Также в состав работы входит объяснение всего сделанного мне, чтобы я мог потом с этим работать, а также некоторый объем консультаций после завершения проекта.

На целевой плате нет JTAG, но есть (пока не проверенный) EDCL. Если с EDCL не получится, то работу все равно надо сделать, в этом случае предоставлю способ заливки бинарника во флэш напрямую, с прямым подключением к флэшке с процессором в сбросе.

Если нет возможности сделать все целиком, но вы хорошо знаете PowerPC, то возможно взаимодействие в виде хорошо оплачиваемых консультаций.

Располагаемся в Санкт-Петербурге на юге города.

Пишите на [email protected], меня зовут Андрей Васильев.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

29 minutes ago, vap said:

На целевой плате нет JTAG, но есть (пока не проверенный) EDCL. Если с EDCL не получится, то работу все равно надо сделать, в этом случае предоставлю способ заливки бинарника во флэш напрямую, с прямым подключением к флэшке с процессором в сбросе.

На подъем OS на PowerPC не претендую, но как у работающего в смежной сфере у меня возник вопрос: что есть EDCL? Первый раз такую аббревиатуру встречаю.

 

Ну и да - без JTAG или другого отладочного канала будет тяжело подымать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, Raven said:

у меня возник вопрос: что есть EDCL? Первый раз такую аббревиатуру встречаю.

насколько помню, у Gaisler LEON был подобный интерфейс

EDCL - отладка через штатный Ethernet в OutOfBand ("вторые" маки и айпишники зашиваются в eFuse, например)

т.е. тупо доступ к шине и дебагу через другой тип транспорта

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 hours ago, Doka said:

EDCL - отладка через штатный Ethernet в OutOfBand ("вторые" маки и айпишники зашиваются в eFuse, например)

 

1 hour ago, vap said:

Да, именно оно.

Спасибо за разъяснения, дальше понятно. Похоже, данное решение имеет хождение преимущественно в экосистеме Gaisler's IPLIB.

8 hours ago, vap said:

Нужно поднять FreeRTOS на PowerPC PPC470S.

На целевой плате нет JTAG, но есть (пока не проверенный) EDCL.

Модуль, 1888ТХ018?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С помощью EDCL можно ставить точки останова и выполнять пошаговую отладку на ранних этапах загрузки? Есть IDE+SDK от производителя, с bare metal примерами облегчающее процесс отладки?

Изменено пользователем vguard

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

24 minutes ago, vguard said:

С помощью EDCL можно ставить точки останова и выполнять пошаговую отладку на ранних этапах загрузки? Есть IDE+SDK от производителя, с bare metal примерами облегчающее процесс отладки?

Да, EDCL это умеет. Но как именно с этим работать - надо разбираться.

IDE нету, SDK в прямом виде нету, но есть вот это: https://github.com/RC-MODULE/rumboot https://github.com/RC-MODULE/rumboot-tools https://github.com/RC-MODULE/u-boot https://github.com/RC-MODULE/u-boot/blob/rcm-develop/configs/mb115-01_defconfig

Изменено пользователем vap

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

11 minutes ago, vap said:

Да, EDCL это умеет. Но как именно с этим работать - надо разбираться.

 

Думается, что уметь он это может только через посредство ''засланного казачка", то бишь дебажного агента, запущенного на отлаживаемом процессоре. "Здесь вам не тут", это вам не remote debugging via JTAG с аппаратной поддержкой точек останова, пошагивания и т.п..

 

А упомянутого дебажного агента надо шоб кто-то уже разработал и подготовил. Gaisler для своих SPARC и RISC-V такового написал (см. про программную поддержку отладки у него на сайте). Насчет поддержки PowerPC - не в курсе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Just now, Raven said:

... только через посредство ''засланного казачка", то бишь дебажного агента, запущенного на отлаживаемом процессоре ...

Так там аппаратный модуль, который по получении специальных ethernet-пакетов к шине лазает и к ядру процессора. Ну то есть, софта на таргете никакого не нужно, все в железе, прямо от отпускания резета.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

16 minutes ago, vap said:

Так там аппаратный модуль, который по получении специальных ethernet-пакетов к шине лазает и к ядру процессора. Ну то есть, софта на таргете никакого не нужно, все в железе, прямо от отпускания резета.

Это я понял. Но доступаться таким образом он может только до memory mapped ресурсов, да и то только туда, куда его ядро пустит. Обычно такие критические вещи, как поддержка отладки в ядре, делают на чем-то вроде CSRs, т.е., регистров, доступных только самому ядру (и конечно, с соответствующими привилегиями доступа). Может, конечно, в PPC470S они как-то отображены в адреса памяти, но есть законное сомнение.

 

Скорее можно поверить во взаимодействие с дебажным агентом через разделяемую область памяти.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 minutes ago, Raven said:

делают на чем-то вроде CSRs, т.е., регистров, доступных только самому ядру

Ну так это же не PCI-ная сетевуха, оно прямо в чипе процессора все расположено, и вроде как просто работает как Debug Access Point (не знаю, как правильно в PPC-шной терминологии). Ну то есть можно ядро остановить, бряку поставить, регистры посмотреть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 7/14/2021 at 7:44 AM, gosha-z said:

Есть инсайд в "Модуле". Но я в Москве

Ну инсайд-то и у меня есть, но к нему обращаться можно только за консультацией, а у меня тупо нет времени во всем разобраться. Про PowerPC я ничего не знаю, и поэтому самые просты вещи занимают уйму времени. На ARM1176 в свое время я гораздо более вычурную штуку сделал за короткий срок, но с ARM я был знаком. Тут нужен человек, знакомый с PowerPC и способный с пониманием происходящего ковырять стартапный код. Причем из-за жутко тесных сроков человек должен быть уже опытный. Если есть ощущение, что справитесь - пишите на email, договоримся.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...