-
- Спорно. Apтём(820 знак., 09.04.2017 17:41)
- У нас как-то программеры соревновались с компилером (GCC 2.96 кажись - давно было). Выигрыш 10% за полторы недели жесткого кодинга. Потом переписали проект с сильными алгоритмическими улучшениями - выигрыш 20 раз за те же полторы недели. Evgeny_CD(184 знак., 09.04.2017 19:02)
- Дядь Жень, не будь категоричен про "Асм идеален на отдельных кусках - здесь спора нет. Либо на очень малых проектах." выше написал, что для Дека все на асме писано и КАК писано. На одну строчку асма едва ли не две строки комментов. - Alex68(09.04.2017 23:11)
- Это другая философия. Асм Эльбруса, например - почти ЯВУ. Засада в том, что пока на Эльбрусе MCU за $1 не делают. - Evgeny_CD(09.04.2017 23:15)
- я б и сейчас писал на асме для Дека. - Alex68(09.04.2017 23:29)
- Тогда ДСПИК и ПИК24 вам понравится. ;О - mse homjak(09.04.2017 23:48)
- а что , похожи? у моторолы система команд отчасти напоминала дек, вот для них тоже писал легко. еще тут говаривали, что у MSP430 тожа схожая система команд. - Alex68(09.04.2017 23:55)
- Ну, за "похожи" ручаться не буду, но операццыя типа "add R1,R2,R3", в порядке вещей. R3=R1+R2, есличо. mse homjak(128 знак., 10.04.2017 00:09 - 00:11)
- то есть порядок операндов - слева направо, как у дек и моторолы? - Alex68(10.04.2017 00:11)
- Не, это так, для примера. Трёхадресная команда. Причём, одним из адресов может быть память. Через индекс или напрямую, уже не помню. А мож и так, и так. Даже после АВР, был впечатлён. Конечно, до х86, с его косвенной адресацией об сегмент, базу, mse homjak(57 знак., 10.04.2017 00:19)
- а там так можно? JMP @(R4)+ или TST (PC)+ - Alex68(10.04.2017 00:26)
- Не, это так, для примера. Трёхадресная команда. Причём, одним из адресов может быть память. Через индекс или напрямую, уже не помню. А мож и так, и так. Даже после АВР, был впечатлён. Конечно, до х86, с его косвенной адресацией об сегмент, базу, mse homjak(57 знак., 10.04.2017 00:19)
- то есть порядок операндов - слева направо, как у дек и моторолы? - Alex68(10.04.2017 00:11)
- Ну, за "похожи" ручаться не буду, но операццыя типа "add R1,R2,R3", в порядке вещей. R3=R1+R2, есличо. mse homjak(128 знак., 10.04.2017 00:09 - 00:11)
- а что , похожи? у моторолы система команд отчасти напоминала дек, вот для них тоже писал легко. еще тут говаривали, что у MSP430 тожа схожая система команд. - Alex68(09.04.2017 23:55)
- Тогда ДСПИК и ПИК24 вам понравится. ;О - mse homjak(09.04.2017 23:48)
- я б и сейчас писал на асме для Дека. - Alex68(09.04.2017 23:29)
- Это другая философия. Асм Эльбруса, например - почти ЯВУ. Засада в том, что пока на Эльбрусе MCU за $1 не делают. - Evgeny_CD(09.04.2017 23:15)
- IMHO близким к идеальному вариантом была бы возможность кодировать обработчики прерываний и небольшие подпрограммы целиком на ASM, имея возможность принудить компилятор хранить параметры и результат в регистрах в жёстко определённом порядке. - AU08(09.04.2017 19:06)
- Так оно так и есть. Передаваемые в функцию аргументы - РОНы подряд от нулевого. Возвращаемое значение - РОНы подряд от нулевого (по типу результата). Локальные переменные - либо РОНы, либо РОНы и стек. - my504(09.04.2017 19:10)
- Дядь Жень, не будь категоричен про "Асм идеален на отдельных кусках - здесь спора нет. Либо на очень малых проектах." выше написал, что для Дека все на асме писано и КАК писано. На одну строчку асма едва ли не две строки комментов. - Alex68(09.04.2017 23:11)
- 1. Простота кода в Си оборачивается достаточно сложными АСМ конструкциями, а после оптимизации еще и не поддающимися отладке. Возникает противоречие: неоптимизированный код поддается дебагу, но не соответствует по времени исполнения my504(2253 знак., 09.04.2017 18:33 - 18:44)
- Да прям уж так... Apтём(617 знак., 09.04.2017 19:28)
- Кто-нибудь мне скажет, нафига отлаживать по шагам???? Evgeny_CD(640 знак., 09.04.2017 19:53)
- Как зачем? Иногда бывает напишешь такого что только по шагам получается понять как оно работает (но это слава богу очень редко). Apтём(1070 знак., 09.04.2017 20:36)
- Может, у нас с Вами разные Cortex? В мире моих Cortex есть мануал на сайте ARM, и там для них все очень подробно расписано. Evgeny_CD(170 знак., 09.04.2017 22:38)
- Кортексы у нас одни и те же конечно. Apтём(788 знак., 09.04.2017 22:58)
- Изначально я написал про симулятор простых, классических MCU без Кеша :) Кеш стимулировать тоже можно, просто это приличный кусок дополнительной работы. - Evgeny_CD(09.04.2017 23:09)
- Можно-то можно, но надо наверное информация о работе кеша иметь, А производитель её даст? - Apтём(09.04.2017 23:18)
- Размер кеш лайна, ассоциативность, базовый алгоритм обычно все пишут. Труднее найти число тактов ожидания (часто неожиданно бывает не 0). В целом все описано, но собрать это воедино и закодить симулятор уже не так тривиально. - Evgeny_CD(09.04.2017 23:23)
- Ну если так то наверное можно, плюс ещё поэкспериментировать с реальным железом для доводки модели кеш-ядро. Apтём(37 знак., 09.04.2017 23:40)
- -> у них много открытых моделей. Все вокруг SystemC вертится. - Evgeny_CD(09.04.2017 23:59, ссылка)
- Ну если так то наверное можно, плюс ещё поэкспериментировать с реальным железом для доводки модели кеш-ядро. Apтём(37 знак., 09.04.2017 23:40)
- Размер кеш лайна, ассоциативность, базовый алгоритм обычно все пишут. Труднее найти число тактов ожидания (часто неожиданно бывает не 0). В целом все описано, но собрать это воедино и закодить симулятор уже не так тривиально. - Evgeny_CD(09.04.2017 23:23)
- Можно-то можно, но надо наверное информация о работе кеша иметь, А производитель её даст? - Apтём(09.04.2017 23:18)
- Изначально я написал про симулятор простых, классических MCU без Кеша :) Кеш стимулировать тоже можно, просто это приличный кусок дополнительной работы. - Evgeny_CD(09.04.2017 23:09)
- Кортексы у нас одни и те же конечно. Apтём(788 знак., 09.04.2017 22:58)
- Может, у нас с Вами разные Cortex? В мире моих Cortex есть мануал на сайте ARM, и там для них все очень подробно расписано. Evgeny_CD(170 знак., 09.04.2017 22:38)
- Бывает и по шагам. В самом конце. Конце рабочего дня. Когда пока шагом не упрешься лбом в косяк - тупо его не видишь. my504(282 знак., 09.04.2017 20:04)
- Как зачем? Иногда бывает напишешь такого что только по шагам получается понять как оно работает (но это слава богу очень редко). Apтём(1070 знак., 09.04.2017 20:36)
- Код реального времени не отлаживается по шагам. В лучшем случае в самом завершении поиска. Включение оптимизации по скорости немедленно отключает возможность установки брекпойнтов в значительной части кода. Остается возможность их ставить в my504(34 знак., 09.04.2017 19:33)
- Это уж от компилятора зависит - можно или нет breakpoint поставить. У меня на АВР и Cortex-M с этим большой проблемы не ощущаю. Правда в основном ставлю уровенб O2 - больше не надо, хватает и так. Apтём(40 знак., 09.04.2017 19:41)
- На STM32 я пишу только на Си. Потому что в сигнальных задачах я лично его еще не применял - только прототип такого изделия писал. А остальные мои проекты - dsPIC33FJ/EP. Чумовая по системе команд платформа. Иногда забываешь, что пишешь не на Си, а my504(14 знак., 09.04.2017 19:46)
- Понятно. Не зря видимо люди говорят что Microchip-а с тулзами дело дрянь. - Apтём(09.04.2017 19:48)
- В чем конкретно эта дрянь состоит? Конечный результат требует лишь ТРИ условия. Функционал, себестоимость и сроки согласно проекта. Удобства и привычки разработчика никого не интересуют. Никого не интересует инструментарий разработчика, платформы my504(137 знак., 09.04.2017 19:56)
- Я сам с ПИКами не работал (если не считать 1-2 года со Scenix) - сужу по отзывам людей работающих с контроллерами Microchip. У меня сложилось такое мнение: их среды программирования глючный отстой (мягко говоря), компиляторы с нормальной Apтём(945 знак., 09.04.2017 20:25)
- У нас с Вами разные профессии. Вы программист, а я радиоинженер. Поэтому разные взгляды на жизнь. my504(753 знак., 09.04.2017 20:46)
- Ну, может не так всё и плохо у ПИК как мне кажется (иначе бы Микрочип давно разорился бы). Могит быть. Apтём(301 знак., 09.04.2017 20:56)
- Уровень оптимизации разный. А от уровня зависит и отладка. Для того, чтобы переменная была видна, нужно в каждой строке кода возвращать ей актуальное значение. Это добавляет к вычислениям в РОНах бессмысленные пересылки в ОЗУ. А далеко не в каждой my504(249 знак., 09.04.2017 21:16 - 21:21)
- Что-то странное вы пишите... Apтём(969 знак., 09.04.2017 21:25)
- РОНы тут при том, что нет никакой необходимости обновлять значение переменной на участке кода, где ее промежуточное значение не используется иначе как в самом этом участке. И тогда все вычисления происходят только в РОНах. Это приводит к гораздо my504(594 знак., 09.04.2017 21:37 - 21:43)
- А, понятно... Apтём(766 знак., 09.04.2017 21:45 - 21:47)
- Простой пример. Вы пытаетесь посмотреть некий цикл, а счетчик в РОНе. Причем периодически удаляемый в стек, потому что РОНов не хватает. Остановили в некоей точке, а в окне вотча пусто - значение счетчика недоступно... my504(288 знак., 09.04.2017 21:56)
- Ну это проблемы Микрочиповского софта, ничьи больше. Apтём(1039 знак., 09.04.2017 22:37)
- Если локальные переменные жестко привязаны к РОНам, то можно их показать. Правда не слишком понятно как с этим добром эффективно работать... И отладчик тут вообще не причем. Это зависит от компилятора и системы команд. Еще раз. Отладчик не следит my504(282 знак., 09.04.2017 22:52 - 22:56)
- Это понятно, что Apтём(1270 знак., 09.04.2017 23:13)
- А где колонка АДРЕСА этой самой переменной? my504(242 знак., 09.04.2017 23:26)
- Адреса там нету - не кажет. Apтём(226 знак., 09.04.2017 23:37)
- Есть такое обоснованное мнение, что колонка адресов у Вас просто не включена... - my504(10.04.2017 05:16)
- Скорее всего её там не предполагалось. Или может знаете как включить эту колонку? Тогда подскажите. - Apтём(10.04.2017 19:31)
- Есть такое обоснованное мнение, что колонка адресов у Вас просто не включена... - my504(10.04.2017 05:16)
- Адреса там нету - не кажет. Apтём(226 знак., 09.04.2017 23:37)
- А где колонка АДРЕСА этой самой переменной? my504(242 знак., 09.04.2017 23:26)
- Это понятно, что Apтём(1270 знак., 09.04.2017 23:13)
- Если локальные переменные жестко привязаны к РОНам, то можно их показать. Правда не слишком понятно как с этим добром эффективно работать... И отладчик тут вообще не причем. Это зависит от компилятора и системы команд. Еще раз. Отладчик не следит my504(282 знак., 09.04.2017 22:52 - 22:56)
- Ну это проблемы Микрочиповского софта, ничьи больше. Apтём(1039 знак., 09.04.2017 22:37)
- Простой пример. Вы пытаетесь посмотреть некий цикл, а счетчик в РОНе. Причем периодически удаляемый в стек, потому что РОНов не хватает. Остановили в некоей точке, а в окне вотча пусто - значение счетчика недоступно... my504(288 знак., 09.04.2017 21:56)
- А, понятно... Apтём(766 знак., 09.04.2017 21:45 - 21:47)
- РОНы тут при том, что нет никакой необходимости обновлять значение переменной на участке кода, где ее промежуточное значение не используется иначе как в самом этом участке. И тогда все вычисления происходят только в РОНах. Это приводит к гораздо my504(594 знак., 09.04.2017 21:37 - 21:43)
- Что-то странное вы пишите... Apтём(969 знак., 09.04.2017 21:25)
- Уровень оптимизации разный. А от уровня зависит и отладка. Для того, чтобы переменная была видна, нужно в каждой строке кода возвращать ей актуальное значение. Это добавляет к вычислениям в РОНах бессмысленные пересылки в ОЗУ. А далеко не в каждой my504(249 знак., 09.04.2017 21:16 - 21:21)
- Ну, может не так всё и плохо у ПИК как мне кажется (иначе бы Микрочип давно разорился бы). Могит быть. Apтём(301 знак., 09.04.2017 20:56)
- У нас с Вами разные профессии. Вы программист, а я радиоинженер. Поэтому разные взгляды на жизнь. my504(753 знак., 09.04.2017 20:46)
- Я сам с ПИКами не работал (если не считать 1-2 года со Scenix) - сужу по отзывам людей работающих с контроллерами Microchip. У меня сложилось такое мнение: их среды программирования глючный отстой (мягко говоря), компиляторы с нормальной Apтём(945 знак., 09.04.2017 20:25)
- В чем конкретно эта дрянь состоит? Конечный результат требует лишь ТРИ условия. Функционал, себестоимость и сроки согласно проекта. Удобства и привычки разработчика никого не интересуют. Никого не интересует инструментарий разработчика, платформы my504(137 знак., 09.04.2017 19:56)
- Понятно. Не зря видимо люди говорят что Microchip-а с тулзами дело дрянь. - Apтём(09.04.2017 19:48)
- На STM32 я пишу только на Си. Потому что в сигнальных задачах я лично его еще не применял - только прототип такого изделия писал. А остальные мои проекты - dsPIC33FJ/EP. Чумовая по системе команд платформа. Иногда забываешь, что пишешь не на Си, а my504(14 знак., 09.04.2017 19:46)
- Это уж от компилятора зависит - можно или нет breakpoint поставить. У меня на АВР и Cortex-M с этим большой проблемы не ощущаю. Правда в основном ставлю уровенб O2 - больше не надо, хватает и так. Apтём(40 знак., 09.04.2017 19:41)
- Кто-нибудь мне скажет, нафига отлаживать по шагам???? Evgeny_CD(640 знак., 09.04.2017 19:53)
- "потому что автором являешься сам"- это приговор. Серьезный проект = работа команды. А тараканы у всех в головах разные. - Evgeny_CD(09.04.2017 18:55)
- Что не отменяет несколько десятков успешных проектов, созданных талантливыми авторами в одиночку. Хотя по сравнению с общим количеством задач такие - капля в море, разумеется. - AU08(09.04.2017 19:09)
- Здесь нет никаких правил. Есть компания. В ней разрабатываются и передаются в производство проекты. Если проекты могут быть созданы одним-двумя инженерами, то совершенно не требуется подключать к ним остальных. Общий контроль - нужен, чтобы не my504(182 знак., 09.04.2017 19:17)
- Работа команды не означает, что в этой работе всякий может сесть на любое место конвейера. Проекты радиотехнического назначения (читаем сигнальные) - это индивидуальная работа на каждом месте. Но даже если нужна замена "игрока", то и тогда код my504(200 знак., 09.04.2017 19:05)
- Что не отменяет несколько десятков успешных проектов, созданных талантливыми авторами в одиночку. Хотя по сравнению с общим количеством задач такие - капля в море, разумеется. - AU08(09.04.2017 19:09)
- Да прям уж так... Apтём(617 знак., 09.04.2017 19:28)
- У нас как-то программеры соревновались с компилером (GCC 2.96 кажись - давно было). Выигрыш 10% за полторы недели жесткого кодинга. Потом переписали проект с сильными алгоритмическими улучшениями - выигрыш 20 раз за те же полторы недели. Evgeny_CD(184 знак., 09.04.2017 19:02)
- Спорно. Apтём(820 знак., 09.04.2017 17:41)