Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Dmitry Ponyatov                      2:5057/18.29   19 Aug 2006  13:56:52
 To : Dmitry E Oboukhov
 Subject : получить чистый бинарник
 -------------------------------------------------------------------------------- 
 
  DEO> ну и компиляция
 
  DEO> gcc -c main.c -o main.o
  DEO> gcc main.o -o test.elf
 
  а должно быть 
 
  gcc -nostdlib -o main.o -c main.c              
  targetasm startup.asm
  ldd -f binary -T 0x10000 -o main.bin startup.o main.o
  bin2hex main.bin main.hex
 
  точноть параметров ldd не гарантируют -- думаю тут меня поправят
 
  -f binary включает линковку в бинарник
  -T 0x10000 устанавливает в бинарнике ORG на второй 64К банк памяти
 
  качни с нета пяток мелких проектов для твоей целевой платформы, и см. Makefile
       
 
  и кстати твой _main должен вызываться стартапом (у меня для i386 это пяток
 команд на асме), который должен по крайней мере выставить стек, и самый правда
 необязательный геморрой, который я так и не осилил -- инициализировать менеджер
 кучи, и в сишном коде реализовать свой аллокатор памяти, и заставить работать
 ООПшные фигни
 
 вот мой стартап по памяти:
 
 .org 0x10000  ; код начинается во вторых 64К линейной памяти 
    ; (protected mode 4Gb flat включался дискетным загрузчиком)
 
 _startup:
    cli
    mov byte [0xB8000+0],'X'; \ вывод желтого X в левом верхнем
    mov byte [0xB8000+1],14 ; / углу экрана для контроля
    mov esp,0x10000    ; стек размещается в нижних 64К ОЗУ
    call _main                            
    hlt     ; останов на случай возврата из _main
 
 при вызове линкера вначале идет startup.o и он размещается с адреса -T 0x10000,
 за ним помещается твой main.o и прочие модули
 
 ---
  * Origin: forth@km.ru (2:5057/18.29)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 получить чистый бинарник   Dmitry E. Oboukhov   17 Aug 2006 20:11:09 
 Re: получить чистый бинарник   Alex Korchmar   17 Aug 2006 22:19:38 
 получить чистый бинарник   Dmitry E. Oboukhov   18 Aug 2006 10:37:25 
 Re: получить чистый бинарник   Alex Korchmar   18 Aug 2006 12:31:26 
 получить чистый бинарник   Dmitry E. Oboukhov   18 Aug 2006 13:28:30 
 Re: получить чистый бинарник   Alex Korchmar   18 Aug 2006 14:52:16 
 получить чистый бинарник   Dmitry E. Oboukhov   18 Aug 2006 15:54:04 
 получить чистый бинарник   Alexey Vissarionov   18 Aug 2006 16:15:36 
 получить чистый бинарник   Andrew Kant   18 Aug 2006 15:08:31 
 Re: получить чистый бинарник   Alex Korchmar   18 Aug 2006 17:59:57 
 получить чистый бинарник   Dmitry E. Oboukhov   18 Aug 2006 18:32:12 
 Re: получить чистый бинарник   Alex Korchmar   18 Aug 2006 14:58:24 
 получить чистый бинарник   Dmitry E. Oboukhov   18 Aug 2006 15:49:42 
 Re: получить чистый бинарник   Eugene Grosbein   18 Aug 2006 20:33:35 
 Re: получить чистый бинарник   Alex Korchmar   18 Aug 2006 19:10:29 
 получить чистый бинарник   Dmitry E. Oboukhov   18 Aug 2006 20:25:29 
 Re: получить чистый бинарник   Grishka Chervonets   19 Aug 2006 13:26:56 
 Re: получить чистый бинарник   Dmitry A. Nikitin   24 Aug 2006 03:03:42 
 Re: получить чистый бинарник   Grishka Chervonets   24 Aug 2006 14:08:44 
 Re: получить чистый бинарник   Dmitry A. Nikitin   26 Aug 2006 23:07:32 
 Re: получить чистый бинарник   Grishka Chervonets   27 Aug 2006 13:53:08 
 получить чистый бинарник   Dmitry E. Oboukhov   28 Aug 2006 11:16:39 
 Re: получить чистый бинарник   Grishka Chervonets   29 Aug 2006 14:36:36 
 получить чистый бинарник   Dmitry E. Oboukhov   29 Aug 2006 16:34:21 
 получить чистый бинарник   Sergey Khvatov   29 Aug 2006 17:21:09 
 получить чистый бинарник   Dmitry E. Oboukhov   29 Aug 2006 19:07:22 
 получить чистый бинарник   Sergey Khvatov   30 Aug 2006 11:02:22 
 получить чистый бинарник   Dmitry E. Oboukhov   30 Aug 2006 11:43:01 
 Re: получить чистый бинарник   Grishka Chervonets   30 Aug 2006 13:18:20 
 получить чистый бинарник   Dmitry Ponyatov   19 Aug 2006 13:56:52 
 получить чистый бинарник   Dmitry Ponyatov   19 Aug 2006 14:09:02 
 получить чистый бинарник   Dmitry Ponyatov   19 Aug 2006 17:17:44 
 получить чистый бинарник   Dmitry Ponyatov   19 Aug 2006 13:54:36 
Архивное /ru.linux/2426973afca56.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional