|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.10.2009, 17:44 | #1 |
Регистрация: 08.10.2009
Сообщений: 8
|
Загрузка чистой программы с flash
Появилось желание написать программу, которая будет грузиться не под управлением сторонней ОС, а сразу - с загрузочного сектора (при помощи БИОС). Сразу прошу не задаваться вопросом, зачем мне это нужно; я хорошо осознаю, что написание собственной ОС занятие неперспективное. На данный момент я заинтересован только загрузчиком маленькой программы.
Итак, покопавшись в Интернет-ресурсах, я нашел ответ на свой вопрос, да только подготовка ко всей этой прелести происходит под Linux: http://gazette.linux.ru.net/lg77/art...shnakumar.html Загрузочный сектор я написать смогу. Далее - записать его нужно не на флоппи, а на флэш-диск. При том используя средства Windows (там приведен пример под Linux), желательно используя среду VS 2005 и выше. Да и потом там производят очистку исполняемого файла от заголовка, для получения "чистого" кода. Все это средствами Linux, что мне не подходит. Жду отзывов. Если кто этим занимался - опишите, пожалуйста, весь процесс и, если возможно, иллюстрируйте исходниками. |
12.10.2009, 00:35 | #2 |
somewhere else
Участник клуба
Регистрация: 17.07.2008
Сообщений: 1,409
|
На данный момент я занят той же проблемой. Будет ли BIOS эмулировать физическую структуру дискеты на флешке, я не знаю, потому пока что пробую просто записать пару секторов на флешку. Загрузчик вам так или иначе придется писать на ассемблере. Причем, лучше что бы вы его написали полностью - включая ту часть которая будет переходить в защищенный режим, так как там много чего нужно сделать с самим процессором. Например перепрограммировать localAPIC что бы внешние прерывания устройств не съезжали на эксепшены процессора. Я бы на вашем месте писал бы все на ассемблере - так как будет полный контроль происходящего. А компиляторы - они могут где попало наставить оффсетов совершенно левых, а дебаг в таком случае очень затруднен - единственное человеческое решение для дебага я видел под Linux - это оболочка для Debug-режима Bochs.
"Тяжело в учении, легко в бою" - А.В. Суворов
|
12.10.2009, 00:49 | #3 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Bochs
он же и под вин есть Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
12.10.2009, 01:03 | #4 |
somewhere else
Участник клуба
Регистрация: 17.07.2008
Сообщений: 1,409
|
Bochs да, а расширение для Debug-а только под Linux.
"Тяжело в учении, легко в бою" - А.В. Суворов
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
DynamicSkinForm - загрузка списка скинов в list Box при запуске программы | dani92 | Компоненты Delphi | 3 | 20.08.2009 19:22 |
Flash? | Tirendus | Свободное общение | 5 | 31.07.2009 13:40 |
Алгоритм подсчёта чистой прибыли (Delphi) | dmitriyzahar73 | Фриланс | 3 | 02.04.2009 16:56 |
Как сделать что бы при открытии программы база была чистой | Moel | БД в Delphi | 3 | 08.08.2007 18:19 |