Системное программирование

  • ХабрахабрФото Подключаем Slave-устройства с шиной Wishbone к системе на базе LiteX

    Подключаем Slave-устройства с шиной Wishbone к системе на базе LiteX

    В предыдущих трёх статьях мы построили ПЛИС систему на базе LiteX, рабочие блоки для которой могут быть написаны не на странном языке, базирующимся на Питоне, а на чистом Верилоге. А благодаря LiteX, база для системы была создана для нас автоматически. Такой подход позволяет резко упростить и ускорить процесс разработки систем. Пока что наши собственные модули были подключены к  системе через…

    Читать далее »
  • ХабрахабрФото [Перевод] Rust 1.58.0: захватываемые идентификаторы, пути поиска в Windows, больше #[must_use] в стандартной библиотеке

    [Перевод] Rust 1.58.0: захватываемые идентификаторы, пути поиска в Windows, больше #[must_use] в стандартной библиотеке

    Команда Rust рада представить новую версию языка — 1. 58. 0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение. Если у вас есть предыдущая версия Rust, установленная через rustup, то для обновления до версии 1. 58. 0 вам достаточно выполнить команду: rustup update stable Если у вас ещё нет rustup, то можете установить его со…

    Читать далее »
  • ХабрахабрФото Наводим красоту в коде для ПЛИС Lattice, построенном на базе пакета LiteX

    Наводим красоту в коде для ПЛИС Lattice, построенном на базе пакета LiteX

    В прошлых двух статьях мы сделали и испытали проект, в основе которого лежит система на базе LiteX, а наши модули были написаны на языке Verilog. На протяжении всего повествования я неустанно повторял: «У нас очень много нового материала, не будем отвлекаться на рюшечки, потом разберёмся». Как правило, нет ничего более постоянного, чем временное, но раз тема оказалась интересная, то в…

    Читать далее »
  • ХабрахабрФото Реализации машины в qemu

    Реализации машины в qemu

    В процессе обратной разработки прошивок иногда возникает задача по ее эмуляции, например, для фаззинг тестирования или детального изучения поведения в динамике. На практике обычно для этого хватает фреймворков avatar2, unicorn, qiling и подобных. Однако они поддерживают далеко не все платформы и имеют ряд ограничений для решения таких задач. При разработке эмулятора PLC я столкнулся с тем, что ни один фреймворк…

    Читать далее »
  • ХабрахабрФото [Перевод] Rust 1.57.0: константный panic!, пользовательские профили в Cargo и обработка ошибок выделения памяти

    [Перевод] 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 и немного софта. Работать с HackRF можно с помощью библиоткеки на языке Си . Программы типа SDR# и GNURadio используют именно ее. Чтобы начать передачу нужно подключиться к устройству и как минимум задать рабочую частоту…

    Читать далее »
  • ХабрахабрФото Разработчик российского RISC-V ядра будет учить школьников и студентов ассемблеру RISC-V в субботу

    Разработчик российского RISC-V ядра будет учить школьников и студентов ассемблеру RISC-V в субботу

    Вид на Стенфорд (MIPS), Беркли (SPARC и RISC-V) и вообще Silicon Valley c горы Хамильтон В субботу 13 ноября с 12. 00 по Москве пройдет следующая сессия Сколковской школы синтеза цифровых схем, в режиме онлайн. По плану на ней должны были быть упражнения на FPGA плате с последовательностной логикой. Однако мы решили изменить план и переставить на эту дату занятие…

    Читать далее »


Кнопка «Наверх»