Системное программирование
-
Хабрахабр
Подключаем Slave-устройства с шиной Wishbone к системе на базе LiteX
В предыдущих трёх статьях мы построили ПЛИС систему на базе LiteX, рабочие блоки для которой могут быть написаны не на странном языке, базирующимся на Питоне, а на чистом Верилоге. А благодаря LiteX, база для системы была создана для нас автоматически. Такой подход позволяет резко упростить и ускорить процесс разработки систем. Пока что наши собственные модули были подключены к системе через…
Читать далее » -
Хабрахабр
[Перевод] Rust 1.58.0: захватываемые идентификаторы, пути поиска в Windows, больше #[must_use] в стандартной библиотеке
Команда Rust рада представить новую версию языка — 1. 58. 0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение. Если у вас есть предыдущая версия Rust, установленная через rustup, то для обновления до версии 1. 58. 0 вам достаточно выполнить команду: rustup update stable Если у вас ещё нет rustup, то можете установить его со…
Читать далее » -
Хабрахабр
Наводим красоту в коде для ПЛИС Lattice, построенном на базе пакета LiteX
В прошлых двух статьях мы сделали и испытали проект, в основе которого лежит система на базе LiteX, а наши модули были написаны на языке Verilog. На протяжении всего повествования я неустанно повторял: «У нас очень много нового материала, не будем отвлекаться на рюшечки, потом разберёмся». Как правило, нет ничего более постоянного, чем временное, но раз тема оказалась интересная, то в…
Читать далее » -
Хабрахабр
Реализации машины в qemu
В процессе обратной разработки прошивок иногда возникает задача по ее эмуляции, например, для фаззинг тестирования или детального изучения поведения в динамике. На практике обычно для этого хватает фреймворков avatar2, unicorn, qiling и подобных. Однако они поддерживают далеко не все платформы и имеют ряд ограничений для решения таких задач. При разработке эмулятора PLC я столкнулся с тем, что ни один фреймворк…
Читать далее » -
Хабрахабр
[Перевод] Rust 1.57.0: константный panic!, пользовательские профили в Cargo и обработка ошибок выделения памяти
Команда Rust рада сообщить о выпуске новой версии — 1. 57. 0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение. Если вы установили предыдущую версию Rust средствами rustup, то для обновления до версии 1. 57. 0 вам достаточно выполнить следующую команду: rustup update stable Если у вас ещё не установлен rustup, вы можете установить его…
Читать далее » -
Хабрахабр
Си должен умереть
Язык Си - один из наиболее влиятельных языков программирования за всю историю. Он стал незаменимым инструментом разработки операционных систем, сместив с этого пьедестала языки ассемблера. Изучение Си обязательно для любого уважающего себя программиста. Этот язык любим за свою внешнюю простоту и ненавидим за беспощадность к ошибкам. Благодаря нему у нас есть ядро Linux и тысячи уязвимостей в нём же в…
Читать далее » -
Хабрахабр
Другой взгляд на многопоточность
Вот уже в который раз хочется поднять тему многопоточного программирования. Сейчас я попытаюсь донести мысль, что если посмотреть на эту тему под другим - более простым, как мне кажется, углом, то она не будет казаться такой сложной и неприступной для начинающих. В этой статье будет минимум формализма и известных (и не очень) терминов. Откуда ноги растут В начале 2000-х годов…
Читать далее » -
Хабрахабр
Почему книга Эндрю Таненбаума «Архитектура компьютера» вредна для образования
Сегодня взял в руки книжку Эндрю Таненбаума "Архитектура компьютера" (последнее издание на русском языке вышло в 2018 году). Я ее пролистывал лет 10 назад, но сегодня решил пролистать снова, чтобы быть абсолютно уверенным в том что я напишу ниже. А именно: это книжка была вредна для образования. Она плодила не инженеров-проектировщиков, а потенциальных игроков для телевикторины "Что-Где-Когда?" и спорщиков-всезнаек на…
Читать далее » -
Хабрахабр
Передача телевизионного сигнала через HackRF
Всем привет. На этот раз я хочу рассказать о том как можно превратить старый телевизор в монитор компьютера. Для этого требуется лишь сам телевизор, HackRF и немного софта. Работать с HackRF можно с помощью библиоткеки на языке Си . Программы типа SDR# и GNURadio используют именно ее. Чтобы начать передачу нужно подключиться к устройству и как минимум задать рабочую частоту…
Читать далее » -
Хабрахабр
Разработчик российского RISC-V ядра будет учить школьников и студентов ассемблеру RISC-V в субботу
Вид на Стенфорд (MIPS), Беркли (SPARC и RISC-V) и вообще Silicon Valley c горы Хамильтон В субботу 13 ноября с 12. 00 по Москве пройдет следующая сессия Сколковской школы синтеза цифровых схем, в режиме онлайн. По плану на ней должны были быть упражнения на FPGA плате с последовательностной логикой. Однако мы решили изменить план и переставить на эту дату занятие…
Читать далее »