Поздравляем my504 с днём рождения!
- Господа программисты, философский вопрос, а заоптимизирует ли компилятор (ИАР) размер стека под динамические переменные внутри функции, если они одновременно не используются? Пропадание динамической переменной в отладчике после ее использования VLLV(19 знак., 07.09.2018 11:49, dao, полностью)
- Зачем разводить философию, если можно проверить? Я написал функцию int foo( int a ) { int b = a+1; int c = b*2; int d = c-3; return d*d; } ИАР не выделил места на стеке ни для одной локальной переменной, все вычисления происходят в регистре R0. йцукен(96 знак., 07.09.2018 14:08)
- По моему мнению, размеры стека у IAR задаются вручную, и компилятор не имеет права этот размер изменять, в том числе и оптимизировать. - Ксения(07.09.2018 12:48)
- Речь идет про разницу в указателе стека до вызова функции и внутри нее. - VLLV(07.09.2018 13:17)
- Если вылез за пределы стека, то компилер просто обругает, что CSTACK мал. - Codavr(07.09.2018 13:20)
- Боюсь, что не обругает. Не знаю как сейчас, но прежде глубину вложения функций друг в друга компилятор/линкер не анализировал. А на форумах очень часто повторялся вопрос, как определить минимальный размер стека, т.к. ОЗУ тогда у МК было очень мало Ксения(23 знак., 07.09.2018 13:46)
- Пардон, на CSTACK он ругается когда памяти не хватает. И говорит, что он слишком велик :) - Codavr(07.09.2018 13:50)
- Не вижу я в ассемблерном листинге такой on-run проверки. И на момент компиляции этого не проверить, т.к. вложенные друг в друга функции могут находиться в разных модулях, компилируемых отдельно. А линкер тоже не сможет сообразить, т.к. у Ксения(92 знак., 07.09.2018 14:14)
- Я прям даже не знаю. Действительно проблема? s_h_e(83 знак., 07.09.2018 18:15, ссылка)
- Логично. - Codavr(07.09.2018 14:25)
- Лично я в прошлом, когда ATTiny2313 программировала (памяти у нее мало было), заполняла стек кодом 0xFF и после какого-то срока работы проверяла границу, насколько мои 0xFF сохранились. Оказалось, что больше всего стека жрут обработчики Ксения(362 знак., 07.09.2018 14:46)
- Вот вот, я тоже всегда офигевал почему он все регистры сохраняет, а не только те что портит. Причем независимо от уровня оптимизации. Помнится один проект в 8 мегу упихал убрав из кода ненужные сохранения/восстановления. Даже пара байтов осталась Codavr(3 знак., 07.09.2018 17:13)
- А я сразу догадалась почему :) - если в обработчике прерываний вызовешь хотя бы одну функцию, то компилятор сохраняет все, т.к. не хочет поверять, какие регистры это функция портит. А если не вызывать оттуда функций, то сохраняет только те, что Ксения(32 знак., 07.09.2018 18:10)
- вероятно, чтобы упростить жизнь программерам :) в этом случае не нужно думать, что там будет использовать функция, вызванная явно из хэндлера прерывания :) а вообще конечно это лютый треш "сохранять всё на всякий случай" :)) но зато Adept(385 знак., 07.09.2018 17:21)
- Тут есть ньюансы. В общем случае компилятор не знает, когда ячейка памяти выделенная под переменную прекращает использоваться если, например, брался адрес этой ячейки. Тогда она должна сохраняться до конца блока или функции. Если адрес не брался, fk0(480 знак., 07.09.2018 11:57)
- Оптимизирующий компилятор точно следит за временем (необходимой) жизни переменной и пользуется этим. Другое дело, является ли экономия стека одной из целей оптимизации? Об этом почему-то молчат. Кроме того, освобождение кусочков стека - это, как SciFi(115 знак., 07.09.2018 11:55)
- STM32F1x + LwIP + LAN8720A. Иногда LAN подвисает при включении. В этом случае вижу ошибки в регистре Auto Negotiation Link Partner Ability. Чем это может быть вызвано? Как лечить? Sylvan(456 знак., 11.09.2018 11:11, ARM, полностью)
- А Жирик ещё вполне себе торт, несмотря на почтенный возраст :-) - SciFi(09.09.2018 15:04, Off, youtube, полностью)
- Нужна помощь! Что-то я затупил... Нужен генератор меандра 5В, 40-60 ма, частота от 150 до 200 КГц. До сих пор делал на PIC10F202, хочу еще более простого решения. - max(29.08.2018 13:27, SCH, полностью)
- меж мк и не мк надо выбирать мк. LordN(34 знак., 01.09.2018 19:20)
- Если взять только левую часть (74HC14) и уменьшить номинал резисторов (680ом), то должно удовлетворить - =L.A.=(31.08.2018 21:52 - 01.09.2018 19:14, картинка)
- NE7555/ICM7555: 100 mA, CMOS, SO8, продается в любом ларьке по 3 рубля ведро - MBedder(31.08.2018 22:02)
- LTC1799, думаю 40 мА потянет - АПМ(31.08.2018 17:37)
- MAX256, 1211ЕУ1. Во второй имеется пауза. - pmm(31.08.2018 17:06)
- 74LVC1G14DBV + RC цепочка в ОС. - Visitor(31.08.2018 07:52)
- Куда проще? Корпус сот-23, 5 рулей оптом ))) - POV_(30.08.2018 21:48,
)
- банальный генератор на паре-тройке логических элементов , паре резисторов и паре кондексаторов не подходит??? (если нужна стабильность, то можно кварец) - Adept(30.08.2018 15:46)
- для самолепных DC/DC юзаем SN6501. частота чуть выше. - Vit(29.08.2018 13:36)
- Нужен компаратор с Rail-to-Rail входом (сигнал около плюсового питания, шунт). Быстродействие менее микросекунды. Дешевый, желательно в корпусе SOT-23-5 или SO-8. Кто что посоветует? - Yurasvs(05.09.2018 10:27, SCH, полностью)
- Болтон положил на Гаагу болт. А вы как думали, общечеловеки? - SciFi(11.09.2018 07:58, Off, ссылка, полностью)
- Помогите разобраться с IARом. vesago(736 знак., 11.09.2018 07:17, ARM, полностью)
- Введение в мир поддельных микросхем: методы обнаружения контрафакта - sav6622(11.09.2018 12:04, SCH, ссылка)
- Оказывается, в ноябре будет 20 лет Half Life. По-видимому, к этой дате они таки допилят Xen в Black Mesa. Кто ты, таинственный G-Man? SciFi(39 знак., 08.09.2018 21:07, Off, картинка, полностью)
- Живем!!! Суд утвердил право России на водку Stolichnaya после 15 лет спора в суде -> Помнится, пшеки пытались у нас отсудить права на водку вообще, на все виды, но покойный Похлебкин --> указал им на место у параши. - Evgeny_CD(10.09.2018 22:56, Off, ссылка, ссылка, полностью)
- Товары из Китая будут поступать в Россию вдвое быстрее -> СМИ узнали о запуске сервиса получения заказов AliExpress в постаматах --> Ну как, мы готовы все делать из компонентов на Ali? - Evgeny_CD(10.09.2018 22:48, zen, ссылка, ссылка, полностью)
- Варшава сообщила об увольнении из МИДа всех выпускников МГИМО -> Так держать! За таблицу умножения - расстрел! Никаких калькуляторов - все только на счетах! Evgeny_CD(45 знак., 10.09.2018 21:21, Off, ссылка, полностью)
- Занятно. Интересно, когда вломятся. Барбос(266 знак., 10.09.2018 21:37)
- Дядь Жень, там не о калькуляторах. Там о "идентификацией с политикой государства". - Скрипач(10.09.2018 21:28)
- Это называется "ассоциативная цепочка". Большевики в своё время военспецов брали на службу, невзирая. Инструмент, он и есть инструмент, при должном обращении и контроле работает исправно. А уж сейчас-то. По ссылке -- это истерия, но показушная, Барбос(59 знак., 10.09.2018 21:50 - 21:54)
- Вот и я о ней! Проклятые совки в самые мрачные годы самой мрачной эпохи отправляли избранных студентов на стажировку в забугряндию, ибо знали цену настоящих знаний, и методы их добычи, а свободные опидорашенные пшеки откинули тлетворное влияние Evgeny_CD(299 знак., 10.09.2018 21:45 - 21:49)
- Как поставить "центр координат" в Altium? misyachniy(221 знак., 10.09.2018 16:03, dao, полностью)
- "Ирония судьбы" по-американски --> SciFi(110 знак., 10.09.2018 17:12, Off, ссылка, полностью)
- Я потерял дар речи от современных технологий. EPC2023. Транзюк на Vds=30V, который выдерживает 90А постоянки и имеет внутреннее сопротивление в 1.45 миллиом. Выдерживает до 590А в импульсе (350мкс). lloyd(48 знак., 31.08.2018 09:58, SCH, ссылка, полностью)
- будьте проще. и с импульсами полегче. тогда и ган не понадобится. Копетан(334 знак., 31.08.2018 10:33 - 01.09.2018 09:29)
- а какое количество таких импульсов выдерживает "чюдо-транзюк"? - =L.A.=(31.08.2018 21:56)
- Главное, не терять голову от современных маркетинговых технологий. MOSFET(607 знак., 31.08.2018 15:19,
)
- Вот FDBL9401-F085 40V, 300A, 0.5 миллиома (!) 100 - $3.85170. Но заряд затвора на порядок выше, чем у Вашего GaN Evgeny_CD(31.08.2018 14:52)
- Уже давно самое горячее на таких транзюках выводы, а не кристалл. - _volkanaft(31.08.2018 10:06,
)
- Вот вот, а ПУЭ требует чтобы я к нему подключался проводом 16 квадрат. КАК? - Codavr(31.08.2018 10:05, картинка)