На чем пишется софт для КА?

Автор hudvin, 06.05.2009 15:28:09

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

BOA

Цитировать
ЦитироватьНаверное надо более точно относиться к терминологии в таком разговоре. Многие под понятием "прошивка" понимают просто любую запись информации в ПЗУ.

Реально "прошивка" - это в самом деле прошивка памяти посредством проволоки.
Сейчас техника так быстро меняется, что слова для новых понятий  не успевают появляться.
Да, про "проволку" уже забыли с Ямала-100. СМ, Я-200, БелКА все имеют ППЗУ и "перепрошить" при НИ возможно всё.
Союз и Прогресс - чужая епархия, без комментов :D
А "прошивка" - это уже дань памяти тем ферритовым колечкам... слэнг одним словом :wink: .

Morin

Цитировать
Цитировать
Цитировать
ЦитироватьПРЕПРОШИТЬ нельзя.
Перепрошить ПО можно. БЦВМ с перепрограммируемым ПЗУ давно используются на КА.
Я, конечно, не большой знаток, но ПМСМ к современным перепрограммируемым ПЗУ нельзя применять термины "прошивка, перепрошивка".

Наверное надо более точно относиться к терминологии в таком разговоре. Многие под понятием "прошивка" понимают просто любую запись информации в ПЗУ.

Реально "прошивка" - это в самом деле прошивка памяти посредством проволоки. Прошивка делается на заводе по таблицам прошивки и номер программы выбивается на шильдике блока. Перепрошить память можно только руками девушки-прошивальщицы и в весьма ограниченном объеме - единицы команд. Да и то, как временная мера, на период испытаний. В моей практике были прошиваемыми Аргоны 10М и 15А.

Следующие поколения ПЗУ, насколько я понимаю - прожигаемые.
И существуют как однократно прожигаемые, так и перепрожигаемые микросхемы. Какие стоят в современных БЦВМ и возможен ли перепрожиг на борту - с этим уже не работал, не знаю  :cry:
Так и я об этом толкую. Сам я живьем прошивку не видал, но знаю, что это процесс весьма "физический" :-) , делался только в заводских условиях и на него нужна была такая же документация, как на механическую доработку.
Как правильно сказал один товарищ, если б на Персоне стояла прошитая ПЗУ, то проблем бы с ней не было. А к флеш-памяти термин "прошивка" неприменим.
Лучшее - враг хорошего

ДмитрийК

ЦитироватьНаверное надо более точно относиться к терминологии в таком разговоре.
Все просто. Прошивают прошивки. Прожигают соответственно прожи... проже... ыыы... прошивки :) :)

ДалекийГость

ЦитироватьТак и я об этом толкую. <> к флеш-памяти термин "прошивка" неприменим.
Если термин применяется, значит он применим. Со временем какой-то вариант станет общеупотребительным, а остальные варианты исчезнут. Поживем-увидим.

Дело не в этом термине, а в том, что Вы написали:
ЦитироватьПРЕПРОШИТЬ нельзя. Можно добавить "заплатку" в ОЗУ.
Не нужно добавлять "заплатки" в ОЗУ для изменения ПО КА с электрически перепрограммируемым ПЗУ.

Morin

Цитировать
ЦитироватьТак и я об этом толкую. <> к флеш-памяти термин "прошивка" неприменим.
Если термин применяется, значит он применим. Со временем какой-то вариант станет общеупотребительным, а остальные варианты исчезнут. Поживем-увидим.

Дело не в этом термине, а в том, что Вы написали:
ЦитироватьПРЕПРОШИТЬ нельзя. Можно добавить "заплатку" в ОЗУ.
Не нужно добавлять "заплатки" в ОЗУ для изменения ПО КА с электрически перепрограммируемым ПЗУ.
Согласен, был не прав, погорячился.
"Заплатки" в ОЗУ ставили на КА с "прошитыми" ПЗУ. И достаточно эффективно справлялись с ошибками в ПЗУ.
Лучшее - враг хорошего

LRV_75

Немножко юмора  :)   на башорге наткнулся


интервью с разработчиками российской операционной системы УжОС

8. Расскажите о процессе загрузки УжОС

Загрузчик реализован в виде "многоступенчатой космической ракеты": запускается целиком, а использованные куски по дороге отваливаются.
Главное не наличие проблем, главное способность их решать.
У каждой ошибки есть Имя и Фамилия

STS

очень близко к реальности
!

Theoristos

Цитировать
ЦитироватьТак и я об этом толкую. <> к флеш-памяти термин "прошивка" неприменим.
Если термин применяется, значит он применим. Со временем какой-то вариант станет общеупотребительным, а остальные варианты исчезнут. Поживем-увидим.

Прошивкой часто называют [пере]программирование требующее отдельные программаторы и отключение устройства.

eng. Alex

Цитировать
Цитировать
ЦитироватьТак и я об этом толкую. <> к флеш-памяти термин "прошивка" неприменим.
Если термин применяется, значит он применим. Со временем какой-то вариант станет общеупотребительным, а остальные варианты исчезнут. Поживем-увидим.

Прошивкой часто называют [пере]программирование требующее отдельные программаторы и отключение устройства.

Не обязательно. Если надо новую версию программы перезаписать в устройство с FLASH памятью, то говорят просто перепрошить или прошить. При этом, отсоединение не обязательно, может использоваться специальный электрический или оптический разъём, предусмотренный для этого при проектировании изначально. Сейчас все сложные устройства так проектируют, ибо надо чтобы было как можно больше возможностей отладить ПО, не разбирая конструкцию. Время разработки сейчас критично.

zyxman

А я думаю что источник слова "прошивка" все-же сленг, и для меня "прошивка" это не только процесс а собственно содержимое.

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

И почти в любом случае во время смены прошивки устройство неработоспособно (а может с высокой вероятностью стать неработоспособным после смены прошивки), а при загрузке/смене программы нет таких сложностей и сломать устройство программой обычно маловероятно.
Вот и получается что нужно совсем отдельное слово.

И проблема в том, что на западе, который законодатель мод, давное уже ввели два слова - software и firmware, а у нас традиционно тормозят, поэтому и пошло старое известное "прошивка".
"Демократия, это когда царь умный, а также добрый и честный по отношению к своим холопам".
--
Удача - подготовленный успех!

eng. Alex

ЦитироватьА я думаю что источник слова "прошивка" все-же сленг, и для меня "прошивка" это не только процесс а собственно содержимое.

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

И почти в любом случае во время смены прошивки устройство неработоспособно (а может с высокой вероятностью стать неработоспособным после смены прошивки), а при загрузке/смене программы нет таких сложностей и сломать устройство программой обычно маловероятно.
Вот и получается что нужно совсем отдельное слово.

И проблема в том, что на западе, который законодатель мод, давное уже ввели два слова - software и firmware, а у нас традиционно тормозят, поэтому и пошло старое известное "прошивка".

Саму прошивку вы, вероятно, не застали. :) Изначально прошивка -- это процесс перепрограммирования ПЗУ на ферритовых сердечниках (колечках) методом продевания проводника через колечки. Выглядела память примерно так:

Процесс очень напоминал шитьё или даже вышивание, откуда и термин. Конечно же это -- слэнг, к которому сейчас уже все привыкли и распространили на версии ПО, которыми, собственно, прошивают. Естественно, перешить можно было только в промышленных условиях, а когда это не удавалось, то пытались где возможно использовать программные вставки (то, что на западе называется patch). Техника развивается, и перешивать стало возможно проще, ибо появились EEPROM и FLASH, причём русскими эквивалентами названий этих технологий практически не пользуются из-за их громоздкости и труднопроизносимости при повседневном общении.

Firmware -- это, скорее, функционально отличное ПО (software), предназначенное для правильной работы железа (hardware), к примеру, BIOS для персональных компьютеров с интеловской архитектурой. Оно не обязательно прошивается, а может и загружаться во время инициализации аппаратного компонента в его оперативную память. Для удобства описания сейчас сложилость следующее разделение:

Firmware -- ПО обеспечивающее работу железа и управление им.
Operating System -- опарационная система -- базовый сервис для работы всех программ.
Middleware -- функциональный сервис для пользовательских программ, к примеру, приём и декодирование ТВ-сигнала или переключение ТВ-каналов.
Application software (или просто software) -- сами пользовательские программы -- то, для чего вся система придумана.

Есть ещё множество других терминов и подклассов. На самом деле, даже вышеприведённая классификация довольно условна, ибо всё зависит от аппаратуры или проекта. Чем они больше, тем больше категорий на которые происходит деление, ибо главное -- ясный язык общения между разработчиками в проекте или в одной области. Глобальной стандартизиции понятий добиться не удастся, да это и не нужно.

zyxman

ЦитироватьСаму прошивку вы, вероятно, не застали. :) Изначально прошивка -- это процесс перепрограммирования ПЗУ на ферритовых сердечниках (колечках) методом продевания проводника через колечки.

Да, память на ферритовых сердечниках не застал.
Но хорошо застал однократно программируемые ПЗУ, и УФ стираемые ПЗУ, и дороговизну и даже в некоторой степени дефицит всех вообще ПЗУ, и программаторы стоившие как пол компьютера..
Поэтому хорошо запомнилось, насколько было сложно поменять прошивку ПЗУ.

ЦитироватьFirmware -- это, скорее, функционально отличное ПО (software), предназначенное для правильной работы железа (hardware), к примеру, BIOS для персональных компьютеров с интеловской архитектурой. Оно не обязательно прошивается, а может и загружаться во время инициализации аппаратного компонента в его оперативную память.
Дело не в том, где хранится тот-же BIOS и как он используется (у меня например на компьютере FreeBSD - она после загрузки вообще не использует BIOS), а в том, что чтоб его сменить, нужно делать намного более сложные телодвижения, чем для загрузки пользовательской программы.

Типичный случай мобилки - в многих из них можно загрузить пользовательское приложение (software), прямо из Интернета, без какого-либо дополнительного оборудования, но для смены firmware нужно специальный кабель и компьютер со специальной программой.

Кстати, и на компьютерах тоже применяются заплатки - на макинтошах раньше фактически бОльшая часть ОС была прямо в ПЗУ, а с дисков загружались настройки и заплатки.
"Демократия, это когда царь умный, а также добрый и честный по отношению к своим холопам".
--
Удача - подготовленный успех!

eng. Alex

ЦитироватьДа, память на ферритовых сердечниках не застал.
Но хорошо застал однократно программируемые ПЗУ, и УФ стираемые ПЗУ, и дороговизну и даже в некоторой степени дефицит всех вообще ПЗУ, и программаторы стоившие как пол компьютера..
Поэтому хорошо запомнилось, насколько было сложно поменять прошивку ПЗУ.

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


ЦитироватьДело не в том, где хранится тот-же BIOS и как он используется (у меня например на компьютере FreeBSD - она после загрузки вообще не использует BIOS), а в том, что чтоб его сменить, нужно делать намного более сложные телодвижения, чем для загрузки пользовательской программы.

Типичный случай мобилки - в многих из них можно загрузить пользовательское приложение (software), прямо из Интернета, без какого-либо дополнительного оборудования, но для смены firmware нужно специальный кабель и компьютер со специальной программой.

Прогресс не отменить, сейчас перешить firmware в Nokia (например, 6700) так же легко, как и поставить программку на него. Из интренета сливается и перешивается самостоятельно, даже кабель не надо, ибо подключение через Bluetooth. Можно ещё легче, просто с телефона, тогда он через GPRS (или EDGE), сливает себе новую прошивку и сам себя перепрограммирует. Ещё десять лет назад, затрудялись сказать когда же такое наступит. :)

ЦитироватьКстати, и на компьютерах тоже применяются заплатки - на макинтошах раньше фактически бОльшая часть ОС была прямо в ПЗУ, а с дисков загружались настройки и заплатки.

Выкручиваются как могут, всё зависит от изначально заложенных конструкторских решений.

Parf

Получается, повторному использованию кода на уровне "железа" мешает уникальность спутников? Это грустно... Хотя, есть же спутники связи, или, допустим, метеорологические спутники. Они летают сериями, да и софт для них должен быть более или менее одинаковый?

Ещё интересно: применяется ли повторное использование кода на "вычислительном" уровне? Наверно, можно создать стандартные библиотеки, хранящие часто используемые функции для КА. Вот, например, одни и те же навигационные вычисления часто повторяются у разных аппаратов?
Россия, вверх!

Инженер проекта

ЦитироватьСаму прошивку вы, вероятно, не застали. :) Изначально прошивка -- это процесс перепрограммирования ПЗУ на ферритовых сердечниках (колечках) методом продевания проводника через колечки. Выглядела память примерно так:

Даааа... понастальгировал  :)
«И каждый мнит себя стратегом,
Смотря на бой со стороны»

PIN

ЦитироватьЕщё интересно: применяется ли повторное использование кода на "вычислительном" уровне? Наверно, можно создать стандартные библиотеки, хранящие часто используемые функции для КА. Вот, например, одни и те же навигационные вычисления часто повторяются у разных аппаратов?

Из того, с чем лисно сталкивался - максимум стандартные библиотеки Ады и C. Инода и то, и другое, когда бортовое ПО написано и на том, и на другом. На уровне исходников код кочует от аппарата к аппарату или от носителя к носителю очень часто. о5-таки, сугубо по своей практике сужу.

LRV_75

Понравилось, рабоче - крестьянская корпорация  :wink:

ЦитироватьЕсли начали вспоминать холивары «какой язык программирования круче», добавлю-ка я и свои пять копеек. В 1998 году случилась эталонная ситуация для подобной проверки.

Лос-Анджелес. Монтируется аппаратура на корабле. Задача — принять телеметрию и отобразить в нужном виде на экран. На корабле три изолированных по национальному или производственному признаку сегмента, куда «чужих» не пускают. Отображением в одном сегменте занимался я, в другом — американцы из фирмы «A. S.», в третьем — программеры из рабоче-крестьянской корпорации. Задачи были весьма схожи: принять, обработать, отобразить. Отображение требовалось разное, но это уже неважно.

Американцы не задержались на корабле больше недели. Приехали, поставили софт, запрограммировали, получили бабки, уехали. Тихо-мирно, молча. Никаких претензий, никаких проблем. Язык программирования — Visual Basic.

Я приехал на неделю раньше американцев и уехал дней на десять позже — уж очень хотелось встретить Новый год дома. Реально я потратил недели две времени на отображение, а потом со скуки прикручивал к программе скриптовый язык для изменения сценариев. Язык программирования — Delphi.

Программеры рабоче-крестьянской корпорации приехали вместе со мной, но встречали Новый год вдали от дома. И Старый Новый год — тоже. Потом я просто перестал за этим следить. Язык программирования — Visual С++.

Для себя из этой истории я вынес критерий оценки собственной работы: количество усилий, потраченных для решения задачи, разделённое на количество заработанных килобаксов. Если сидишь на окладе, сложных проблем не возникает и нет особой нужды решать проблему быстро, то С++ вне конкуренции — программу любой сложности можно писать и отлаживать практически вечно, регулярно получая оклад. Если присутствует элемент сдельщины, то к С++ надо прибегать в последнюю очередь. Ведь крутизна программера — не в синтаксисе исходников, а в толщине его кошелька.
http://ithappens.ru/story/3099
Главное не наличие проблем, главное способность их решать.
У каждой ошибки есть Имя и Фамилия