Pull to refresh
22
0
Шауэрман Александр @Shamrel

Разнорабочий

Send message
А если не использовать OpenWRT или другой проект «под ключ»? А образ больше чем на половину состоит из кастомного ПО, которого по определению нет в открытых репозиториях? А если аппаратная платформа тоже своя, и в ней железо, поддержку которого только предстоит включить в ядро? Не раз бывало, что в прототип входят чипы с пометкой «Release Engineer», а производитель его еще только допиливает. А еще можно представить, что на производстве не одно изделие, и для каждого своя прошивка. А еще, если предприятие коммерческое и выпускает конкурентный продукт, то задержка выхода на рынок продукта может обернутся боком. И просто, иногда банально, нет времени на допил системы сборки.
Допустим, ты знаешь, что образ для изделия B должен отличается от образа да изделия A только несколькими пакетами, причем отлаженными уже в изделии С, то проще и быстрее взять образ изделия А, запустить opkg, удалить лишнее и установить недостающее.
К сожалению, инженерия в современных реалиях — это искусство компромиссов.
У меня вопрос, почему нельзя сделать образ rootfs, который бы имел разовый скрипт для установки этих пакетов. Что берёшь, заливаешь в систему и при первом запуске идёт установка пакетов, а потом автоматическая конфигурация? Я давно не брал в руки шашек, но помню что в /etc есть загрузочный файлик, которому можно доверить этот геммор. Да, я понимаю что это тоже велосипед, но он более надёжен.

Действительно, systemd обладает таким механизмом. И, признаться честно, те пакеты, которые требуют выполнение preinst я доверил устанавливать ему при первом запуске системы. Но с большинством пакетов, так поступать для нас оказалось нецелесообразно:

1. Каждая версия «прошивки», читай образ NAND, имеет свой номер и жестко контролируется (в некоторых случаях, md5 образа прописана в сертификате соответствия). Должна быть полная уверенность, что все то, что стоит на опытном образце, пойдет в серийный прибор: не больше и не меньше. Поэтому ни о какой «доустановки» пакетов из вне после прошивки не может быть и речи. Прибор может оперировать только теми данными, которые в нем есть после прошивки. Потому исходные пакеты должны быть уже включены в образ. А раз они уже в образе, то почему бы их не инсталлировать ДО старта системы, а не ПОСЛЕ? Отсюда второй аргумент:
2. При серийном производстве время, проведенное прибором на сборочном участке отражается на его себестоимости. Установка большого количества пакетов при первом запуске увеличит это время. (практика показала, что значительно)
3. При включении исходных пакетов в образ, необходимо в ручном режиме следить, что бы все зависимые пакеты были тоже включены. Не проще ли это доверить opkg?

А по поводу «фантомных болях»: например, ключи шифрования (а их у нас их много разных), неочищенные кэши, временные файлы и lock файлы процессов. Спору нет, оно все лечится.
Конечно не хочется. Речь идет о промышленном применении. Допустим имеется образ rootfs. Отлаженный образ, обросший прикладным ПО и специфичными настройками. Прикладное ПО разрабатывают, собирают и ведут люди в разных отделах дружного коллектива. Образ тиражируется на серийных устройствах. И тут понадобилось заказчику поставить туда стандартный minicom. Зачем ВСЕ перекомпилировать? А если учесть, что с последней компиляции сменилась версия компилятора, то придется тестировать все бинарники. Ну и, конечно же, время. Компиляция образа занимает не один час, требует дискового пространства, и, конечно же, на хосте должно быть установлено все окружение для кросс-компиляции.
Может быть я чего-то не понимаю, но как теперь в spoiler поместить исходный код?
С Altera USB Blaster II я успешно работаю в убунте. Марсоход в руках пока не держал, однако, планирую. Потому интересно, удастся ли завести отладчик SignalTap по JTAG, или только можно будет загружать код.
Так полно ссылок и про то, как Quartus на Linux поставить. И уж тем более, о том, какой дистрибутив для какого семейства выбрать. Я обратил внимания, на незавершенность статьи. Если автор сказал «А», то не плохо было бы услышать и «Б».
Frantony, как мне кажется, вы пропустили самое интересное. А именно: как задействовать USB-blaster? Для работы с ПЛИС Quartus не достаточно, их еще и шить нужно.
Вот нашел утилиту для генерации LUT, может кому пригодиться:
HDL Sine LUT Generator
Недостаток: ширина выходных данных зависит от разрядности фазы.
А пока, осваиваю Excel LibreOffice Calc
Позвольте спросить, где берут готовый mif-файл?
Первое что приходит на ум, это генерировать в MatLAB, но ставить такой огромный пакет, только для этого как-то не хочется.
Гугление простой утилиты или скрипта генерации mif результата не принесло (допускаю, что гугулины у меня не из того места растут).
Поделитесь опытом.
В свое время Atmel завоевала радиолюбителей простотой загрузки hex в микроконтроллер. Я имею ввиду AVR.
На сколько я понимаю, SAMR21 это современная альтернатива ATMEGA128RFA1, там такой же трансивер (такой же?). И в целом, Atmel Cortex-M0 позиционирует как замену AVR. Чем шить эти SAM'ы?
Существуют ли простые и свободные программаторы и утилиты, такие как avrdude? Есть или предполагается поддержка gcc? Или обязательно использовать монстроподобную Atmel Studio?
Может и устроила бы. Только вот, появилась (поправьте если не так) только в ядре 3.18. Когда же гром грянул, мы использовали 3.12. Потому как-то сложилось, что выбирали между UnionFS и AUFS. К тому же у меня на тот момент был некоторый опыт работы с AUFS.

Information

Rating
Does not participate
Date of birth
Registered
Activity