vap 0 12 июля, 2021 Опубликовано 12 июля, 2021 · Жалоба Нужно поднять FreeRTOS на PowerPC PPC470S. Сроки сжатые, по деньгам - не 20 тысяч, но все-таки хотелось бы не 200, поэтому ищем спеца, который уже хорошо знаком с PowerPC и для которого это не будет мегапроектом, требующим уймы времени. Компилятор - GCC, системная библиотека - NewLib. Это важно, так как в горах нашего прикладного кода мы в куче мест на это закладывались. Процессор двухъядерный, поэтому либо одно ядро остановлено, либо на каждом ядре свой экземпляр freertos-а. Нужно, чтобы работала плавучка. Надо поднять все - от включения питания до полностью проинициализированных тактирования, контроллера прерываний, кэшей, распределения памяти, etc. Это подъемно, обвязка в чипе не монстроидальная. Критерий приемки работы - честно без срезания углов работающие две нитки, в каждой - hello world в цикле с разными периодами, работает плавучка в обеих нитях, все это собирается с помощью gcc (тулчайн - с вас, или дам наивно собранный мной с помощью crosstool-ng), есть линкер-скрипт, честно работает malloc (), проинициализировано все нужное. Также в состав работы входит объяснение всего сделанного мне, чтобы я мог потом с этим работать, а также некоторый объем консультаций после завершения проекта. На целевой плате нет JTAG, но есть (пока не проверенный) EDCL. Если с EDCL не получится, то работу все равно надо сделать, в этом случае предоставлю способ заливки бинарника во флэш напрямую, с прямым подключением к флэшке с процессором в сбросе. Если нет возможности сделать все целиком, но вы хорошо знаете PowerPC, то возможно взаимодействие в виде хорошо оплачиваемых консультаций. Располагаемся в Санкт-Петербурге на юге города. Пишите на [email protected], меня зовут Андрей Васильев. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Raven 11 12 июля, 2021 Опубликовано 12 июля, 2021 · Жалоба 29 minutes ago, vap said: На целевой плате нет JTAG, но есть (пока не проверенный) EDCL. Если с EDCL не получится, то работу все равно надо сделать, в этом случае предоставлю способ заливки бинарника во флэш напрямую, с прямым подключением к флэшке с процессором в сбросе. На подъем OS на PowerPC не претендую, но как у работающего в смежной сфере у меня возник вопрос: что есть EDCL? Первый раз такую аббревиатуру встречаю. Ну и да - без JTAG или другого отладочного канала будет тяжело подымать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Doka 4 12 июля, 2021 Опубликовано 12 июля, 2021 · Жалоба 2 hours ago, Raven said: у меня возник вопрос: что есть EDCL? Первый раз такую аббревиатуру встречаю. насколько помню, у Gaisler LEON был подобный интерфейс EDCL - отладка через штатный Ethernet в OutOfBand ("вторые" маки и айпишники зашиваются в eFuse, например) т.е. тупо доступ к шине и дебагу через другой тип транспорта Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vap 0 12 июля, 2021 Опубликовано 12 июля, 2021 · Жалоба 3 hours ago, Doka said: EDCL - отладка через штатный Ethernet в OutOfBand Да, именно оно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Raven 11 12 июля, 2021 Опубликовано 12 июля, 2021 · Жалоба 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? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vap 0 13 июля, 2021 Опубликовано 13 июля, 2021 · Жалоба 9 hours ago, Raven said: Модуль, 1888ТХ018? Он самый :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vguard 1 13 июля, 2021 Опубликовано 13 июля, 2021 (изменено) · Жалоба С помощью EDCL можно ставить точки останова и выполнять пошаговую отладку на ранних этапах загрузки? Есть IDE+SDK от производителя, с bare metal примерами облегчающее процесс отладки? Изменено 13 июля, 2021 пользователем vguard Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vap 0 13 июля, 2021 Опубликовано 13 июля, 2021 (изменено) · Жалоба 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 Изменено 13 июля, 2021 пользователем vap Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Raven 11 13 июля, 2021 Опубликовано 13 июля, 2021 · Жалоба 11 minutes ago, vap said: Да, EDCL это умеет. Но как именно с этим работать - надо разбираться. Думается, что уметь он это может только через посредство ''засланного казачка", то бишь дебажного агента, запущенного на отлаживаемом процессоре. "Здесь вам не тут", это вам не remote debugging via JTAG с аппаратной поддержкой точек останова, пошагивания и т.п.. А упомянутого дебажного агента надо шоб кто-то уже разработал и подготовил. Gaisler для своих SPARC и RISC-V такового написал (см. про программную поддержку отладки у него на сайте). Насчет поддержки PowerPC - не в курсе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vap 0 13 июля, 2021 Опубликовано 13 июля, 2021 · Жалоба Just now, Raven said: ... только через посредство ''засланного казачка", то бишь дебажного агента, запущенного на отлаживаемом процессоре ... Так там аппаратный модуль, который по получении специальных ethernet-пакетов к шине лазает и к ядру процессора. Ну то есть, софта на таргете никакого не нужно, все в железе, прямо от отпускания резета. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Raven 11 13 июля, 2021 Опубликовано 13 июля, 2021 · Жалоба 16 minutes ago, vap said: Так там аппаратный модуль, который по получении специальных ethernet-пакетов к шине лазает и к ядру процессора. Ну то есть, софта на таргете никакого не нужно, все в железе, прямо от отпускания резета. Это я понял. Но доступаться таким образом он может только до memory mapped ресурсов, да и то только туда, куда его ядро пустит. Обычно такие критические вещи, как поддержка отладки в ядре, делают на чем-то вроде CSRs, т.е., регистров, доступных только самому ядру (и конечно, с соответствующими привилегиями доступа). Может, конечно, в PPC470S они как-то отображены в адреса памяти, но есть законное сомнение. Скорее можно поверить во взаимодействие с дебажным агентом через разделяемую область памяти. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vap 0 13 июля, 2021 Опубликовано 13 июля, 2021 · Жалоба 3 minutes ago, Raven said: делают на чем-то вроде CSRs, т.е., регистров, доступных только самому ядру Ну так это же не PCI-ная сетевуха, оно прямо в чипе процессора все расположено, и вроде как просто работает как Debug Access Point (не знаю, как правильно в PPC-шной терминологии). Ну то есть можно ядро остановить, бряку поставить, регистры посмотреть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosha-z 2 14 июля, 2021 Опубликовано 14 июля, 2021 · Жалоба Есть инсайд в "Модуле". Но я в Москве. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vap 0 15 июля, 2021 Опубликовано 15 июля, 2021 · Жалоба On 7/14/2021 at 7:44 AM, gosha-z said: Есть инсайд в "Модуле". Но я в Москве Ну инсайд-то и у меня есть, но к нему обращаться можно только за консультацией, а у меня тупо нет времени во всем разобраться. Про PowerPC я ничего не знаю, и поэтому самые просты вещи занимают уйму времени. На ARM1176 в свое время я гораздо более вычурную штуку сделал за короткий срок, но с ARM я был знаком. Тут нужен человек, знакомый с PowerPC и способный с пониманием происходящего ковырять стартапный код. Причем из-за жутко тесных сроков человек должен быть уже опытный. Если есть ощущение, что справитесь - пишите на email, договоримся. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться