Size: a a a

2021 May 13

VK

Valentin Kornienko in Embedded Group
Идея есть, но хз на сколько сработает. Можно попробовать в симейклистах перед вызовом dt компилятора подставлять нужный файл dts
источник

VK

Valentin Kornienko in Embedded Group
Скорее всего, вызов их сборки идёт где-то в west build/ cmake lists. Можно добавить попробовать свое
источник

VK

Valentin Kornienko in Embedded Group
@shapa_kh что на счёт такого варианта? Или не сработает?
источник

P.

Pavel . in Embedded Group
сработает) но это то же самое, что просто специфицировать другую плату. это compile-time, человек же хочет в рантайме определять тип платы
источник

P.

Pavel . in Embedded Group
по-факту это 2 различные платы и объеденение в одну не соответсвует зефировской концепции плат. Так что реализоват ьполучится неким костылем
источник

VK

Valentin Kornienko in Embedded Group
Можно держать две прошивки на флешке внешней и бутлоадером грузить нужную, х
источник

VK

Valentin Kornienko in Embedded Group
Но это костыли пошли уже
источник

P.

Pavel . in Embedded Group
можно сдлеать что-то типа
alias {
pcb-v1=&gpioPwr1;
pcb-v2=&gpioPwr2;
}
а где-то в коде
if (getPCBrev() < 2)
//use alias pcb_v1
но по мне это всё не правильно. Я бы создал 2 борды и собирал разные проишвки под них
источник

BV

Bulat Valeev in Embedded Group
День добрый! Подскажите, есть ли в открытом доступе даташит на nvp2450h?  Или нужно напрямую выходить на NXP?
источник

EK

Eugene Krashtan in Embedded Group
Ну сейчас так и есть, две разных прошивки. И мне эта ситуация жутко не нравится :(
источник

EK

Eugene Krashtan in Embedded Group
Причем 90% пинов совпадает, плюс парочка дивайсов на и2с отличается.
источник

RS

Roman Storozhenko in Embedded Group
Похоже что весь зефир это сплошной костыль
источник

RC

Roman Clor in Embedded Group
Выделите область памяти ручками, запишите туда коды инициализации, и при первом запуске на основании аппаратной конфигурации прошейте нужный указатель. Конечно IDE вам ничего в этом месте не подскажет и компилятор тоже.
источник

EK

Eugene Krashtan in Embedded Group
Похоже, надо просто тикет открыть на их ишью трекере на тему multiple hardware configs. Наверняка у них в загашнике лежит какой-то трюк на эту тему. Прошлый раз мне красивый трюк показали с
#define INST_HAS_RESET_OR(inst) DT_INST_NODE_HAS_PROP(inst, reset_gpios) ||
#define ANY_INST_HAS_RESET_GPIOS DT_INST_FOREACH_STATUS_OKAY(INST_HAS_RESET_OR) 0
источник

SK

Stas Koynov in Embedded Group
виртуальность? и выбрать тип класса при старте?
источник

EK

Eugene Krashtan in Embedded Group
не, там драйвера инитятся до вызова main()
источник

SK

Stas Koynov in Embedded Group
ну и что? до мэйна нельзя добавить код?
источник

SK

Stas Koynov in Embedded Group
можно сделать обьект в котором будет это кухня проходить, сделать статическим, из-за чего его конструктор будет вызван в стартапе при вызове array_ini и т.п
источник

EK

Eugene Krashtan in Embedded Group
Кстати да. Можно сделать свой драйвер типа init_hw_config, и чтоб вызывался первым. Спасибо, попробую думать в этом направлении.
источник

VK

Valentin Kornienko in Embedded Group
Единственное что, не стоит полагаться на порядок вызовов конструкторов
источник