Size: a a a

Maxwell's Demons

2021 August 10

TK

Timur Khasanshin in Maxwell's Demons
советуют -fms-extensions
источник

TK

Timur Khasanshin in Maxwell's Demons
но чет не работает
источник

ГК

Григорий Кузьмин... in Maxwell's Demons
-march может?
источник

TK

Timur Khasanshin in Maxwell's Demons
не помогло, -march=armv7e-m
источник

GZ

Genadi Zawidowski in Maxwell's Demons
Выражение целиком покажите
источник

TK

Timur Khasanshin in Maxwell's Demons
к сожалению строка кланга находится в составе гуя IDE
источник

TK

Timur Khasanshin in Maxwell's Demons
и там только эта запись
источник

TK

Timur Khasanshin in Maxwell's Demons
additional parameters for C/C++ files
источник

m

mirmik in Maxwell's Demons
Хочется поспрашивать у него sizeof от типов uint32_t, void*, uintptr_t.
источник

m

mirmik in Maxwell's Demons
Ну и полный текст ошибки тоже не плохо бы.
источник

GZ

Genadi Zawidowski in Maxwell's Demons
И строки исходного текста. Вангую где-то 64 бит стало... или внутри выражения намудрили
источник
2021 August 11

l

linxuil in Maxwell's Demons
Товарищи, добрый день.
Прошу помощи, уже третий день туплю...

Есть задача - надо прошить spi nand flash в корпусе wson-8, подключив его к расбери 4 по spi. Для этого надо добавить еще один драйвер устройства spi nand flash, чтобы иметь возможность записывать флешки определенного производителя по spi. Исходники того драйвера есть, они были на другой архитектуре в системе линукс и я хочу прикрутить их к расбери. Данные драйвера в итоге заработают на расьери - коллега уже делал жто, но давно и не помнит как.

Подскажите - куда что класть и что добавлять в систему сборки, как правильно собрать (скомпилировать) кастомный образ расбери?
Может слово "образ" не совсем верное и я говорю про "собрать ядро" - как правильно говорить пока тоже не понял, не ругайте строго)

Знаю, что можно записать дефолтный образ с сайиа расьери на карту памяти с помощью спец программы расбери, вроде называется rasberry-imager.
Далее изменить настройки системы и файлы на карте как хочется и после изменений сделать образ (слепок) равный размеру карты карты памяти, на будующее, с уже сделаными изменениями. Сразу говорю - это совсем не то, что мне нужно.

Мне нужно именно добавить драйвера в систему, видимо нужно пересобрать ядро из исходников, предварительно добавив нужный драйвер.

Изначально я думал, что скомпилировав то, что находится в репощиториях расбери я получу аналогичный образ того, что устанавливается на флешку дефолтным установщиком.

Но видимо я ошибся и в реальности  компилируется только ядро (kernel), которое хранится на флешке в разделе boot. Root не трогается совсем.
Делал по этой инструкции.
https://www.raspberrypi.org/documentation/computers/linux_kernel.html

Врпросы:
1) Если я компилирую только ядро, то полуяается в ядре монолитно вкорчеваны все драйвера одним бинарем?
2) Почему настройка ядра идет после его компиляции, а не до этого, это мне вообще крышу сносит и не понимаю зачем тогда этап компиляции быо раньше?
3) Какие файлы нужно изменить, чтобы корректно вкорчевать новый драйвер в кернел, просто положить файлы в папку с драйверами, я так понимаю не вариант - ведь система сборки их не увидит. Читал про лейауты, но если честно не понял имеют ли они отношение к моей задаче или нет - куда копать, направьте пожалуйста.
источник

VK

Valentin Kornienko in Maxwell's Demons
А если только прошить флешку- зачем такая боль?
источник

VK

Valentin Kornienko in Maxwell's Demons
Утилиту запустить, которую по спи подергает все на флешке
источник

a

aum in Maxwell's Demons
Не знаю что там наворотили в новых ядрах, когда-то делал так:
писался свой драйвер, собирался под ядро, получался ko файл, он подключается в ядро при запуске или когда нужен
источник

m

mirmik in Maxwell's Demons
Действительно, непонятно, зачем пересобирать ядро, чтобы добавить драйвер.
источник

l

linxuil in Maxwell's Demons
Я с расбери на вы пока, встраиваемые системы на линуксе раньше не тыкал)
Кернел тоже не собирал раньше, поэтому все сложно пока идет.

Про какую тулзу вы говорите?

Если она могет прошить файл на флешку плбс прошить второй со смещением в памяти и работает со страницами, то мне это подойдет
источник

l

linxuil in Maxwell's Demons
Может и не обязательно, но в силу малого объема знаний вижу только этот вариант пока. Если есть другой, направьте - почитаю, ьуду благодарен.
источник

a

aum in Maxwell's Demons
У ядра есть режим конфигурации, запускаете конфигуратор в графическом режиме.
Там выбирается что надо собрать вместе с ядром.
драйверы можно собрать отдельно и подключать когда надо. Для этого его конечно надо так написать, потому что при ините он должен себя подставить когда попросят.
источник

m

mirmik in Maxwell's Demons
Почитайте про модули ядра линукс. Если кратко, это специальная система, благодаря которой можно расширить ядро. Модуль подцепляется при старте системы (или не при старте), регистрирует в ядре необходимые структуры и ядро работает с его кодом так, как работает с собственным. Это правильный путь добавления кастомного драйвера. Для пересборки ядра показаний нет.
источник