The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Новая версия среды разработки Arduino IDE 2.3 , opennews (??), 11-Фев-24, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


45. "Новая версия среды разработки Arduino IDE 2.3 "  +/
Сообщение от Высокоимпедансно (?), 11-Фев-24, 22:12 
Кстати о сишных дыренях, дак для Гарвардской архитектуры пофиг...
Ответить | Правка | Наверх | Cообщить модератору

72. "Новая версия среды разработки Arduino IDE 2.3 "  +/
Сообщение от Аноним (-), 12-Фев-24, 02:29 
> Кстати о сишных дыренях, дак для Гарвардской архитектуры пофиг...

Ну покажи как тебе integer overflow какой-нибудь - пофиг?

А еще ардуина тупая как дровина. У проца нет такого понятия как исключения - и абсолютно любая самая дурная ситуация - обработана быть не может.

Вырубился кварц? Ну, это вам не STM32, да. Переполнение стека? Выполнение попало на строку текста (константу) в флеше? Брутальный некорректный доступ в флеш? Ему похрен все. От и до. Может быть - когда нибудь - сработает вачдог.

А о том чтобы на абдурине запустить хотя-бы ubsan (у него есть лайтовая версия, на ARM в фирмварях юзабельно) и прозвонить фирмварь на тему integer overflow и прочего UB - речь не идет в принципе. У тупого как дрова AVR нету "bad opcode" исключений - ну ubsan реализовать низя, во! Так что вы еще и отловить вон то - не сможете на вот именно таргете.

Ответить | Правка | Наверх | Cообщить модератору

78. "Новая версия среды разработки Arduino IDE 2.3 "  +/
Сообщение от Высокоимпедансно (?), 12-Фев-24, 02:38 
Порча данных и всё, это всё что возможно.
Ответить | Правка | Наверх | Cообщить модератору

158. "Новая версия среды разработки Arduino IDE 2.3 "  +/
Сообщение от Аноним (-), 14-Фев-24, 17:53 
> Порча данных и всё, это всё что возможно.

Есть еще "сбои управления" на этой почве. Что для управляющей системы - хреново.

Ответить | Правка | Наверх | Cообщить модератору

100. "Новая версия среды разработки Arduino IDE 2.3 "  +/
Сообщение от Аноним (102), 12-Фев-24, 10:38 
>У тупого как дрова AVR нету "bad opcode" исключений

Разве компилер C++ может генерить несуществующие опкоды? Сомневаюсь. Или ты прям в машинных кодах прогаешь?

Ответить | Правка | К родителю #72 | Наверх | Cообщить модератору

157. "Новая версия среды разработки Arduino IDE 2.3 "  +1 +/
Сообщение от Аноним (-), 14-Фев-24, 17:45 
> Разве компилер C++ может генерить несуществующие опкоды? Сомневаюсь. Или ты прям в
> машинных кодах прогаешь?

Ubsan - довольно низкоуровнево интегрируется в компилер, и таки - может! Он вообще инструментирует поток команд, добавляя проверки! При том на автомате - програмеру делать ничего не надо, инструментация математики будет сделана компилером.

В полной версии он ловит ряд забавных вещей, типа некоторых выходов за пределы массивов, левых поползновений с типами, переполнения integer'ов и проч. И при обнаружении факапа он вырубает прогу и кидает нехилый стектрейс. В gcc/clang это нечто типа -fsanitize=undefined.

Но у него есть как минимум в GCC и лайтовый режим, спецом для МК, когда вместо полновесного рантайма он в инструментированом коде просто провоцирует Bad Opcode и дальше fault handler сам разбирается что это за фигня. Так оно уже подъемно для МК получается. На cortex M работает, фимрвар конечно несколько жирнее и тормознее из-за проверок, но - разница процентов 30 по размеру кода. Скорость - зависит от алго, может существенно просесть, а может и пофиг быть.

p.s. gcc также может САМ добавить вызовы функций memset/memcpy/memmove между прочим. И это документировано. Для freestanding окружение требование такое - предоставить эту троицу. А как вы думали он допустим один struct другому вообще присваивает?!

Ответить | Правка | Наверх | Cообщить модератору

119. "Новая версия среды разработки Arduino IDE 2.3 "  +/
Сообщение от Аноним (117), 12-Фев-24, 15:44 
Авр прощает ошибки ПП, Эдик.
Ответить | Правка | К родителю #72 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру