Котуинко

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15556
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

Есть отличающееся мнение - поясните в чем суть "ахинеи".
А просто заявить "фе" не указав в чем ошибка уж как-то несолидно.
8)
Вопрос о понимании/разъяснении сути термина "поток" остается актуален.
:roll:
Реклама
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Котуинко

Сообщение ARV »

поток изначально родился для того, чтобы унифицировать последовательный обмен данными. позже (а может, и одновременно) появился термин "файл", и в настоящее время эти термины очень похожи по смыслу. я не могу точно сказать, почему они до сих пор не слились в один термин, но по сути это одно и то же, за одним исключением: поток - это механизм ОБМЕНА данными, а файл - это механизм ХРАНЕНИЯ данных. т.е. разница между ними в том, что поток не может существовать без работы программы, а файл - может. а в остальном (чтение, запись, управление и т.п.) это одно и то же.

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

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

Мой уютный бложик... заходите!
Реклама
OKF
Это не хвост, это антенна
Сообщения: 1392
Зарегистрирован: Вт июн 07, 2011 08:03:18

Re: Котуинко

Сообщение OKF »

[uquote="BOB51",url="/forum/viewtopic.php?p=3929038#p3929038"]Есть отличающееся мнение - поясните в чем суть "ахинеи".[/uquote]
Как бы не понятно о чём шла речь. Мне показалось что вы говорили об Ардуино, верно? А если так, то нет там никакого хекс-парсинга. Загрузчик этим не занимается. Он общается с программатором по протоколу STK500 и получает от него бинарные данные для записи и верификации.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15556
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

ARV
хорошее дополнение к тому чего уже насобиралось...
Я ж по старой привычке ищу аналогию приемов ассемблера - и как-то совсем пока в расстройстве - одним приемом "поток" не вписать, а комплект из нескольких - это уже вроде не прием, а совокупность набора подпрограмм...
:dont_know:
Ну да пускай пока отлежится - не "жизненная необходимость", позже еще разок грызну.
8)
OKF писал(а):...
Как бы не понятно о чём шла речь. Мне показалось что вы говорили об Ардуино, верно? А если так, то нет там никакого хекс-парсинга. Загрузчик этим не занимается. Он общается с программатором по протоколу STK500 и получает от него бинарные данные для записи и верификации.
Как раз парсинг в адуринке есть...
Даже напрямую заявлен. Но речь не о загрузчике адуринки - я его начинку не знаю, а о самом термине - в общем сводящемся к методу поиска/выборки данных.
Теперь к адуринье...
Раздел оффлайн хэлпа (есть на любом ПК без подключения к инету)
file:///C:/Program%20Files/Arduino/reference/www.arduino.cc/en/Reference/Serial.html
смотрим функции:

Код: Выделить всё

parseFloat()
parseInt()
Далее они же встречаются в Stream.
Ну и ессно не столь явно поиск и выделение на главной вкладке хэлпа:

Код: Выделить всё

Characters

isAlphaNumeric()
isAlpha()
isAscii()
isWhitespace()
isControl()
isDigit()
isGraph()
isLowerCase()
isPrintable()
isPunct()
isSpace()
isUpperCase()
isHexadecimalDigit()
Собственно речь о термине "парсинг" именно с

Код: Выделить всё

parseFloat()
parseInt()
возникла.
8)

Добавлено after 6 hours 43 seconds:
Чуток от теории к практике...
Последнее время наблюдается интерес к конструкциям, у которых интерактивная часть (дисплей с кнопами ввода данных) не имеет постоянного подключения.
К примеру - прицепил к системе ввода (автономный коробок, прожка в ПК или еще чего), ввел необходимые настройки/изменения режимов и отключился.
Далее устройство работает самостоятельно (максимум с кнопами оперативного управления)...
А понадобилось в кое время перенастроить - снова подцепился с соответствующего пультика, выполнил нужные операции и снова устройство в "автономном режиме"...
Это к примеру ночничек-будильничек с разноцветиками...
Или прикладная таймерюга для теплички/аквариума....
Или ешшо чаво...
:roll:
Реклама
Эиком - электронные компоненты и радиодетали
OKF
Это не хвост, это антенна
Сообщения: 1392
Зарегистрирован: Вт июн 07, 2011 08:03:18

Re: Котуинко

Сообщение OKF »

Ну как же!
[uquote="BOB51",url="/forum/viewtopic.php?p=3924908#p3924908"]Загрузчик КОТУИНКО обрабатывает "поток данных" побайтово "на лету"... Плюс буфер размером в одну строку *.hex файла для последующего прикладного размещения в ОЗУ ВПД/ВПП.
Т.е. один реальный входной поток по RS232 на скорости 9600 совмещенный с анализом и преобразованием для последующего размещения в оперативном буфере и второй - сброс данных в соответстви с указанными для них адресами в ВПП/ВПД...
Неуж-то и "поток" и "парсинг" уже в дальнем прошлом изучен...?... Правда под ассемблером...
Чтой-то не особо в то верится... Гдей-то ПОДВОХ...
:roll:[/uquote]
Именно на это у меня был ответ.

Касательно термина parsing - в МК это синтаксический разбор строки или строк, преобразование их из текстового в цифровой формат. Поэтому название методов parseInt и parseFloat вполне логично - они преобразуют строку в цифру. Или парсинг командной строки отладочного монитора. Или парсинг строк исходного текста компилятором, разбивка их на логические части, с тем что бы можно было манипулировать в дальнейшем. Ну и в интернете парсинг сплошь и рядом. А вот загрузчик Ардуино никаким парсингом строк не занимается. Да, команды от AvrDude он принимает и выполняет, но это совсем не парсинг.
Реклама
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Котуинко

Сообщение oleg110592 »

[uquote="BOB51",url="/forum/viewtopic.php?p=3929379#p3929379"]Последнее время наблюдается интерес к конструкциям, у которых интерактивная часть (дисплей с кнопами ввода данных) не имеет постоянного подключения[/uquote]
давно уже этот интерес сконструирован, удобно очень смартфон в виде "дисплей с кнопами ввода данных".
Осторожно там есть ссылки на проект с тревожного сайта, который XP не любит:
Реклама
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15556
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

Смартфон конечно круто, но это не исключает и более простого варианта.
8)
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15556
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

[uquote="OKF",url="/forum/viewtopic.php?p=3929591#p3929591"]Ну как же!
[uquote="BOB51",url="/forum/viewtopic.php?p=3924908#p3924908"]Загрузчик КОТУИНКО обрабатывает "поток данных" побайтово "на лету"... Плюс буфер размером в одну строку *.hex файла для последующего прикладного размещения в ОЗУ ВПД/ВПП.
Т.е. один реальный входной поток по RS232 на скорости 9600 совмещенный с анализом и преобразованием для последующего размещения в оперативном буфере и второй - сброс данных в соответстви с указанными для них адресами в ВПП/ВПД...
Неуж-то и "поток" и "парсинг" уже в дальнем прошлом изучен...?... Правда под ассемблером...
Чтой-то не особо в то верится... Гдей-то ПОДВОХ...
:roll:[/uquote]
Именно на это у меня был ответ.

Касательно термина parsing - в МК это синтаксический разбор строки или строк, преобразование их из текстового в цифровой формат. Поэтому название методов parseInt и parseFloat вполне логично - они преобразуют строку в цифру. Или парсинг командной строки отладочного монитора. Или парсинг строк исходного текста компилятором, разбивка их на логические части, с тем что бы можно было манипулировать в дальнейшем. Ну и в интернете парсинг сплошь и рядом. А вот загрузчик Ардуино никаким парсингом строк не занимается. Да, команды от AvrDude он принимает и выполняет, но это совсем не парсинг.[/uquote]

Так речь-то там шла не о загрузчике ардуинки, а о загрузчике КОТУИНКИ (ардуинка и котуинко это принципиально РАЗНЫЕ по бутлоадеру устройства https://radiokot.ru/forum/viewtopic.php ... 7#p3167597 и https://radiokot.ru/forum/viewtopic.php ... 1#p3435971 ну и там далее...) - там как раз полный анализ символьной строки intel hex8 делается да еще и с некоторыми "добавками" вида предобработки и перемещения согласно указанным в строке адресам.
Неуж-то таки "ахинея"?
8)
OKF
Это не хвост, это антенна
Сообщения: 1392
Зарегистрирован: Вт июн 07, 2011 08:03:18

Re: Котуинко

Сообщение OKF »

А... Ну, тогда звиняйте! Только название Ардуино (и производные от него) - это торговая марка, и подразумевает совместимость с другими платами Ардуино. Т.е. используются скетчи, IDE, загрузчики... У вас же только одно, сбивающее с толку, название.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15556
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

А копирование и не предполагалось с самого начала.
Естественно имеются и общие свойства -
блочно-модульное построение и упрощенная загрузка с помощью начального загрузчика.
Второе - использование в конструкции смеси из МК разных семейств, в том числе и блоков от ардуиноподобных (включая как "DIPмикросборки" типа ардуино нано/про-мини, так и модули расширения разнообразной переферии).
Но это свойственно сегодня не только адуринкам - подобные методы применяются во многих устройствах.
8)
Так то прежде чем орать об "ахинее" типа
https://radiokot.ru/forum/viewtopic.php ... 4#p3929014
не мешает сначала с имеющимся ранее материалом ознакомиться (хотя бы обзорно - ибо различных "побочных размышлений" в теме таки весьма моного накидано).
:wink:
OKF
Это не хвост, это антенна
Сообщения: 1392
Зарегистрирован: Вт июн 07, 2011 08:03:18

Re: Котуинко

Сообщение OKF »

Да, да, именно "побочных размышлений", типа сам с собою, 2 года и 63 страницы. Я уже и забыл начало, т.к. не так часто сюда захожу.( Не обижайтесь, я не со зла, чисто заради критики.
По теме. Офигенно общие свойства - только загрузчик и всё в себе.
Вон люди лепят для х51: https://github.com/DeqingSun/ch55xduino. Но, плюсового компилятора нет, а значит библиотеки придётся кроить. Но хоть задатки какой-то универсализации.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15556
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

Так кому чего удобнее.
Там именно копия с ардуино по принципу.
У меня совершенно иной вариант на основе использования совмещенной памяти программ/данных и для иных целей - порт расширитель под самоделки ПК. При условии минимальной сложности для связной программы в ПК.
Помимо прочего - проект под свободно-бесплатным атмелевским ассемблером (С51ASM) и с открытым исходником. Кто хочет - тот свое дописывать может под собственные итересы.
Была бы задача дубль для mcs51 "в рамках ардуино" - тогда уж надо или на СИЛАБСАХ или на продукции STC устройство мутить.
Ведь в 51-й не так много широкораспространенных кристаллов с самопрограммированием.
Да с влазить в дебри Си на том же уровне, что и в ассемблер - уж слишком жестко.
Тем более, что для 51й из свободнобесплатных не GCC, а SDCC...
В принципе - КОТУИНКО проект открытый - ежли кому туда Си приткнуть удастся - не вопрос.
Загрузчику то все равно, под чем *.hex файл делался.
8)
Кстати... ардуиноподобные из ПИКовых пошли своим путем (вплоть до IDE) - видимо на то свои причины.
:roll:
Смысл зацикливаться на "фанатизьме" в отношении каких-либо семейств/компиляторов ежли гораздо удобнее потихоньку изучая еще не изученное и используя лучшее из уже имеющегося "в запасе" делать гибридные проекты?
8)
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Котуинко

Сообщение oleg110592 »

[uquote="OKF",url="/forum/viewtopic.php?p=3930669#p3930669"]Но, плюсового компилятора нет, а значит библиотеки придётся кроить[/uquote]
clang люди для 51 приспособили, костыль конечно но...
Большинство библиотек для Arduino так или иначе используют C++, а точнее некоторые его синтаксические конструкции. Как уже упоминалось, компилировать C++ SDCC не умеет. Но многие библиотеки Arduino используют классы, наследия и полиморфизм. Мы перепробовали разные варианты, начиная со старого-доброго cfront и заканчивая новомодным clang. После долгого раздумья было решено взять clang и использовать его для синтаксического разбора пользовательского кода с последующим созданием чистейшего C-кода, который уже будет собираться SDCC. Таким образом, мы используем clang как транслятор С++ кода в Си, а не как полноценный компилятор.
https://habr.com/ru/post/313898/
вот вам и задача дубль для mcs51 "в рамках ардуино"
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15556
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

Это уже для знатоков Си...
:(
Я ж когда-то предлагал - "может кто из знатоков самой ардуино IDE в смысле описания особенностей компиляторов займется?"...
Как к примеру те же статьи от ARV по АВРстудио....
Никто так и не заинтересовался...
Был бы там в основе "чистый ассемблер" - это одно, а с Си/С++ (и тем более с другими, применяемыми в ардуиноIDE компиляторами ЯВУ) я лишь на "продвинутого пользователя" выйти пытаюсь.
8)
oleg110592
По вопросу использования "сторонних библиотек"...
Я придерживаюсь позиции не в абсолютном отказе от их применения, а в более целесообразным ограничении такого использования до разумного минимума при одновременной наработке навыков самостоятельного создания необходимых в конкретной ситуации библиотек ("внешних файлов") под документацию компонентов и схемотехнику конкретных проектов.
Иначе при работе по копипасту можно совсем мозгами шевелить разучиться.
:beer:
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Котуинко

Сообщение oleg110592 »

Узрел отличнейшую штуку для ардунщиков, особенно для старых ПК (виндовс линукс иос), ардуино из командной строки Arduino CLI.
Проверил в линуксе - работает. Главное не мусорит по разным папкам компьютера - все чинно в одной папочке накапливает.
Легко настраивается, легко подключать новые либы ядра:
arduino-cli core install arduino:samd
или в конфигурационном файлике прописать:

Код: Выделить всё

board_manager:
  additional_urls:
    - https://arduino.esp8266.com/stable/package_esp8266com_index.json
и
arduino-cli core update-index
создать скетч
arduino-cli sketch new MyFirstSketch
затем редактируем любимым редактором, тоже открыл для себя vim подобный - называется какун :))
https://kakoune.org/
скомпилить скетч
arduino-cli compile -b arduino:avr:uno /home/userl/Work/MyFirstSketch/
скомпиленные прошивки с бутлоадером и без а так же эльфы для отладки в протеусе или в дебагере в папке /tmp
просто залить
arduino-cli upload -p /dev/ttyACM0 --fqbn arduino:samd:mkr1000 MyFirstSketch
https://arduino.github.io/arduino-cli/latest/
и еще - отладчик для АВРок dwire-debug, работает через USB UART (FT232 or CH340)
https://github.com/dcwbrown/dwire-debug
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15556
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

ГЫММ...
Документация Arduino CLI только на сайте или в комплект с инсталлятором добавлена?
И похоже там под "малинки" заготовку сделали (Linux ARM)...
:roll:
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Котуинко

Сообщение oleg110592 »

брал ночную сборку - там сам экзешник arduino-cli и файл лицензии. На сайте прекрасно оформлена документация, чего еще надо человеку с нормальным монитором. Есть на гитхабе в виде отдельных файлов в формате Markdown, значит можно в pdf сконвертить
https://github.com/arduino/arduino-cli
папка docs
Linux ARM есть и исходники есть - значит можно работать на электрочайнике с линукс :)
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15556
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

Лазить по сайту как-то не слишком удобно...Таки "ложечка дегтю"...
:(
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Котуинко

Сообщение oleg110592 »

кому как
если для печатать, уже показал путь, например онлайн конвертер (первый встречный в гугле)
https://www.markdowntopdf.com/
пример конвертации
getting-started.pdf
(54.23 КБ) 233 скачивания
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15556
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

НЕКОМФОРТНО...
(хотя и пользуюсь иногда)...
:evil:
Ответить

Вернуться в «Разные вопросы по МК»