Обновить
173
0.9
Руслан @checkpoint

Old-time Unix hacker

Отправить сообщение

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

PS: Существуют ПЛИС и платы с ними за цену в менее 1500 руб (Tangnano-9K), на которых можно сделать всё то же самое, и даже в большем обьеме.

А где всё остальное ? Где декодер команд ? Где шина и арбитраж ? :-)

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

Вот это уже интересно, спасибо.

При этом в самом обработчике MemManage Fault переконфигурирование MPU может быть разрешено установкой специального бита HFNMIENA в MPU Control Register в 0.

Так ведь запись в регистры MPU запрещена самим MPU ? Автор статьи пишет:

Если же из MemManage_Handler вызвать функцию из запрещенного к исполнению региона, то сработает уже HardFault_Handler.

Иными словами, запретив доступ к регистрам MPU мы остаемся без средств управления этим MPU и только Reset нас спасет.

Я вот не уверен, что это возможно. Как Вы будете управлять таким MPU ? Вы же пишете, что в обработчике нужно обязательно отключать защиту иначе выход из обработчика будет невозможен.

Про RISC-V мне всё известно, спасибо. Речь идет про ARM Cortex-M и его MPU.

То, о чем Вы пишите это задача для MMU. На сколько я понимаю, в MPU нет приоритезации уровней исполнения, а значит любой кусок кода может отключить MPU и сходить посмореть что там в "системе" или даже пропатчить её. Я как раз подумывают над тем как бы "скрыть" ядро системы от приложений и вижу, что с помощью только лишь MPU это не реализуемо.

1) и 3) это защита от бага в самой прошивке ? На счет 2) не понятно от кого защита. Если есть возможность исполнить код, то и отключить MPU не проблема. Я сначала подумал, что с помощью MPU можно как-то отделить "ядро" от "приложения" в примитивной операционной системы. Но потом подумал еще и засомневался в этой идеи.

У меня есть простецкая однозадачная ОС для STM-ок в которой приложения отделены от ядра, но защиты никакой нет, т.е. приложение может легко запороть ядро системы, случайно или намеренно. Может ли тут мне помочь MPU ?

А какая еще может быть польза от MPU, кроме как отслеживание переполнений стека/кучи ?

О да, о да. Я в 96-м тоже писал "bbstro" к своей The Hyper-Space Station BBS, нативное приложение для OS/2 и музычка на adlib. Проиграыватель у меня был свой, написан на asm-е, доступ к портам звуковухи через IOPL (OS/2 это protected mode). К сожалению ни кода, ни бинарника не сохранилось, и Ютуба тогда не было. Помню, что постил бинарник в DEMO.DESIGN.UUE. У Frog-а есть полное собрание сочинений этой эхоконфы, но моей демки там не оказалось. :-( Музычку, кстати, тоже сочинил сам. То был первый и единственный мой опыт композера. :-)

А что мешает скачать коллекцию модулей и слушать локально, в оригинальном исполнении ? А то у Вас получается как в старом анекдоте - "Мойша в трубку насвистел". :-)

Для тех, кто решил погрузиться в тему. В Сети полно радиостанций в формате IceCast где вещают эту музыку нон-стоп. Мне заходит Nectarine Demoscene Radio - хорошо сбалансированный набор чиптюна, демо, инди, диджейского бла-бла-бла и интервью с известными демосценерами.

Один из лучших проигрывателей трекерной музыки и чиптюна — XMPlay

Но лучший проигрыватель конечно же консольный Cubic Player.

Open Cubic Player на FreeBSD

PS: Спасибо за Mel O'Dee. У этого автора все композиции очень энергичные и жизнерадостные (upbit).

Как сказал какой-то умный человек по ящику: "Такова цена дружбы".

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

-- А знаешь как у этих BSD-ишников называется epoll() ?

-- Как ?

-- kqueue()

-- Вот негодяи!

Три ядра и 200 МГц это не хухры-мухры, такие "промышленные микроконтроллеры" уже имеют Ethernet на борту. И как связь-то "сверхним уровнем" организовывать ? Параллельной 32-х битной шиной ? Высокоскоростных интерфейсов в этом изделии не представлено.

Тут уже высказали предположение, что данный МК проектировался под полётный контроллер для БПЛА: одно ядро считает БИНС, второе - вектор-драйв для моторов, третье - общее управление полётом. Внешняя связь через low bandwidth радио. Ethernet не нужен. :-)

С новым отечественным запретом на вскрытие корпусов:-)

Откуда дровишки ?

Можно конечно подключить Ethernet через USB (LAN9512), но для этого кучу драйверов написать придется, затянуть весь стек USB 2.0 в проект. В то время как драйвер для обычного MAC это две страницы Сишного кода + lwIP для TCP/IP.

Информация

В рейтинге
1 825-й
Дата рождения
Зарегистрирован
Активность