Обновить
47
25.5
Вадим Петряев@ptr128

Архитектор ИС

Отправить сообщение
ОС такого уровня как тот же Linux

То есть, свет клином на Linux сошелся, а все остальное — уже не ОС? При чем тут уровень ОС? К тому же Linux на MCU уже есть. На STM32 Linux тоже, кстати, ставится.

Я не про задачи, а про само определение.

Определение известно. MCU отличается от MPU только наличием переферии и, в частности, части памяти на том же кристалле. То есть, никакого ограничения на объем памяти это не накладывает. Тем более на внешнюю переферию.

Я игрушки писал на 8-битах тоже (привет, 6502!). Дело ведь не в разрядности.

Дело не в разрядности, а в том что 64К и 2К RAM — различаются в 32 раза. Поэтому держать фрейм-буфер в оперативной памяти вообще нет возможности. А так как интерфей с TTF по SPI, то весь нижний уровень приходится писать на ассемблере.
В принципе, Вы правы. Но для танталовых и ниобиевых электролитов я, обычно, делаю исключение. Они не только более живучи, но и стоят сильно дороже алюминиевых. Запас держать накладно.
моя программа на МК работает на голом железе, а в случае с одноплатником программе нужна ОС

Так это для многих МК уже в прошлом. ESP8266/ESP32 поставляется уже со встроенной ОС с TCP стеком и встроенным веб-сервером. Для многих МК доступна FreeRTOS. Для тех же STM32 доступны ARM MBED OS и RIOT OS. Не сошёлся же свет на Linux клином?

Если задача мигать светодиодом, то для этого достаточны трехцентовые МК Padauk. Даже на восьмибитном AVR уже можно писать игрушки (сына учил). А уже на 32-х битных МК с Ethernet или WiFi доступны намного более сложные задачи.
Я не критикую Ваше решение. Я только дополнил его альтернативой. Ведь не все читатели хабра умеют программировать, а в PowerBI задача решаема без написания кода.

И речь не о количестве запросов, а о количестве обновлений из внешних источников данных опубликованного в облаке PowerBI.

Кстати, раз уж речь о футболе, то у меня даже есть благодарственное письмо от FIFA за организацию dashboard в PowerBI в рамках подготовки чемпионата мира в Москве. Восьми обновлений в день для таких целей им вполне хватало.
Содержимое полей JSON/XML встречал такие, что не меньше, чем с Excel, приходилось кувыркаться. А в текстовых полях встречал так называемые сцепки, когда из-за невозможности изменить структуру таблицы пропиретарного прикладного приложения, в одном поле несколько разных запихивают через разделитель. Жесть еще та.
Так что загадить можно и SQL таблицу.
Суть не в том, на каком языке Python написан, а в том, что ошибка возникает на этапе выполнения. То есть, если перед этим Ваша программа два часа тащила данные из разных источников и трансформировала их, то через два часа и обломитесь такой ошибкой.

синтаксис Python и возможность реализации типизированного массива в рамках этого языка — вещи взаимоортогональные

Именно об этом и речь.
Бесплатная лицензия PowerBI позволяет обновлять и публиковать в Web результаты до восьми раз в день. При этом описанная задача на PowerBI решается намного проще. Скорее всего, даже кода на DAX не потребуется писать непосредственно. Сам сгенерится.
Прикол в том, что эту ошибку генерирует вовсе не интерпретатор Python, а функция на C из ипортированного Вами модуля array во время выполнения кода.
С точки зрения синтаксиса языка Python тут никаких проблем нет. Ограничения накладывает код на C.
Первый домашний компьютер я купил себе еще 1995 году. На Cx5x86. Этакий недопентиум для 486 сокета.

без прибора для измерения ёмкости

Берите на Али BSIDE ESR02. Керамику малой емкости он меряет плохо, но для электролитов его точность достаточна.
На виртуалке я уже смотрел.
Если я переменной x присвою строку, ничто не помешает мне потом присвоить ей же array unsigned char в другом месте, array double в третьем и просо float в четвертом.

Вы не путаете строгую типизацию и динамическую типизацию?
Во-первых, множество технических регламентов имеют прямые ссылки на ГОСТы и требуют их исполнения. Это для всех.
Во-вторых, ПУЭ имеет ссылки на ГОСТы и требует их исполнения. Тоже для всех.
В-третьих, есть ведомственные документы. В моем примере — РосАтома, которые тоже требует соблюдения перечисленных в них ГОСТ.
В-четвертых, различная сертификация явно оговоривает в ряде случаев необходимость соответствия ГОСТ. То есть, выпускать продукцию можете, но сертифицирована она не будет.
В-пятых, на основании Закона «О техническом регулировании» подлежат обязательному исполнению ГОСТы принятые до до 01 июля 2003г только в части, соответствующей целям:
1) защиты жизни или здоровья граждан, имущества физических или юридических лиц, государственного или муниципального имущества;
2) охраны окружающей среды, жизни или здоровья животных и растений;
3) предупреждения действий, вводящих в заблуждение приобретателей.

Это неполный список. Но надеюсь, достаточно.
Он обязателен, просто не для всех. Когда дочку из МИФИ отправили на практику в госконтору, то там ГОСТ чтили и любили. Ни о каком софте без открытого исходного кода даже речи быть не могло. Везде стояла только МСВС. И все документы — строго ODT.

Дело было, примерно, в 2010 году.
Именно это я и делал. Завел и проверил тестером. Без нагрузки при заряженных АКБ — 14,2 вне зависимости от оборотов двигателя, причем стабильно. Если сразу после завода (холодный двигатель, мороз, и несколько секунд работы стартера) — на холостых 13,8 и поднимается до 14,2 уже на 1800-1900 оборотах.
L200 2012 года выпуска.
Что касается воздушно-алюминиевых батарей, то развитие сервиса замены батарей проблему решает. К слову, для литий-ионных АКБ Nio пошла тоже по пути замены.

Бросового электричества с развитием «зеленой» энергетики будет все больше. Ну и на процессе Холла-Эру свет клином не сошелся. Уже тестируется карботермический процесс, дающий экономию энергии на 34%.

Вообще-то теоретически предел плотности энергии алюминий-ионного аккумулятора более чем в два раза выше, чем у литий-ионного.
Другое дело, что в на данный момент имеем или высокую плотность энергии с небольшим количеством циклов (алюминиево-серный аккумулятор 800 Втч/кг, 20 циклов), или низкую плотность энергии с огромным количеством циклов (алюминий-графеновый аккумулятор 111 мАч/г = 111*2.5В*1000 = 278 Втч/кг, 250 тыс. циклов).
При этом даже АКБ с два раза меньшей емкостью, но с зарядкой за 1-2 секунды, могут уже конкурировать с литий-ионными.

Обратите внимание, я не утверждаю, что алюминий заменит литий:
есть обоснованные ожидания, что алюминий-ионные АКБ могут и заменить литий-ионные, и сравняться по цене с кислотно-свинцовыми

Алюминий все же дешевле не только лития, но и свинца.
Потому что это будет отказом от главной исходной парадигмы Python — динамической типизации.
Я уже давно не знаю как их отличать. Современные MCU легко способны решать те задачи, которые еще не так давно можно было решать только с использованием MPU. Обратите внимание сколько проектов на Raspberry PI решают те же задачи, для которых есть так же решения на STM32 или ESP32.

Например, далеко не для всех применений критично, что тот же STM32F4 поддерживает разрешение TTF-LCD только до 1280*720. Не удивлюсь, если скоро появятся MCU поддерживающие и FullHD, и даже 4К.

Для Вас действительно так принципиально, размещена ли переферия и минимум памяти на том же кристалле, что и CPU или нет?
Я в курсе, что он микроконтроллер. Но он тоже «одноплатник с RISC-V чипом».

Cколько будет стоить на Али одноплатник с ESP32-C3 я не знаю. А GD32VF103CBT6 — хоть сейчас заказывайте за $4 (включая доставку).
Достаточно сказать gcc -O3 и он сам в этом случае выполнит векторизацию. Переписывать ничего не нужно.
А если описать
float rand_array[length];
то даже код
output_array[i] = 1/rand_array[i];
У меня выполняется:
took 1362 us

Вместо
took 3664 us

Информация

В рейтинге
341-й
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность