2010-10-30 3 views
1

Puis-je programmer 8051 en utilisant Python? Je n'obtiens aucun des 8051 dans python environment.Python: Programmation 8051

Si quelqu'un sait, s'il vous plaît aidez-moi.

+2

Est-ce juste moi ou cette question n'a-t-elle aucun sens? Python est un langage interprété de haut niveau. Le microcontrôleur ne comprend que son jeu d'instructions. Qu'essayez-vous de faire? – delnan

+2

Assez curieusement, le dernier i7 chic comprend également seulement leur ensemble d'instructions. –

+0

@Jay: Bien sûr. Quelle est l'intention de votre commentaire? – delnan

Répondre

2

Python-on-a-Chip ressemble à peu près aussi près que vous allez obtenir. Il peut fonctionner sur certaines choses qui sont juste un peu plus costaud que le 8051.

+0

Bien! Je n'avais pas vu ça avant. – bstpierre

4

Notez le "avertissement" pour Python-on-a-Chip dit:

« Le PyMite VM ne dispose pas des:

Un intégré compilateur Tout des bibliothèques Python (sans piles) Une solution prête à aller pour les débutants (vous devez savoir C et comment travailler avec les micro-contrôleurs) »

Ainsi, si le questionneur de objectif pour python était d'éviter de traiter avec l'étrangeté du 8051, cela ne peut pas aider. En particulier, le 8051 est une architecture de type "Harvard", avec des espaces de code RAM et ROM séparés, et une RAM interne très limitée, et une RAM externe plus grande accessible uniquement via le chargement du registre DPTR spécial et la lecture ou écriture indirecte, plus il n'y a pas de support de pile RAM externe, ni de support intrinsèque pour les variables basées sur la pile. Ainsi, la plupart des langages de haut niveau "généraux" ont besoin de beaucoup de personnalisation et de retravailler pour fonctionner sur le 8051. Un bon compilateur C spécifique à 8051 peut masquer plusieurs de ces détails de bas niveau, mais vous finissez par brûler beaucoup de cycles pour faire des choses qui sont des instructions uniques sur les processeurs de bureau et même sur la plupart des architectures de contrôleurs embarqués plus récents, et même si vous pouvez vivre avec ce niveau d'inefficacité, vous devez encore trier les différents espaces de mémoire et autres spécificités. Donc, faire marcher Python sur le 8051 est un projet difficile pour quelqu'un qui connaît bien son architecture originale. Si votre objectif est de vider un python sur le 8051 pour éviter d'avoir besoin d'apprendre ces bizarreries, je ne suis pas sûr que ce soit possible. (Mais, je suppose que les compilateurs C ne cessent de s'améliorer ...)

Questions connexes