Pull to refresh
150
0
Max Filippov @jcmvbkbc

low level freak

Send message

Linux на esp32s3

Level of difficultyMedium
Reading time12 min
Views26K

Вопрос о том, можно ли загрузить линукс на микроконтроллерах Espressif я
впервые услышал в 2015, в период бума esp8266. Тогда мой ответ на него
был: "нет, не это ядро и не на этом железе". Но прошло 8 лет и ответ
изменился на "да, и у меня есть рабочий пример". Дальше рассказ о том,
как это произошло.

Читать далее
Total votes 120: ↑119 and ↓1+148
Comments21

Обработка аппаратных прерываний в архитектуре intel. i8080 — i80486, PIC, ISA, conventional PCI

Reading time6 min
Views9.8K
В топике даётся обзор в исторической перспективе механизмов, используемых для сопряжения внешних устройств с CPU архитектуры x86.

Спойлер
Я понял, что никогда уже не допишу этот грандиозный обзор во всей его полноте, поэтому я просто убрал «часть 1» из названия. Возможно эта часть всё же будет кому-нибудь полезна.
Читать дальше →
Total votes 12: ↑12 and ↓0+20
Comments8

Барьеры доступа к памяти в Linux

Reading time15 min
Views48K
Эта статья — частичный перевод исчерпывающего руководства Дэвида Хоуэлса (David Howells) и Пола Маккени (Paul E. McKenney) распространяемого в составе документации Linux (Documentation/memory-barriers.txt онлайн версия).

Must read для разработчиков ядра/драйверов и очень познавательно для прикладных программистов.
ASCII art и очень много букв
Total votes 114: ↑109 and ↓5+104
Comments33

О неявных объявлениях, обратной совместимости и ABI

Reading time2 min
Views2.2K
Исходные данные: язык С, gcc4.4, x86, GNU/Linux

struct.h:
struct S
{
    int *a;
    int *b;
};

a.c:
#include <stdio.h>
#include "struct.h"

struct S f(struct S v)
{
    printf("v.a = %d, v.b = %d\n", *v.a, *v.b);
    return v;
}

b.c:
#include <stdio.h>
#include "struct.h"

int main()
{
    int a = 1, b = 2;
    struct S v = {&a, &b};
    f(v);
    printf("a = %d, b = %d\n", a, b);
    return 0;
}

makefile:
all: test
        ./test

test: a.c b.c struct.h
        gcc a.c b.c -g -o test


Вопрос: что будет напечатано во время выполнения? Подумайте хотя бы минуту. А лучше возьмите отладчик и походите по этой нехитрой программе.
Читать дальше →
Total votes 58: ↑46 and ↓12+34
Comments78

Потоковое видео: вещание с N810

Reading time3 min
Views7.5K
Захотелось забросить свою нокию высоко в небо и посмотреть, как мы выглядим с высоты птичьего полёта.
Как забросить — понятно: самый простой вариант — взять воздушный змей побольше.
Как посмотреть — вопрос немного озадачил.
Читать дальше →
Total votes 34: ↑29 and ↓5+24
Comments25

Opensource разработка на примере реализации поддержки меш-сети стандарта IEEE802.11s для интернет-планшета Nokia N810

Reading time3 min
Views2K
В статье рассказывается о личном опыте реализации небольшого opensource проекта и о вопросах, возникших в ходе.

Я был на собрании Open Source Linux Lab осенью 2008 года, на котором прозвучала идея реализовать поддержку IEEE802.11s для Nokia N810. Прозвучала как одно из безумных предложений о том, что можно сделать с этим замечательным устройством.
Читать дальше →
Total votes 46: ↑39 and ↓7+32
Comments7

Information

Rating
Does not participate
Location
Fremont, California, США
Registered
Activity