LINUX.ORG.RU

Литература по программированию взаимодействия с ЖД(можно без ОС, чисто бинарник на машине).

 , , , ,


0

1

Здравствуйте!
Есть ли литература по чисто взаимодействию с устройствами вне среды какой-либо ОС или в крайнем случае в UNIX(Linux)? Интересуют старые жесткие диски ATA(для экспериментов есть MAXTOR STM3160815AS) и их прошивка. Допустим, написал на ассемблере/C, скомпилировал бинарник, записал на флешку в загрузочный сектор, загрузился, перепрошил диск и молодец.
Что посоветуете?
У меня даже есть .ldr файл с самой прошивкой для MAXTOR STM3160815AS, как Я понял этот файл и есть сама прошивка. Но как записать эту прошивку в флешку жесткого диска и оверлеи блинов ЖД(или куда там еще) Я не знаю. Поэтому хочу изучить взаимодействие с жестким диском и какие команды и как и куда посылать, чтобы записать на него прошивку. Можно на ассемблере, можно на C.
Готовой программы для заливки прошивки .ldr так и не нашел.
Прошивка вроде тут:
http://files.hddguru.com/download/PC-3000-UDMA Support/Seagate/Barracuda 7200...
Диск рабочий!
Провода и прочие манипуляции с железом не интересуют!
Только программная прошивка, только программирование и взаимодействие с ЖД интересно!!!
Зачем? — любопытство.



Последнее исправление: Mindincrash (всего исправлений: 4)

Ответ на: комментарий от Deleted

Что конкретно курили, можете вспомнить? Достаточно ли этого будет, чтоб написать программу для заливки уже готовой прошивки на исправный ЖД?

Mindincrash
() автор топика
Ответ на: комментарий от Deleted

P.S.: Если там привязка к DOS, то не устроит. Мне или к Linux привязка или вообще без привязки к ОС. Главное чтоб по взаимодействию с ATA, с ЖД, было много и внятно.

Mindincrash
() автор топика

Есть ли литература по чисто взаимодействию с устройствами вне среды какой-либо ОС

Конечно. Черновики стандарта легко гуглятся по «ATA command set».

интересно

Не интересно тебе. Иначе бы ты погуглил.

i-rinat ★★★★★
()
Ответ на: комментарий от Mindincrash

Могу.

Вот эту.

Достаточно ли этого будет, чтоб написать программу для заливки уже готовой прошивки на исправный ЖД?

Нет.

Судя по топику, Вы только начинаете путь в асме. Для начинающего сразу вот так взять и написать программу для манипуляции с прошивкой слишком сложная задача.

upd: вспомнил, что изучал и другие книги по ассемблеру.

Deleted
()
Последнее исправление: rht (всего исправлений: 1)
Ответ на: комментарий от i-rinat

ATA command set

Есть ли какие-то примеры программирования ЖД(без дополнительных проводов)?
Не сухая документация по ATA, а что-то более живое? Желательно на русском.
Я конечно могу, не спеша, со словарем, но Я не уверен, что освою. Тут какие нужны предварительные знания?

Mindincrash
() автор топика
Ответ на: комментарий от Deleted

Это ещё почему?

Ну нет у меня DOS под рукой. Да и Я хочу написать универсальный прошивальщик, который бы просто грузился с флеши, ну на крайняк прошивальщик грузящийся с Linux'a.

Mindincrash
() автор топика
Ответ на: комментарий от Deleted

Для начинающего сразу вот так взять и написать программу для манипуляции с прошивкой слишком сложная задача.

Допустим, но с чего начать, чтобы было практично? Я хочу не просто математические расчеты или хэллоуворды, а взаимодействие с железкой. Большинство книг, наверное, про хэллоуворды.

Mindincrash
() автор топика
Ответ на: комментарий от Mindincrash

Тут какие нужны предварительные знания?

Большое желание нужно. И умение искать информацию. В книгах в готовом виде её нет, так как это просто не нужно большому количеству людей.

Если хочешь узнать подробности работы прошивальщика — просто берёшь прошивальщик и смотришь, как он работает. Благо, они суть небольшие программки под DOS.

Ещё тебе нужно знать, под что ты прошивку пишешь. Какой там микроконтроллер, как всё работает? Как ты её вообще отлаживать собрался?

i-rinat ★★★★★
()
Ответ на: комментарий от Mindincrash

Эмулятора ДОС достаточно, чтобы изучить ассемблер.

Ну бог с ним, с ДОСом. Есть мануалы ассемблеров под linux. Главное - точно знать, что требуется.

Можно и на Си написать.

Deleted
()
Ответ на: комментарий от i-rinat

Благо, они суть небольшие программки под DOS.

Можете чисто по-человечески помочь найти прошивальщик диска MAXTOR STM3160815AS
Ну или хотя бы запрос подсказать.
Если найдется, то дизассемблирую и попробую разобраться в командах.
Спасибо, вот вы сейчас хорошо ответили!

Какой там микроконтроллер, как всё работает?

Вот этим утром и займусь: поищу какой там микроконтроллер, его команды. Также поищу уже готовую программу-прошивальщик для ЖД MAXTOR STM3160815AS, хотя не находил ранее.

Mindincrash
() автор топика
Ответ на: комментарий от Deleted

Ну бог с ним, с ДОСом. Есть мануалы ассемблеров под linux. Главное - точно знать, что требуется.

Можно и на Си написать.

Хочу свой прошивальщик ЖД написать и разобраться в прошивке с возможностью её модификации.

Mindincrash
() автор топика
Ответ на: комментарий от Mindincrash

Понятно =)

Начинать нужно с архитектуры, с ввода-вывода, с принципов работы «железа».

Deleted
()
Ответ на: комментарий от Mindincrash

прошивальщик ЖД

Прошивается контроллер ЖД, а не сам диск. Стало быть, Вам нужна архитектура контроллера и принципы его работы с диском. Т.е. спецификации.

Deleted
()
Ответ на: комментарий от Mindincrash

Ну или хотя бы запрос подсказать.

Идёшь на сайт Seagate и по серийному номеру ищешь прошивку и прошивальщик.

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

Предвижу новую тему: «где взять дизассемблер для ЖД MAXTOR STM3160815AS».

i-rinat ★★★★★
()
Ответ на: комментарий от Deleted

Прошивается контроллер ЖД, а не сам диск.

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

Mindincrash
() автор топика
Ответ на: комментарий от i-rinat

Предвижу новую тему: «где взять дизассемблер для ЖД MAXTOR STM3160815AS».

=)) Когда я был школьником, было модно ходить в библиотеку. А теперь, видимо, задавать вопросы на ЛОРе.

Deleted
()
Ответ на: комментарий от i-rinat

Идёшь на сайт Seagate и по серийному номеру ищешь прошивку и прошивальщик.

MAXTOR STM3160815AS это тоже Seagate? Ок, поищу, спасибо! Серийный номер? Не модель девайса???

Mindincrash
() автор топика
Ответ на: комментарий от Deleted

Когда я был школьником, было модно ходить в библиотеку.

Это в каких годах было? На моей памяти такого не было.

i-rinat ★★★★★
()
Ответ на: комментарий от Mindincrash

Серийный номер? Не модель девайса???

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

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

Я всё это знаю, потому проделал описанные действия. А ты всё ждёшь, что тебе на блюдечке принесут.

i-rinat ★★★★★
()
Ответ на: комментарий от Mindincrash

Взаимодействуют через интерфейс,очевидно. Интерфейс - совокупность программно-аппаратных компонент. Вам, короче, нужно читать про архитектуру ЭВМ. Например, здесь.

Deleted
()
Ответ на: комментарий от i-rinat

Нагуглить фотку аналогичного устройства, узнать серийник.

Зачем фотку? )
smartctl выдает Serial Number:

Device Model:     MAXTOR STM3160815AS
Serial Number:    6RA2SDYT
Firmware Version: 3.AAD

Mindincrash
() автор топика
Ответ на: комментарий от anonymous

вспомнить про флопость

Если Вы про флопик и дискеты, то Я ними ни разу не пользовался, не застал то время. Да и давно как менял железки и выпилил за ненадобностью. А так — старый ЖД получил за ненадобностью, вот и решил поизучать программирование и поэкспериментировать, поиграть, авось... Спасибо, хороший мануал, подробный, но мне еще рано его читать.

Mindincrash
() автор топика

Мне кажется, в этой теме не хватает академичности :) Гордеев А.В., Молчанов А.Ю. Системное программное обеспечение http://www.studfiles.ru/preview/985265/ посмотри. Не самая плохая университетская книга

Deleted
()
Ответ на: комментарий от Mindincrash

Если рано читать это, тогда не стоит начинать ковырять прошиву, без основ знаний о работе жд. Почему отправляю к старью, там все достаточно просто и появится опыт работы с дисковыми накопителями как таковыми, потом можно усложнять.

anonymous
()
Ответ на: комментарий от i-rinat

«где взять дизассемблер для ЖД MAXTOR STM3160815AS».

Это как раз не проблема - большинство используемых в микроконтроллерах HDD и SSD архитектур radare2 понимает.

XVilka ★★★★★
()
Последнее исправление: XVilka (всего исправлений: 1)
Ответ на: комментарий от XVilka

В radare2 ещё въезжать нужно. По сравнению с IDA кривая обучения круче.

i-rinat ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.