Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Generare un programma freestanding (che giri senza sistema operativo) con visual c (2008)

1 view
Skip to first unread message

Alberto

unread,
Nov 29, 2009, 12:20:05 PM11/29/09
to

Salve a tutti,

E' la prima volta che posto su questo gruppo, e forse considererete la
mia domanda un po' fuori tema.

Sapete se esiste un sistema per utlizzare il Visual C++ per scrivere
programmi "freestanding" embededd, cioᅵ che girano senza sistema
operativo o comunque senza windows (cioᅵ non per Windows Embedded) ?

In pratica vorrei scriver un BIOS usando il VC, cioᅵ un programma che
parta da ROM, senza supporto di un sistema operativo preinstallato.

Mi servirebbe un linker compatibile con i file .obj generati da
VisualStudio C++ (non managed), in grado di mappare i segmenti con la
flessibilitᅵ dei linker ld dello GNU GCC e di generare l'output finale
in formato binario (o srec).

Con il linker della MS non mi sembra possibile: apparentemente si puᅵ
linkare un programma indipendente da windows, ma si puᅵ specificare solo
l'indirizzo base di tutti i segmenti, codice e dati compresi, mentre a
me servono basi diverse per segmenti diversi. Nel caso dei dati
inizializzati (sezioni .DATA) sarebbe comodo poter creare delle immagini
ad indirizzi diversi da quelli di link (per creare una copia in ROM da
ricopiare in RAM all'avvio del programma), ma non ᅵ essenziale.
Anche la strada di utilizzare l'output del linker VC per ottenere
un'immagine da copiare in RAM al boot, tramite un piccolo prologo
assembler, non ᅵ percorribile in quanto il mio BIOS non ha abbastanza
memoria e quindi il codice deve necessariamente rimanere in ROM.

In alternativa sarᅵ costretto a passare al GCC, ma per varie ragioni
preferirei utilizzare il VisualC (ho giᅵ fatto un tentativo con il
linker GNU del MinGW, ma non "comprende" il formato .obj del VC++).

0 new messages