Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2858 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Comment programmer en C sur du homemade

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comment programmer en C sur du homemade

n°1416958
abaddon200​2
Posté le 31-07-2006 à 21:17:09  profilanswer
 

Bonsoir à tous.
 
Je suis un débutant en informatique et, pour être honnête, ne m'y connais pas vraiment. Voilà, j'ai des notions de programmations en langage C et j'aimerai pouvoir écrire des applications avec ce langage.
 
J'ai conçu un mini-ordinateur. J'y ai choisi un processeur connu et facile à mettre en oeuvre: le z80 de Zilog. Il dispose de 16ko de ROM et 32ko de SRAM, je peux cadencer de 1.25 à 5MHz. Ma machine dispose de deux ports série RS-232C, un port parallèle (même que celui du PC), un écran LCD alpha-numérique 2x16 caractères, un écran LCD graphique 320x200 pixels, gère les imprimantes classiques (grâce au port parallèle), et sait communiquer avec un clavier norme PC/AT.
 
Voilà, je m'amuse en assembleur, j'ai réussi à écrire plein de petits softs qui font plus ou moin tout ce que je veux.. Mais ça reste très plat, et j'aimerai écrire des applications plus complexes, et le C serait une belle opportunité. Je dispose d'un cross compiler (SDCC), mais je ne peux que me borner aux limites du langages, lire et écrire dans la RAM, sortir des bits sur un port de test... Somme toute, rien.
 
Alors, tout ceci pour vous poser la question suivante: Sauriez-vous comment faire pour que je puisse utiliser ce langage sur ma machine?  
 
(Exemple: que la fonction printf() écrive sur mon écran LCD.)
 
Je vous remercie d'avance pour l'énorme aide que vous pouriez m'apporter.
 
Gilbert

mood
Publicité
Posté le 31-07-2006 à 21:17:09  profilanswer
 

n°1416959
Je@nb
Kindly give dime
Posté le 31-07-2006 à 21:19:31  profilanswer
 

Tu dois avoir une doc et des libs je pense avec ton truc

n°1416962
abaddon200​2
Posté le 31-07-2006 à 21:23:24  profilanswer
 

Bah la machine est totalement inventée par moi-même... Je l'ai faite pour un travail d'école. J'en suis l'auteur, donc la doc bah je la connais, mais je n'ai fait que du hardware.. et des librairies je ne n'ai pas écrite puisque justement je ne sais pas en écrire. D'où réside ma question.

n°1417027
red factio​n
Posté le 31-07-2006 à 22:52:25  profilanswer
 

trouver un compilo C pour z80
tu peut regarder du coter de la gb aussi, vu que c a peu de chose pres le mm cpu  
http://www.devrs.com/gb/  
 
tofs de la bete ?

n°1417138
Emmanuel D​elahaye
C is a sharp tool
Posté le 01-08-2006 à 00:54:41  profilanswer
 

abaddon2002 a écrit :

Je dispose d'un cross compiler (SDCC), mais je ne peux que me borner aux limites du langages, lire et écrire dans la RAM, sortir des bits sur un port de test... Somme toute, rien.


C'est déjà pas mal.

Citation :


Alors, tout ceci pour vous poser la question suivante: Sauriez-vous comment faire pour que je puisse utiliser ce langage sur ma machine?  
 
(Exemple: que la fonction printf() écrive sur mon écran LCD.)


Il faut que tu trouve une implémentation 'freestanding' de la bibliothèque du C (c'est à dire sans système). Le principal problème est d'implémenter les flux stdin, stdout et stderr. Pour ça, il faut écrire le code de fgetc() et de fputc() (ou des fonctions de bas niveau nécessaires) sur lesquelles s'appuient ces fonctions.
 
Je conseille de connecter les flux stdin, stdout et stderr au port série, de façon à pouvoir brancher une simple console (ou un PC) sur ta machine.
 
Il y a aussi le problème du téléchargement du code qu'il faut traiter en priorité, car tu vas compiler sur un PC mais envoyer le code sur ta cible 'par le port série, je suppose). Il faut donc qu'au boot, la machine lance le code si il existe, ou attende le téléchargement si il n'y a pas de cod. Il faut aussi pouvoir passer une commande de telechargement (ou utiliser une demande d'action utilisateur temporisée lors du boot.
 
C'est bien toi qui a écrit le code de démarrage de la cible ?
 
Pour le moment, il fait quoi ?

Message cité 1 fois
Message édité par Emmanuel Delahaye le 01-08-2006 à 00:55:08

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1417311
abaddon200​2
Posté le 01-08-2006 à 11:29:02  profilanswer
 

Emmanuel Delahaye a écrit :


C'est bien toi qui a écrit le code de démarrage de la cible ?


oui

Emmanuel Delahaye a écrit :


Pour le moment, il fait quoi ?


Bah pour l'instant je programme sur mon PC en effet, et depuis un programamteur j'écris mon code - compilé - sur une EPROM, là où le processeur va chercher sa première instruction pour le boot.
 
Je n'ai pas écrit d'OS, donc tous les programmes que j'ai écrit servent à piloter une partie de ma machine, et certains rassemblent ces fonctions pour par exemple afficher ce que je frappe au clavier, à l'écran. ça reste très sommaire donc.
 
Mais merci beaucoup pour les informations déjà données. En gros si j'ai bien compris une fois que le compilateur sait où sont les E/S, je pourrai faire qqch de bien.
 
Merci encore.
 
EDIT: Alors je me suis inspiré du PC-DOS, la fonction fputc() fait appel à une procédure _putc:: qui elle appelle une interruption à un vecteur donné et c'est ce code d'interruption qui s'occupe d'écrire sur l'écran. Maintenant ça fonctionne en simulateur mais pas en vrai, mais ce ne sont que de petits soucis.. Merci beaucoup pour l'aide apportée! :hello:


Message édité par abaddon2002 le 01-08-2006 à 12:45:55

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Comment programmer en C sur du homemade

 

Sujets relatifs
logiciel pour apprendre à programmer[divers] Langages usuels pour programmer un logiciel
programmer un débimètre !!Comment programmer un CAN d'un microcontroleur 8051 ?
programmer une table hachageCherche un livre pour apprendre a programmer en C++.
"méthode" de file homemadeComment programmer en C pour PIC ?
[methodologie]Bien programmerAvec quel I.D.E programmer en DirectX ?
Plus de sujets relatifs à : Comment programmer en C sur du homemade


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR