Вы, похоже, будете удивлены, но весь toolchain для AVR - для Линукс. А на виндах он работает под MinGW. Не верите? Загляните себе в директорию "C:\Program Files (x86)\Arduino\hardware\tools\avr" Или просто наберите в командной строке
Код:
make --version
Тоже самое можно сказать и про наиболее распостранненый toolchain для ARM Для STM8 есть выбор. Но я тоже под виндой рекомендую использовать toolchain для Линукс - SDCC. И многие под виндой так и делают. Под тем же MinGW
_________________ Не ошибается только то, кто ничего не делает. Тот, кто признает свои ошибки, на них учится. Глупец же, упорствуя в своих заблуждениях, остается глупцом.
я как-то сразу не сообразил, что "ничего" - это же false
что не сообразил - факт. ничего - это true, иначе с какого перепугу получается бесконечный цикл из for(;;)?
С какой стати "ничего" будет true, если 0 - это false и указатель на "ничего" - тоже false? Или попробуй в python привести к bool пустой список или кортеж... Конкретно для for пустой условный блок принимается за true потому, что иначе неважно что будет в двух других и тогда вообще нет смысла делать его опциональным. Но такой подход не возводится в абсолют, проблемы начинаются когда кто-то вводит пустой условный оператор в котором эту пустоту нужно как-то трактовать. С таким подходом даже функция без параметров уже что-то принимает или передает Впрочем прогрессивным идеям часто приходится пробивать себе дорогу, возможно мы пока просто не осознает, что присутствуем при рождении нового совершенного языка программирования
Вы, похоже, будете ещё больше удивлены, но у меня нет такой директории И команда эта не работает. И точно такой же ответ вам даст любой ПОЛЬЗОВАТЕЛЬ, собиратель схем, которому только и нужно, чтобы была готовая прошивка, которую можно залить в чип. Посмотрите на это дело не с точки зрения разработчика, имеющего весь инструментарий, а простого смертного с каким-нибудь авр-дюдом или аналогичной независимой утилитой для других МК.
Вообще мы далеко ушли от темы. Можно дискутировать долго, но при этом, как это обычно бывает, каждый останется при своем мнении
_________________ Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Конкретно для for пустой условный блок принимается за true потому, что иначе неважно что будет в двух других и тогда вообще нет смысла делать его опциональным. Но такой подход не возводится в абсолют
я понял, что единственный непробиваемый аргумент в ваших высказываниях - это "таков Си, и ничего не поделаешь с этим". оценочные суждения вы делать не в состоянии, особенно, если оценивать нужно священную корову.
то есть "истина в виде пустого места" совсем вас не смущает, и вы говорите, что это потому что остальное не важно. но при этом недопустимость while() по той же причине "пустое место это true и остальное не важно" вас так же ничуть не смущает.
раздвоение личности или двойные стандарты? как это можно назвать?
обсуждать дизайн автомобиля - можно. обсуждать дизайн Си - нельзя. сказать, что "таз" создали криворукие инженеры - не только можно, но и нужно. сказать, что _Bool придумали криворукие программисты - нельзя. сказать, что мотор 80 лошадок в автомобиле массой под 2т, это очень странное решение - можно. сказать, что странно выглядит пустое место в качестве true в операторе - нельзя.
в абсолют возводится догма стандарта, и прения запрещены, потому что. точка.
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
слова мои. но последовательность логических умозаключений, при помощи которых от этих слов вы дошли до вывода, что я использую буферы в виде кольца длиной 512 байт, для меня остается загадкой. прошу вас привести ее всю - похоже, в этом кроется причина нашего взаимного непонимания: у вас какая-то непривычная, особая логика...
ptr128 писал(а):
Профессионалами не рождаются, ими становятся.
то есть в качестве примера "любительского проекта" вы предлагаете рассмотреть gcc или linux?! а чего так? давайте вообще всю индустрию ПО считать любительскими проектами - ведь все зачинатели ее обязательно были любителями в детстве/юности!
а я могу привести кучу примеров по-настоящему любительских проектов. да что там искать: вы просто по форуму полазьте и почитайте, какие вопросы волнуют ПРОСТЫХ любителей (Товальдов тут точно не водится) - как кнопку опросить, как BCD вывести, почему 0x10 и 16 - это одно и то же число, как перевести двоичное число в десятичное "в регистрах"... давайте заключим пари: если на форуме Радиокот вы найдете проект с таблицей функций - я в течение 3 месяцев не напишу ни одного сообщения в теме, хоть как-то касающейся программирования срок на поиски - сутки (профессионалу ведь решить задачу поиска неструктурированной инфы на сайте - раз плюнуть!). не найдете - умолкаете на тот же срок. идет?
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
Ладно еще под AVR все дружно сидят на одном и том же toolchain (GCC). Под тот же STM8 уже целый зоопарк из Cosmic, IAR, SDCC и Raisonance. И именно этот зоопарк в сочетании с тем, что большинство публикуют свои проекты исключительно под один конкретный toolchain и сдерживает его популярность.
Фэйк. СТМ8 просто занял свою нишу, как мелкий придаток к СТМ32. Не больше, не меньше. Кого можно было оторвать от от АВР и ПИК он уже оторвал. Если помните, то до выхода СТМ8С003 цены на СТМ32Ф0хх были ниже чем на СТМ8 и смысл СТМ8 вообще терялся. Сейчас это как вариант разработки сверху вниз. Если девайс простой до ужаса и не требует особых ресурсов, а цена нужна мизерная, то перетянуть проект с СТМ32 на СТМ8 особого труда не составляет, т.к. периферия у них похожая. Поэтому весь этот зоопарк средств разработки для СТМ8 никакой роли уже не играет, как и наличие SDCC. И без него можно было работать раньше, а теперь он и даром никому не нужен. "ДорогА ложка к к обеду!"(с).
С точки зрения стандартов безопасности кода, все функции обязаны возвращать только код ошибки. 0 - если успешно, не 0 - если произошла ошибка.
sin(x) = 0 ; вычислилось успешно. значение какое ? да мне до лампочки, хотите значение - возьмите куркулятор sin(x) = 1 ; да вы что, охренели ? таких синусов вычислить невозможно. Почему ? - ну это не ваше дело !
Вы, похоже, будете ещё больше удивлены, но у меня нет такой директории И команда эта не работает.
Значит у Вас не установлен Arduino IDE. Кстати зря. Там есть много поучительных примеров кода. В Atmel Studio весь GNU toolchain вместе с MinGW живет в "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain" А make, как и все прочие Linux binutils находятся в "C:\Program Files (x86)\Atmel\Studio\7.0\shellutils"
Если бы Вы конкретно сказали, как Вы собираете проекты под AVR, я бы Вам более точно указал, где у Вас находится MinGW
Добавлено after 43 minutes 14 seconds:
ARV писал(а):
слова мои. но последовательность логических умозаключений, при помощи которых от этих слов вы дошли до вывода, что я использую буферы в виде кольца длиной 512 байт, для меня остается загадкой. прошу вас привести ее всю
ARV писал(а):
попробуйте кольцевой буфер сделать на 512 байтах ОЗУ
Семантика данной фразы яcно говорит о том, что Вы считаете если не неразрешимой, то чрезвычайно сложной задачей, разместить кольцевой буфер в 512 байтах RAM. Так как никаких ограничений на что-то кроме объема RAM в этой фразе не фигурирует, значит для Вас проблема размещения кольцевого буфера в 512 байтах связана только с размером этого буфера. Следовательно, вы используете кольцевые буферы такого размера, что их или невозможно или чрезвычайно сложно разместить в 512 байтах. Отсюда и вывод, что Ваши кольцевые буферы имеют размер, равный или сопоставимый с 512 байт.
_________________ Не ошибается только то, кто ничего не делает. Тот, кто признает свои ошибки, на них учится. Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Если бы Вы конкретно сказали, как Вы собираете проекты под AVR, я бы Вам более точно указал, где у Вас находится MinGW
Я вообще никак их не собираю, потому что с Атмелами дел не имею. Занимаюсь только 8-битными ПИКами и, с недавнего времени, клонами 8051.
Как видите, никакого общего стандарта не существует, у каждого свои пристрастия и инструменты. Поэтому на публику лучше всего выкладывать готовые скомпилированные хексы, а сорцы оставить посвященным и/или сильно заинтересованным товарищам.
За сим откланиваюсь
СпойлерP.S. Кто-нибудь может мне объяснить, почему продукцию Атмела называют АВРами? У них ведь есть семейство Мег, ИксМег, Аттини, АВР, просто АТ, а обзывают именно АВР.
_________________ Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Вы, похоже, будете удивлены, но весь toolchain для AVR - для Линукс.
Zhuk72 писал(а):
Я вообще никак их не собираю, потому что с Атмелами дел не имею.
Zhuk72 писал(а):
у меня нет такой директории
"Чукча не читатель, чукча писатель?" (c) То есть Вы честно искали у себя на диске toolchain для AVR?
Zhuk72 писал(а):
Занимаюсь только 8-битными ПИКами и, с недавнего времени, клонами 8051.
А для них имеется GNU toolchain на SDCC
Zhuk72 писал(а):
на публику лучше всего выкладывать готовые скомпилированные хексы
А это уже Ваше личное дело, что вы распостраняете свои проекты под проприетарной лицензией. Да еще, подозреваю, без всяких гарантий, с возможными троянами и вирусами. О которых сами даже можете не подозревать У меня, такой подход в любительстве вызывает искреннее отторжение. Если я пишу код, который оплачивает клиент, то я его вообще никуда не выложу. Если я пишу код для себя, то публикую его со всеми исходными текстами под свободной лицензией.
_________________ Не ошибается только то, кто ничего не делает. Тот, кто признает свои ошибки, на них учится. Глупец же, упорствуя в своих заблуждениях, остается глупцом.
вы на самом деле не видите разницу между программой, написанной, предположим, врачом, увлекающимся электроникой в виде хобби, и программой, написанной вами "забесплатно"?
Разницу между программами вижу. Обычно, при первом же взгляде. Но почему из этого следует, что первому не следует учиться у второго - не понимаю.
Я наоборот с уважением отношусь к тому, кто в чем-то знает больше меня и с удовольствием у него учусь. Еще и "спасибо" в форуме пишу, когда такой человек тратит на меня свое время и указывает мне на мои ошибки.
_________________ Не ошибается только то, кто ничего не делает. Тот, кто признает свои ошибки, на них учится. Глупец же, упорствуя в своих заблуждениях, остается глупцом.
То есть Вы честно искали у себя на диске toolchain для AVR?
Нет. А зачем, если я знаю, что его у меня нет. Я нигде в этой теме не упоминал ни о Линуксе, ни об Атмеле. Это была ваша идея, мне просто было интересно, к чему мы придем Так что анекдот про жителя Крайнего Севера уж точно не ко мне относится
ptr128 писал(а):
А это уже Ваше личное дело, что вы распостраняете свои проекты под проприетарной лицензией. Да еще, подозреваю, без всяких гарантий, с возможными троянами и вирусами. О которых сами даже можете не подозревать
И тут вы пальцем в небо попали. Я любитель и пишу только для себя. Исходниками не делюсь (кроме мелочи), ибо учиться по ним не стоит. Да и вся моя писанина не более, чем тренировка для мозгов. Сделал, испытал силы и забыл. Моя работа несколько в стороне от кодинга и микроконтроллеров.
_________________ Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Сейчас этот форум просматривают: 74LS00, Google [Bot], nds и гости: 31
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения