LINUX.ORG.RU
ФорумTalks

Есть ли литература по программированию на ASM/C без привязки к ОС и с взаимодействием с аппаратной частью(ЖД интерес больше всего)

 , ,


0

2

То есть сами средства программирования в ОС, в ОС собираем бинарник, но программы работающие без использования каких-либо средств ОС и взаимодействующие с ЖД. Хотелось бы так перепрошить жесткий диск.

Остановись, мамкин хакер

До ОС идёт BIOS/UEFI. Т.е. ты либо хочешь свою микро-ОС, либо свой биос, либо UEFI-приложение.

Stil ★★★★★
()
Ответ на: комментарий от tiinn

А чем вас DOS не устраивает? Полный доступ к ЖД.

Не всегда под рукой есть DOS.

До ОС идёт BIOS/UEFI. Т.е. ты либо хочешь свою микро-ОС, либо свой биос, либо UEFI-приложение.

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

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

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

В чём проблема прошивать из под любой доступной ОС?

hateyoufeel ★★★★★
()
Ответ на: комментарий от vasya_pupkin

Тебе тут отсутствие ОС не поможет, тут надо конкретную железку ковырять.

Ну а что? Intel'овские команды почти везде совместимые и ATA-команды тоже, вроде. Специфические оманды, наверное, можно и не использовать, обойтись без них.

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

Запиши на туже флешечку, где будет записано твоё мегаприложение. Не благодари.

Страшный велосипед. А если Я хочу, чтобы моё приложение загружалось всегда перед загрузкой основной ОС и перепрошивало ЖД, то каждый раз должен тянуть за собой целый DOS? Ну как пример.

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

В чём проблема прошивать из под любой доступной ОС?

Не найти программу-прошивальщик. Тем более конечная цель не прошить, а понять процесс прошивки и возможность модификации прошивки.

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

А если Я хочу, чтобы моё приложение загружалось всегда перед загрузкой основной ОС и перепрошивало ЖД, то каждый раз должен тянуть за собой целый DOS? Ну как пример.

В чём проблема тянуть ДОС ? Это 3 файла весом <64k. Ты такой страшный оптимизатор штоле ? Ну-ну.

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

Тем более конечная цель не прошить, а понять процесс прошивки и возможность модификации прошивки.

Несомненно, ты поддержку файловой системы уже приготовился написать и поддержку диска, да ? Ты, например, откуда файл прошивки брать собрался ? От б-женьки ?

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

Ну а что? Intel'овские команды почти везде совместимые и ATA-команды тоже, вроде.

Ну, да. Одно непонятно, если ты столь крут, зачем тебе какая-то книга ? Дело, мил-человек, не в командах, а как эти команды в программу сложить. Так вот, пока ты сложишь программу, тебе придётся её отлаживать как минимум. А отладчик ты тоже сам напишешь ? Или опять б-женька отладит ?

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

Несомненно, ты поддержку файловой системы уже приготовился написать и поддержку диска, да ? Ты, например, откуда файл прошивки брать собрался ? От б-женьки ?

Так зачем мне с нуля писать прошивку, Я хотел бы её только подправить, не испортив.

В чём проблема тянуть ДОС ? Это 3 файла весом <64k.

Я думал там метров 7, но раз так, то не много.

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

Так зачем мне с нуля писать прошивку, Я хотел бы её только подправить, не испортив.

Вот смотри. Ты программа, загрузилась без ОС. Допустим, получил ты файл прошивки. И что ? Как ты её собрался писать на флешку ? Думаешь, fopen, да ? Хеее, нет. Не майся дурью, изучай ДОС.

lenin386 ★★★★
()
Ответ на: комментарий от lenin386

откуда файл прошивки брать собрался

С флешки. Например: начало флешки — прошивальщик, а после него данные с прошивкой. Есть же готовые файлы с прошивкой, вот вроде он(самый нижний):
http://files.hddguru.com/download/PC-3000-UDMA Support/Seagate/Barracuda 7200...
Там есть файл .ldr и это вроде и есть прошивка.

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

Тебя пора банить. За что ты тот диск так не любишь?

sehellion ★★★★★
()
Ответ на: комментарий от lenin386

Вот смотри. Ты программа, загрузилась без ОС. Допустим, получил ты файл прошивки. И что ? Как ты её собрался писать на флешку ? Думаешь, fopen, да ? Хеее, нет. Не майся дурью, изучай ДОС.

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

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

При чем тут прошивка с нуля, если ты хочешь написать программу, которая эту прошивку прошьет?

leave ★★★★★
()
Ответ на: комментарий от lenin386

Ты не прошьешь диск через int13h.

Есть ли литература по программированию на ASM/C без привязки к ОС

Ну, не прошьешь, но знакомство с int13h полезно с исторической точки зрения.

А ещё ТС может посмотреть «ОС на Assembler»: форум.

quickquest ★★★★★
()
Ответ на: комментарий от lenin386

А чего ты в каждом комментарии на г-но исходишь? Комплексы не жмут?

CaptainFarrell
()
Ответ на: комментарий от Suigintou

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

lenin386 ★★★★
()
Последнее исправление: lenin386 (всего исправлений: 1)

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

arturpub ★★
()

жёсткий диск - специальный компьютер, программируется как и любой другой компьютер.

dimon555 ★★★★★
()

Ну для взаимодействия с ЖД тебе нужна или Сетунь, или ГИД-УРАЛ, а если прямого общения с НЖМД хочешь - то забей.

cnupm
()

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

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

читай книги

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

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

osdev.org, мануалы Intel, спецификации ATA.

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

для взаимодействия с ЖД тебе нужна или Сетунь, или ГИД-УРАЛ

Не пойдёт. Только IBM 5100 можно использовать.

Suigintou ★★★★★
()
Ответ на: комментарий от vasya_pupkin

Наличие команды не означает, что она работает :)

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

Прошивка у тебя _уже_ на флешке.

Нет у меня на USB-флешке прошивки, а даже если бы и была, то это только прошивка, а не прошивальщик. Или вы о какой флешке речь ведете?

Так зачем тебе париться?

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

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

Или вы о какой флешке речь ведете?

О той флешке, с которой эта прошивка загружается. С USB-флешкой ты будешь долго мучиться, так как тебе придётся реализовать не только USB, но ещё blockdevice и какую-нибудь простенькую FS.
Тут проблема в том, что на контроллеры жёстких дисков даже даташитов обычно нет в открытом доступе, а те, что есть, утекли из какой-нибудь конторы. Конечно, есть такая литература, но выдаётся она производителем контроллера под подписку о неразглашении. Иначе бы можно было бы написать универсальный прошивальщик и зашивать вирусы прямо в фирмварь жёсткого диска, так что от них переустановка ОС не спасёт.

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

С USB-флешкой ты будешь долго мучиться

А реально ли вообще без дополнительных носителей? Вот лежит на ЖД прошивка и с неё он бы и перепрошился. Но тогда наверное точно придется шить из-под ОС.

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

Вот так.

Не-не-не, цель всё делать без физического вмешательства. Но спасибо.

даже даташитов обычно нет в открытом доступе, а те, что есть, утекли из какой-нибудь конторы.

Я так понимаю Product Manual это вообще почти ничто?
http://www.manualslib.com/manual/99856/Maxtor-Stm3160215as.html#manual

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

Это мануал на жёсткий диск. Тебя же интересует контроллер. Тебе известно название контроллера?

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