Вы не поняли, ничего соединять не надо.
Речь о том, чтобы создать файл с инициализацией типа
не вручную, а каким-нибудь скриптом - питоном например, который вы знаете
Вы не поняли, ничего соединять не надо.
Речь о том, чтобы создать файл с инициализацией типа
не вручную, а каким-нибудь скриптом - питоном например, который вы знаете
отсортировать массив в 2000 элементов на СТМ32 с тактовой 72МГц - единицы миллисекунд. Ты придумываешь сложности там, где их нет.
100500 раз писали новичкам - ОПИСЫВАЙТЕ ВАШУ ЗАДАЧУ, матьиво!!!
Я уже вижу, что в массиве строки, значит обработка чего-то-там в прерывании, с вероятностью 99%, лажа. Просто потому, что любая экономия времени разобъется об обработку строк. Значит уже то, что ты пытаешься сэкономить ровно 1 миллисекунду на расположении элементов в массиве - бредятина.
Повторю - поиск в массиве на 2000 элементов целого числа на 72МГц камне это МАКСИМУМ 2000 операций сравнение+ переход. Сравнение 1 так переход два. Итого 6000 тактов. Меньше 100 микросекунд. 100, матьево, микросекунд, ради которых ты пишешь на форуме ерунду! 100, Карл!!! (с) ![]()
Влад, не кипятись.
На мой взгляд проект обработки массива указателей 2х тыс строк новичком - уже лажа по определению
У новичков вечно тяга к мегаломании ![]()
Но от этого можно отвлечься и обсуждать как будто это все всерьез.
и точно!
В окно смотрю - белки по соснам прыгают. Уже в серое переоделись. … нужно видеть красоту мира!
![]()
не совсем. У наших хвосты пока рыжие, тело пепельное.
у нас на работе парк на территории… с белками…
тут так же. Сама серая, а хвост рыжий.
Я вроде сказал , что в прерывании идет обработка uint32_t. Если по вашему это подразумевает работу со строками то я х.з.
я действительно много не знаю, но меня напрягает что stm при запуске тратит более 0.5секунды до попадания в главный цикл. И я не знаю, от куда ноги растут.
загрузчик?
какая плата то, blue pill?
значит еще 100 мкс погоды не делают ![]()
нет загрузчика. камень stm32f413 96MHz
да уже понятно, мне поздно метаться, тут уже можно себе в ногу стрелять , хуже не будет.
каким нибудь Cube MX инициализируете?
да, умею только обезьянничать. хотя гугл и проверка кода со сравнением показывает, что всё таки что mx что hal правится довольно быстро, и если у людей возникали куски кода с большой избыточностью год назад, то сейчас этот код выглядит более сносно. Хотя там ещё копать не перекопать.
дай угадаю, ты думаешь раз с момента окончания загрузки и до момента точки останова на main() прошло 0.5 секунды , то это время мк что то там обрабатывал ? ты ошибаешся,там уходит уйма времени на инициализацию дебагера , в реальности это время невилируеться.
это уже на релизной сборке. Или…?
можно перевести в любой момент на C++, нужно будет поправить Си-шные файлы директивой “extern C”
a нужный вам файл переписаь/написать
в .cpp
как было измеряно время ?
мы про Build Configuration говорим ? вообще пока не понимаю причем тут release и debug.
При правильной организации массива - 11 (одиннадцать) операций.
надо будет уделить время и изучить.
условно, чисто на глаз(измерял другое а не загрузку, поэтому тайминг правдив). разница загорания диодов питания и тот который от прерывания.
тогда вы про что? релизный билд отличается уровнем оптимизации и я думал выкидывает концы отладки. Время загрузки уменьшается примерно 0,3 секунды. Хотя сам код не сильно то и пожался.
Добавьте в начало основного цикла вывод высокого уровня на какой-то пин. После этого просто осцилом или логик анализатором измерьте время между подачей питания и появлением сигнала на этой ножке. Естесственно сборка должна быть релизная и от платы отключено все, кроме питания
Без таких измерений говорить о чем-то нет смысла, никто не знает насколько точный у вас глазомер
да уже не в эту тему. К вопросу загрузки вернусь как ни будь как будет время. Просто люди сказали об этом, и я вполне могу чего либо не знать, по этому и переспросил.