LINUX.ORG.RU

Как ардуино/AVR оперирует int 16-bit, long 32-bit и float 32-bit? Всё чисто программное?

 , , , ,


1

2

https://learn.sparkfun.com/tutorials/data-types-in-arduino

Хотелось бы узнать у любителей AVR ASM'а как на самом низком уровне оперирует числами: у него реализован специальный аппаратный модуль для работы с int 16-bit, он программно эмулируется = тормзит?

float, я так понимаю, там только программный, верно?


Ответ на: комментарий от anonymous

фигассе говнокод, вручную на ассемблере раз в пять короче бы вышло

Harald ★★★★★
()
Ответ на: комментарий от anonymous

тебе тут умные люди уже сказали выше всё. и про ресурсы на контроллерах, и про массовый выпуск и экономию на железе. в нормальном эмбеддеде зарплаты у сишных программистов весьма нехилые. и я ни разу не видела там жабу. просто ни разу. потому что она там абсолютное ненужно.

Кстати, телефоны изначально были именно реалтаймовыми системами, и туда очень хорошо зашла JavaME.

да, и с тех пор телефоны стали тормозным УГ. единственная причина, почему в Андроид засунули жабу - это чтобы быстро наговнокодить кучу софта и таким образом выйти на рынок. и-таки наговнокодили. сейчас каждый смартфон - это довольно мощный проц с поддержкой мультимедии и прочих свистелок и перделок из коробки, с неплохой периферией и мощным аккумулятором. и куда девается вся эта мощь? выхлапывается в атмосферу с помощью жаба-говнокода. а между тем, на проце такой мощности можно было бы много чего реально полезного сделать и без таких расходов. да на таком железе вообще можно сервер поднять полноценный, если грамотно ресурсы расходовать. а вместо этого - унылые дешёвые поделки из говна и палок, каждая из которых сжирает неоправданное количество мегабайт и киловатт. в общем, свели все возможности железа в полный отстой.
и ещё раз повторю: безопасность - она не в языке программирования, а в голове программиста. кому-то нужны подгузники, а кто-то обходится без них, научившись не обсираться в штаны.

Iron_Bug ★★★★★
()

про реализацию тут уже написали всё выше.
и что ты подразумеваешь под «тормозит»? на мелких контроллерах вообще основные тормоза на периферии и обработке прерываний. всякие там флэши, прикрученные снаружи, шины типа CAN и прочее такое. вот это тормозит. остальное - как-то малозаметно. ну и всё это несравнимо быстро по отношению к обычным компам и работе с периферией через ОС.
что касается сложных вычислений - на мелкоконтроллерах они редко нужны. и тем более с плавающей точкой. за много лет работы с контроллерами типа AVR я помню только один раз, когда объективно понадобилась математика с плавающей точкой. но это, скорее, было исключением. мелкие контроллеры под математику не заточены. хотя, конечно, можно врукопашную написать библиотечки, если очень захотеть. но это не тот профиль.

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

ну во всяких смарт-картах типа банковских и остальных жаба таки есть, к слову

но ТС скорей всего Ктулху и тред создал с целью жирно вбросить, а не разобраться в вопросе

Harald ★★★★★
()
Ответ на: комментарий от Iron_Bug

Веб-программисту на хэдхантере-спб предлагают 40к-100к. Предложений не океан, но прилично. Сколько платят в нормальном эмбеддеде? Как туда попасть? Или он есть только на заокраинном западе, там же, где все ходят в белых штанах, и, возможно, не нужно будет помирать?

Про ресурсы и массовый выпуск, повторюсь, это сказки. Из общих соображений это верно, только вот эту мантру повторяют люди, крайне далекие от массового производства (совсем, как я), так что наверняка есть гораздо более важные факторы. То же наличие команды с наработками и инструментами, налаженность поставщиков, корпоративное сотрудничество (оно же — распил и откат) могут порешать гораздо больше, чем виртуальная экономия.

И жаба во встраиваемых системах очень пригодилась бы. Она и создавалась для этой области; JSR под номером 1 так и зовется, Real-time Specification for Java; отдельные ветки JavaCard и JavaME таки нашли свои места (ME уже потеряла). С Android Java попала в мобилки, часы и телевизоры. Empire strikes back!

Тормозной Андроид оказался не такой уж и тормозной. GUI программировать сложно, и десктопный GNOME, написанный на C, никогда не работал плавнее мобильного Андрюши. Тоже гранаты не той системы?

Про безопасность. После Дреппера с memmove/memcpy, после Heartbleed-а, после постоянных локальных уязвимостей в ядре (через которые можно зарутить андроида) ты как-то неубедителен. С уязвимостями в коде на Python или Java как-то потише будет. Вот в JVM баги случаются, и за это уходят Java-апплеты. А вот в самих Java-программах все четко и спокойно.

anonymous
()
Ответ на: комментарий от Harald

банкиры не экономят на бабле, потому что бабло они делают из воздуха. и то иностранные банки сейчас массово переходят на никсы именно по причине экономии. что показательно. а те компании, которые бабло из воздуха не делают, на железе экономят и экономят на самом деле на всём. реально видела, как крупные корпорации экономили даже на копеечной smd-шной рассыпухе. и чем крупнее корпорация, чем больше тиражи выпуска плат - тем больше такой экономии.
насчёт вопроса ТС соглашусь, он неконкретен и слишком размыт. вопросы «тормозов» в мелкоконтроллерах - это специфическая тема и они не связаны с арифметикой, как правило.

Iron_Bug ★★★★★
()
Ответ на: комментарий от anonymous

в нормальном эмбеддеде платят нормально. попасть туда можно имея некривые руки и голову на плечах, плюс некоторый опыт разработки под железо. но это намного сложнее, чем говнокодить в вебе. поэтому и платят намного больше.
я лично работала под эмбеддед на крупные иностранные компании. и видела, как и на чём они экономят. крупные корпорации никогда не используют дешёвую программистскую рабсилу, но всегда экономят на железе и на производстве плат. потому что, как было сказано выше, экономия на копеечном железе окупает работу целого отдела нормальных хардварных программистов с лихвой.
я не утверждала ничего про оптимальность гнома. гном - то ещё говно, перегруженное свистелками и перделками по самое нехочу. я его даже на десктоп не ставлю. можно в сто раз меньше ресурсов тратить на те же самые нужды. просто никто не заморачивался. но если на рынок смартфонов выйдут компании с сильной командой разработчиков, то они порвут рынок в клочья.
насчёт безопасности - ещё раз читай мою фразу про подгузники. андроид - то ещё дырявое ведро, поэтому я не использую смартфоны: там безопасность на нуле, ибо код писали говнокодеры. от говнокодеров нет универсальной защиты. разве что песочницы типа жабы. пусть те, кто не умеет работать с нормальными инструментами, сидят в песочницах. это будет даже лучше для цивилизации. просто производительность систем, написанных на С, в сто раз выше. так было и так будет. вот и вся суровая правда жизни.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от Iron_Bug

Конкретики хотелось бы. Сколько в рублях платят-то? И куда заявку «хочу у вас работать» засылать? Это праздный интерес, но хотелось бы заслушать ответы.

Гном дан чисто для примера. Написан на C, профит сомнителен. Свистелки и дуделки обязательны, это часть современного мира. Шрифты, высокое разрешение, многозадачность, работа с ФС и событиями. Все это на сегодня абсолютно необходимо, кушает порядком ресурсов, и написание конечных приложений на неудобном C тут никак не поможет. А вот core-библиотеки нужны производительные, и графическая библиотека Андроида, Skia, на написана на плюсах.

Сильная команда на коммуникаторах была, Blackberry. ОС на основе QNX, SDK на C++, направленность на бизнес, а не тридцатибаксовую бедноту, так что могли не искать компромиссов. Только Android на коне, а Blackberry — в догоняющих. И именно Java всех порвала.

Вернемся к безопасности. Критические области (ядро ОС, криптография) не движутся без девелоперов в памперсах. Где водятся команды исключительно из убер-специалистов, мне неведомо. Так что считаю, что их просто нет, и если нужна безопасность — C лучше избегать.

anonymous
()
Ответ на: комментарий от anonymous

Вы меня конечно извините, но в третий раз я не удержался от комментария. Какие уязвимости в гарвардской архитектуре прошитого готового девайса? Безопасность какая-то... И это перекликается с вашим вопросом - у меня друг светился во фрилансе на электрониксе, сделал несколько хороших проектов под заказ, его заметили, сейчас он работает на америкозскую компанию, сколько зарабатывает - не спрашивал, но квартиру двухъэтажъную недавно купил. Да, пишет софт под контроллер управления некоей железкой, конечно же на С, а гуй управления самим контроллером - уже с телефона, пришлось окунуться в «безопасную» яву. Так ява - только для перделок и прочей гуйни.

Ivana
()
Ответ на: комментарий от Ivana

Уязвимости в C. Выход за границу массива, null-terminated строки, арифметика указателей, undefined behavior. Накосячить легко, заметить бяку — сложно. Это никак не связано с архитектурой МК, и даже в маститых проектах такое время от времени проскакивает. Про наколенные разработки (мой уровень) и говорить нечего.

Относительно небольшие программы написать и протестировать можно. А вот когда добавляется произвольная многозадачность (пользователь куда хочет, туда и тыкает), ГУИ, сеть, то все становится очень печально; и это счастье уже давно пришло в мир встраиваемых систем, для примера — телефоны, банкоматы, терминалы управления.

Разговор-то пошел с того, что можно набрать маститых C-шников, они сэкономят ресурсы и на копеечном железе дадут нужный результат. Тут же организуется массовое производство, от этого компании прибыль, инженерам — почет, уважение и конские зарплаты.

У меня три претензии: C неудобный (и уязвимый), если есть возможность — его посылают нафиг; как организуется массовое производство — фиг его знает; особо крупные зарплаты в embedded — рассказы о рыбной ловле.

Последнее — самое важное. Конкретных чисел ни разу не встречал. Все разговоры — именно «по знакомству», «кого попало не берут», «друг сделал проект — и друга заметили». Это больше похоже на тайную масонскую ложу, чем на описание инженерной работы. По другим направлениям можно увидеть вакансии и прайс, а тут — фигушки. К другим словам после этого тоже отношусь с недоверием.

И еще одна мысль: перделки и гуйня — неотъемлемая часть программы. Кроме того, багобогатая и при этом программистами неуважаемая. В книжке про делание винды (Show Stopper!: The Breakneck Race to Create Windows NT and the Next Generation at Microsoft) это хорошо заметно. ФС? Пара человек на весь Microsoft, тихо-мирно сделали-оптимизировали-зарелизили. Окошки-ГУИ? Громадная команда, баги-боль-и-унижение.

Так что в особо обширных (и от этого сложных) областях места C нету.

anonymous
()
Ответ на: комментарий от Iron_Bug

тебе тут умные люди уже сказали выше всё. и про ресурсы на контроллерах, и про массовый выпуск и экономию на железе. в нормальном эмбеддеде зарплаты у сишных программистов весьма нехилые. и я ни разу не видела там жабу. просто ни разу. потому что она там абсолютное ненужно.

Я не знаю, нафига они вообще это делают, учитывая, что даже raspberry zero стоит 5$ (1ггц, 512мб RAM). Учитывая, что серьёзные девайсы обычно стоят от тысячи долларов, я не думаю, что имеет смысл экономить на спичках, имея на выходе как-то проблемное днище, в которые код ногами запихивать и прыгали сверху, чтобы он влез в технические ограничения.

и я ни разу не видела там жабу. просто ни разу. потому что она там абсолютное ненужно.

Жаба разная бывает. Есть варианты без сборщика мусора и поддержкой ассемблера. Если Вы в вопросе не разбираетесь, но не надо лезть.

да, и с тех пор телефоны стали тормозным УГ

С тех пор телефоны превратились в компьютеры, а мир получил дешевые и быстрые процессоры благодаря массовому спросу. А раньше мобильники были большими кусками говна с полудохлыми аккумуляторами и подгрузкой смс с сим-карты по полминуты.

и куда девается вся эта мощь?

На СОВРЕМЕННЫЕ приложения. Например на кодирование 8к-видео в реальном времени с аппаратной и программной стабилизацией.

унылые дешёвые поделки из говна и палок, каждая из которых сжирает неоправданное количество мегабайт и киловатт. в общем, свели все возможности железа в полный отстой.

Безопасный высокоабстрактный код, оптимизированный JIT'ом под конкретный процессор.

и ещё раз повторю: безопасность - она не в языке программирования, а в голове программиста

Вот из-за таких людей у нас в 21-ом веке до сих пор почти все взломы - это эксплойты на с/с++ приложения, которые не умеют нормально с памятью работать. Иначе говоря: они дают программисту прямой доступ к ней. А такого быть не должно. Не надо писать свои костыли. Есть чёткий алгоритм, есть стандартные библиотеки и функции. Обойдитесь без самодеятельности, тут не детский сад, где можно из кала лепить домик, тут продакшен, от работы которого зависит жизнь тысяч людей. Only security, only Java.

mklord
() автор топика
Ответ на: комментарий от Harald

в AVR нет L1 кэша, и вообще никаких кэшей нет

Очевидно. Это же шутка была.

mklord
() автор топика
Ответ на: комментарий от Iron_Bug

можно врукопашную написать библиотечки, если очень захотеть. но это не тот профиль.

Ох уж эти быдлокодеры. Стандартами их не корми, дай бы лишь свои велосипеды пописать.

mklord
() автор топика
Ответ на: комментарий от Harald

ну во всяких смарт-картах типа банковских и остальных жаба таки есть, к слову

Внезапно, я знаю. JavaCard называется. Причём, внезапно, там ява без сборщика мусора и работает в крайне зажатых условиях (сравнимо с МК). И всё ок работает, как ни странно. Это к теме противников явы на МК.

но ТС скорей всего Ктулху и тред создал с целью жирно вбросить, а не разобраться в вопросе

Паранойя?

mklord
() автор топика

Этот форум будет жить до тех пор, пока квалифицированные участники, отметившиеся в этом треде, будут на нем присутствовать и отвечать на вопросы в том числе и всяких овнотроллей типа ТС.

Ivana
()
Ответ на: комментарий от anonymous

Про ресурсы и массовый выпуск, повторюсь, это сказки. Из общих соображений это верно, только вот эту мантру повторяют люди, крайне далекие от массового производства (совсем, как я), так что наверняка есть гораздо более важные факторы. То же наличие команды с наработками и инструментами, налаженность поставщиков, корпоративное сотрудничество (оно же — распил и откат) могут порешать гораздо больше, чем виртуальная экономия.

Ой, школьникам не докажешь, что экономика не работает по принципу «выживает лучший товар и бережливое производство», не бугурти по этому поводу. Обычно если уже есть команда, то в ней всё решают тараканы в головах разработчиков. Тут могут быть варианты от attiny и ASM до ARM и RTOS для одной и той же задачи.

Тоже гранаты не той системы?

Сейчас адепты сей будут говорить, что НУ ЭТО Ж НЕ МЫ писали, если бы МЫ, то уж точно бы не тормозило. Де-факто что си/плюсы что ява будут работать примерно одинаково (скорее явка даже быстрее), если не было вокруг си-приложения кучи стрёмных оптимизаций под оборудование накожено. Только другой вопрос, что ява постабильнее будет.

Вот в JVM баги случаются

Обычно тут проблема даже не в JVM, а в кривой обвязке на СЯХ!

mklord
() автор топика
Ответ на: комментарий от Iron_Bug

именно по причине экономии

Конечно не по причине взбалмашности и непредсказуемости MS и винды, отсутствия LTS и проблем с безопасность и приватностью, неее...

на железе экономят и экономят на самом деле на всём
даже на копеечной smd-шной рассыпухе. и чем крупнее корпорация, чем больше тиражи выпуска плат - тем больше такой экономии.

Мы сейчас говорим про массовое китайское говно или про нормальные устройства? Если про первое, то ППКС.

mklord
() автор топика
Ответ на: комментарий от Iron_Bug

поэтому и платят намного больше.

Сравнимо с java-кодерами для мобилок. Смирись.

я не утверждала ничего про оптимальность гнома

Ок, тогда давай винду возьмём. В системе вообще нет ни js, ни явы, ничего современного. Только си и плюсы. Ваш ход.

но если на рынок смартфонов выйдут компании с сильной командой разработчиков, то они порвут рынок в клочья.

Видимо, Вам сложно понять, что решает не ПО/хардвар, а реклама и приложения. Типичный пример: windows phone устройства, которые даже с нетормозной ОСью и офигенным железом нафиг никому не нужны. Или apple с их анальным огораживанием и рекламой, или гугл с их дерьмоОСью, которая впереди планеты всей по количеству установок. Все остальные сдулись. Потому что надо было вкладывать в PR, дизайн и приложения с фоточками еды, ну ещё и в маркетологов. А не в R&D отдел.

кто не умеет работать с нормальными инструментами, сидят в песочницах.

Вся проблема с том, что эти люди хотят иметь прямой доступ к памяти и процессору, а часто даже и к оборудованию. Суровая правда.

просто производительность систем, написанных на С, в сто раз выше. так было и так будет. вот и вся суровая правда жизни.

Голословные утверждения, либо частный случай, либо трудозатраты несопоставимы.

mklord
() автор топика
Ответ на: комментарий от Ivana

Какие уязвимости в гарвардской архитектуре прошитого готового девайса? Безопасность какая-то...

Внезапное IoT и прочие проблемки мира после 80-ых. Ну а ещё станок после 65 535 деталей внезапно вылетает в окно из-за переполнения буфера.

у меня друг светился во фрилансе на электрониксе

А у меня был друг ассемблерщик. Умер от переполнения буфера. А я говорил ему завязывать с этим дерьмом.

Так ява - только для перделок и прочей гуйни.

Ява бывает разная. Это всё-равно что говорить «ассемблер только для МК».

mklord
() автор топика
Ответ на: комментарий от anonymous

Уязвимости в C. Выход за границу массива, null-terminated строки, арифметика указателей, undefined behavior. Накосячить легко, заметить бяку — сложно. Это никак не связано с архитектурой МК, и даже в маститых проектах такое время от времени проскакивает. Про наколенные разработки (мой уровень) и говорить нечего.
Относительно небольшие программы написать и протестировать можно. А вот когда добавляется произвольная многозадачность (пользователь куда хочет, туда и тыкает), ГУИ, сеть, то все становится очень печально; и это счастье уже давно пришло в мир встраиваемых систем, для примера — телефоны, банкоматы, терминалы управления.

ППКС! ППКС!

Разговор-то пошел с того, что можно набрать маститых C-шников, они сэкономят ресурсы и на копеечном железе дадут нужный результат. Тут же организуется массовое производство, от этого компании прибыль, инженерам — почет, уважение и конские зарплаты.

Это бред. Если больше приложение пишется на сях, то оно априори не может быть стабильным и безопасным. Просто пока бага себя не проявила.

Последнее — самое важное. Конкретных чисел ни разу не встречал. Все разговоры — именно «по знакомству», «кого попало не берут», «друг сделал проект — и друга заметили». Это больше похоже на тайную масонскую ложу, чем на описание инженерной работы. По другим направлениям можно увидеть вакансии и прайс, а тут — фигушки. К другим словам после этого тоже отношусь с недоверием.

Это ещё один момент связанный с сишниками: данное направление крайне не популярное, поэтому на работу берут кого угодно, т.к. хоть какого-то эмбедщика днём с огнём не найдёшь. А потом удивляются, почему станки людям руки отрезают.

И еще одна мысль: перделки и гуйня — неотъемлемая часть программы. Кроме того, багобогатая и при этом программистами неуважаемая. В книжке про делание винды (Show Stopper!: The Breakneck Race to Create Windows NT and the Next Generation at Microsoft) это хорошо заметно. ФС? Пара человек на весь Microsoft, тихо-мирно сделали-оптимизировали-зарелизили. Окошки-ГУИ? Громадная команда, баги-боль-и-унижение.

Гуй - это всегда эпический гемор. Особенно хорошо это видно в МК: там нет вытесняемой многозадачности, поэтому в ряде случаев можно заставить девайс некорректно работать просто зажав кнопку в гуе или несколько кнопок.

mklord
() автор топика
Ответ на: комментарий от anonymous

Ходит легенда, что во второй половине прошлого века американская военщина тоже озаботилась созданием языка, который бы позволял писать безглючные приложения под целевые архитектуры с малыми ресурсами. И назвали они свое детище «язык ада», потом оправдывались что по имени той самой женщины, которая создателю первого механического калькулятора первую программу для него написала. Но это все лирика. На «языке ада» сейчас если и пишут, то втихаря. А Си цветет и пахнет. Но если вы и тяжелую гуйню с перделками тащите на камень, и ОС толстую, и прочее, тогда конечно можно туда и жаву и все что угодно тащить - хуже уже не будет.

ЗЫ читать обильные излияния ТС после его феерического выступления на тему сложения в асме просто уже смешно.

Ivana
()
Ответ на: комментарий от mklord

А зачем ты рассуждаешь на темы, в которых ты ни черта не понимаешь? Фу быть таким ничтожеством!

Смотри инструкцию ADC (в AVR).

anonymous
()
Ответ на: комментарий от anonymous

Ну, я и есть тот самый имбеддер, милионных тиражей не было, но сотни десятки тысяч изделий с моим кодом ходили/ходят по рукам.

Пилить будут сначала, как ты говоришь, а после пробной партии в 100шт. наймут таких, как я и сделают все по нормальному, причем так, чтобы сэкономить на производстве, то есть затраты времени на прошивку/тестирование будут минимальны.

shkolnick-kun ★★★★★
()
Ответ на: комментарий от anonymous

Вот поэтому у нормальных людей принято отключать оптимизацию. Хотя в случае avr-gcc, всё делается с -Os, и на моей памяти не разу не глючило еще.

shkolnick-kun ★★★★★
()
Ответ на: комментарий от anonymous

В Москве до Крыма можно было получать 60-70 если ты имбед-быдлокодер, нормалььный человек получал от сотки.

В моем мухосранске это было 35-40, как то так.

shkolnick-kun ★★★★★
()
Ответ на: комментарий от mklord

Ты не поверишь, но «нормальные устройства», это и есть «массовое китайское г#@но».

shkolnick-kun ★★★★★
()
Ответ на: комментарий от mklord

Это бред. Если больше приложение пишется на сях, то оно априори не может быть стабильным и безопасным. Просто пока бага себя не проявила.

Пиши все в автоматном стиле, используй только статическое и авто выделение памяти, не выделяй массивы на стеке, пиши циклы со строгим ограничением количества попыток (в том числе в циклах состояний автоматов), и будет тебе стабильно и безопасно.

данное направление крайне не популярное

индекс TIOBE как бы намекает нам...

хоть какого-то эмбедщика днём с огнём не найдёшь

Нульчую

Особенно хорошо это видно в МК: там нет вытесняемой многозадачности, поэтому в ряде случаев можно заставить девайс некорректно работать просто зажав кнопку в гуе или несколько кнопок.

Гуй у нормальных людей тоже пишется автоматами.

shkolnick-kun ★★★★★
()
Ответ на: комментарий от Ivana

Но если вы и тяжелую гуйню с перделками тащите на камень, и ОС толстую, и прочее, тогда конечно можно туда и жаву и все что угодно тащить - хуже уже не будет.

Иногда приходится тащить, знаете ли, например если нет времени самому писать либы на автоматах, а сторонние написаны в императивном стиле, поневоле приходится тащить ОС на 8-битный микроконтроллер.

И что характерно, при этом освобождается процессорное время и можно заставить девайс делать «что-то еще», если конечно оперативы на стеки хватит...

shkolnick-kun ★★★★★
()
Ответ на: комментарий от Harald

Нет, не я. Но всецело поддерживаю. АВР — говно!

anonymous
()
Ответ на: комментарий от shkolnick-kun

Спасибо. В общих чертах то на то и выходит.

anonymous
()
Ответ на: комментарий от shkolnick-kun

Вообще то есть, и не одна, в гугле найдешь сам.

Я знаю. Это был сарказм, подразумевающий «если нужна стабильность и безопасность, то только ява».

mklord
() автор топика
Ответ на: комментарий от shkolnick-kun

Лучше STM8, ах, да там же кроме SDCC швабодных конпеляторов нет...

Проприетарный компилятор для МК - это стреляние себе в ногу.

mklord
() автор топика
Ответ на: комментарий от shkolnick-kun

В Москве до Крыма можно было получать 60-70 если ты имбед-быдлокодер, нормалььный человек получал от сотки.

Т.е. на уровне жаба-кодеров, только напрягаться надо в разы больше и работу хрен найдёшь?

mklord
() автор топика
Ответ на: комментарий от shkolnick-kun

Пиши все в автоматном стиле, используй только статическое и авто выделение памяти, не выделяй массивы на стеке, пиши циклы со строгим ограничением количества попыток (в том числе в циклах состояний автоматов), и будет тебе стабильно и безопасно.

А Вы, случаем, не тот самый Легендарный Программист из легенд, который может писать безопасный и стабильный код на сях *сарказм* ? Мне кажется, что реализовывать такие хитрые идеи на сях без какого-то препроцессора - это вообще дикое извращение. Просто язык не заточен под то, чтобы на неё писали программы с нормальной идеалогией, а не стреляли себе в ногу в каждой строчке. Ну это как пайка дешевым перегретым китайским паяльником: если уж решил не говно паять, то изволь юзать нормальную паяльную станцию.

mklord
() автор топика
Ответ на: комментарий от mklord

При серийном производстве, ну допустим, в 10к в год, сколько будет стоить IAR, в пересчете на один прибор? А если в нуменклатуре больше одного наименования приборов?

anonymous
()
Ответ на: комментарий от mklord

Прототредс и контики в помощь. Там на АВР умудряются гравическую DE c VNC-сервером запускать.

А вообще я пишу вручную.

//школьник-кун

anonymous
()
Ответ на: комментарий от mklord

И да, дешевый китайский паяльник с симисторным димером для лампы накаливания весьма неплох.

А еще, некоторым спецмотажницам с военных заводов приходится медные жала для хороших паяльных станций изготавливать, потому, что не привыкли они железом паять.

anonymous
()
Ответ на: комментарий от anonymous

Прототредс и контики в помощь

Что-что?

Там на АВР умудряются гравическую DE c VNC-сервером запускать.

Пруфы. https://github.com/fschaefer/ethersex-avr-net-io/tree/master/services/vnc похоже, но непонятно, как вывод делается.

mklord
() автор топика
Ответ на: комментарий от anonymous

М... Насколько я понимаю, она работает только ATMega (если про AVR) и со специальным чипом вывода фреймбуфера на VGA (либо с дорогими LCD-дисплеями со своим контроллером). Насколько я понимаю, такая плата будет стоить как китайский андроидофон в наше время, не? Или это из разряда «ну ведь можно же»?

mklord
() автор топика
Ответ на: комментарий от mklord

Судя по исходникам, ethersex это та же contiki, и работать можно без дисплея, удвоенно через vnc.

anonymous
()
Ответ на: комментарий от mklord

Ну, на то он и китайский айфон, что его делают неучтенные китайцы за 2 чашки риса в день. А контроллер есть в любом дисплее.

anonymous
()
Ответ на: комментарий от mklord

Сравнимо с java-кодерами для мобилок. Смирись.

что касается зарплаты, то я человек не жадный. я работаю не столько за бабло, сколько ради личного интереса и возможности развиваться в нужную мне сторону. для меня главное - интерес к работе. я не стану работать там, где мне не интересно или где возникают какие-то конфликты. нервы и здоровье дороже. без интереса я работать не могу. а бабла мне хватает, солить его в банках я не собираюсь, в гроб с собой утащить златые горы тоже не выйдет. иными словами - нах не нужно зарабатывать больше, чем я могу потратить. (да, вот такой я несовременный и нежадный человек). тут у меня свои принципы. если бы меня давили финансовые проблемы, я бы выбрала что-то другое, а на возню с сетями и кернелом на чистой сишечке. но мне моей зарплаты пока что хватает. если мне вдруг начинает не хватать зарплаты, я просто меняю работу. я делаю это периодически, обычно раз в два-три года. чаще всего когда работа приедается и мне становится скучно. надо периодически менять работу, чтобы не скатиться в однообразную привычную рутину. это стимулирует саморазвитие и умение держаться на плаву на рынке кадров. времена, когда я была начинающим программистом и мне платили мало, прошли очень давно. компании обычно долго ищут опытного разработчика на С/C++ и у меня проблем с предложениями работы не бывает. наоборот, хедхантеры меня постоянно пингуют и предлагают варианты. другое дело, что я наотрез отказываюсь работать с маздаем (хотя опыт есть, я даже дрова под маздай писать могу, но не хочу с ним дел иметь, принципиально). мне предлагали и в два раза больше, чем я получаю. но не в бабле счастье. я ни за какие шиши не продам возможность работать с интересом, да ещё и за хорошую зарплату.

Ок, тогда давай винду возьмём. В системе вообще нет ни js, ни явы, ничего современного. Только си и плюсы. Ваш ход.

как я заметила, с маздаем опыт у меня был, и немалый. на C/C++ можно писать под любую систему. и мы в своё время писали. в том числе и крупные федеральные системы, которые разрабатывались большой командой разработчиков, в течение многих лет.писали даже задачи, которые на маздае в принципе решать почти невозможно (тогда у меня и появился интерес к другим, более стройным и шустрым системам). но в целом с сями проблем не было. я и кроссплатформу на плюсах знаю отлично, нет проблем. но в последние годы целенаправленно работаю пол линём. мне в своё время пришлось отбросить весь накопленный опыт и немного снизить свои требования, чтобы на него перейти в профессиональной сфере. однако, пара-тройка лет - и я уже в строю разработчиков под платформой, которая меня морально устраивает на все сто. и я рада тому, что я сделала этот качественный переход. я не люблю маздай. и это не просто пионерский лозунг, я знаю его достаточно, из самого нутра и до верха, и не люблю его осознанно и обоснованно.

Вся проблема с том, что эти люди хотят иметь прямой доступ к памяти и процессору, а часто даже и к оборудованию. Суровая правда.

пусть хотят. вот я сейчас сижу и пишу драйвер, на сишечке, естессна. я раньше вообще часто писанием дров занималась и микроконтроллерами. то есть, настоящим суровым железом, с отладкой при помощи осцилла. чота не понимею, при чём тут жаба. в песочницах этого в глаза не видали. железо - это Си, ассемблеры и прочее такое.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.