-
- Там для flash еще делитель на 2, при HCLK=72 Fprog=36 (и при
Fprog=60 программирование реально срабатывает не всегда) - AlexG(26.01.2025 03:58)
- Думаю, что можно попробовать запуститься с HCLK = FPROG = 50 MHz,
ну а Ethernet от 60. Чтобы отсечь вопрос о переключении на ходу - Vit(26.01.2025 07:42)
- При HCLK = 96, FPROG = 48 запись flash работает, но не хватает
быстродействия чтобы обработать все Ethernet пакеты. С HCLK = 144
потерянных пакетов гораздо меньше. - AlexG(26.01.2025 08:26)
- Разгон в 1,5 раза необходим, чтобы справиться с трафиком? КМК, у
вас в этом месте проблема не меньше, чем тактирование флеша. Надо
софт вымучивать. Кстати, как-то раз невольно провёл эксперимент.
Собрал прошивку с memcpy без оптимизации и обнаружил, что lwip стал
работать значительно медленнее. То есть оптимизированная версия
версия memcpy размером 236 байт имеет большое значение. SciFi(54 знак., 26.01.2025 11:58)
- как это узкое место только вычислить? TCP стек сейчас используется
довольно сложный и потоков принимаемых+передаваемых пакетов около
25 (имитирую максимальную нагрузку) - AlexG(26.01.2025 16:30)
- Среда разработки может предоставлять
провайдерпрофайлер - в прошивку встраивается код, а через отладочный интерфейс, доступны данные о нагрузке. Nikolay_Po(611 знак., 26.01.2025 17:42)- ОСРВ есть. С логическим анализатором это вариант, с точностью до
процесса выяснить чем загружен процессор можно. AlexG(30 знак., 27.01.2025 03:57)
- А жаль. Как я понимаю, ввиду наличия ОС и вообще, сложности
проекта, переехать на GCC не вариант - требуется большая работа по
замене всяких intrinsic и управления прерываниями, а так же долгое
тестирование и отладка новых багов. Nikolay_Po(553 знак., 27.01.2025 10:01, ссылка)
- multi-file compilation для этого проекта не работает, не нравятся IARу некоторые функции и прагмы. Размер программы после компиляции со скоростью выполнения связан слабо. Может у меня все циклы развернуты? Flash не в дефиците совсем. - AlexG(27.01.2025 10:52)
- Нет там убедительных причин переезжать на другой компилятор. А геморрой, связанный с переездом, очевиден. - SciFi(27.01.2025 10:02)
- А жаль. Как я понимаю, ввиду наличия ОС и вообще, сложности
проекта, переехать на GCC не вариант - требуется большая работа по
замене всяких intrinsic и управления прерываниями, а так же долгое
тестирование и отладка новых багов. Nikolay_Po(553 знак., 27.01.2025 10:01, ссылка)
- Встраивать код вроде бы не обязательно. Можно просто на ходу часто
читать РС, такое отладочный интерфейс на сравнительно больших чипах
позволяет, и по частоте попадания в разные функции определять чем
процессор долго занимается. AlexBi(1 знак., 26.01.2025 22:44, ссылка)
- Неплохо, но J-Trace PRO стоит негуманно. AlexG(65 знак., 27.01.2025 03:59)
- orbuculum стоит ничего: beefdeadbeef(1 знак., 27.01.2025 12:38, ссылка)
- Спасибо. - Nikolay_Po(27.01.2025 18:24)
- orbuculum стоит ничего: beefdeadbeef(1 знак., 27.01.2025 12:38, ссылка)
- Спасибо, не знал. - Nikolay_Po(26.01.2025 22:45)
- Неплохо, но J-Trace PRO стоит негуманно. AlexG(65 знак., 27.01.2025 03:59)
- ОСРВ есть. С логическим анализатором это вариант, с точностью до
процесса выяснить чем загружен процессор можно. AlexG(30 знак., 27.01.2025 03:57)
- Среда разработки может предоставлять
- как это узкое место только вычислить? TCP стек сейчас используется
довольно сложный и потоков принимаемых+передаваемых пакетов около
25 (имитирую максимальную нагрузку) - AlexG(26.01.2025 16:30)
- т.е. при HCLK = 72 MHz может просто захлебывается? наверно потому во FreeBSD стена прям в ядро проложена. но тут же вроде не сильно грустно - обмен с контроллером Ethernet по DMA, наверно можно легкие тормоза на отправку проложить. Vit(148 знак., 26.01.2025 08:44)
- Разгон в 1,5 раза необходим, чтобы справиться с трафиком? КМК, у
вас в этом месте проблема не меньше, чем тактирование флеша. Надо
софт вымучивать. Кстати, как-то раз невольно провёл эксперимент.
Собрал прошивку с memcpy без оптимизации и обнаружил, что lwip стал
работать значительно медленнее. То есть оптимизированная версия
версия memcpy размером 236 байт имеет большое значение. SciFi(54 знак., 26.01.2025 11:58)
- При HCLK = 96, FPROG = 48 запись flash работает, но не хватает
быстродействия чтобы обработать все Ethernet пакеты. С HCLK = 144
потерянных пакетов гораздо меньше. - AlexG(26.01.2025 08:26)
- Думаю, что можно попробовать запуститься с HCLK = FPROG = 50 MHz,
ну а Ethernet от 60. Чтобы отсечь вопрос о переключении на ходу - Vit(26.01.2025 07:42)
- Там для flash еще делитель на 2, при HCLK=72 Fprog=36 (и при
Fprog=60 программирование реально срабатывает не всегда) - AlexG(26.01.2025 03:58)