microsoft / microsoft/vscode-cpptools

request to support sdcc mcs51 declarations (__sfr, __sbit, etc)

Aperta
#2,499 26 commenti 75 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

embedded Feature Request Language Service more votes needed Visual Studio
Lingua principale
TypeScript
Stelle
6.2k
Fork
1.7k
Merge medio
14h 46m
PR unite (30g)
61

Descrizione

sdcc, which is quite popular open-source, free embedded compiler, uses special extensions for intel 8051 (aka mcs51) define special function registers and other similar things (like code, ram space, etc)
e.g.

__sfr __at (0xC0) P4   ;
__sbit __at (0xC0) P4_0 ;

extensions are discussed further in section 3.5.1 of sdcc user guide:
http://sdcc.sourceforge.net/doc/sdccman.pdf

We are using sdcc for a new platformio intel-mcs51 platform, (https://github.com/platformio/platform-intel_mcs51) and would love to be able to use the vscode cpptools intellisense here to peek at register definitions, etc.

I see this was previously discussed and rejected for keil C51 compiler at #1821, however I think this is quite different in that Keil is closed/proprietary/non-free (and has it's own ide) whereas sdcc is completely free and opensource, and sdcc+platformio+vscode+cpptools are getting really close to making full open-source ide stack

tagging a few stakeholders:
@ivankravets @spth @znhocn

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia leggendo la sezione 3.5.1 della SDCC user guide e la discussione precedente in issue #1821. Non sono indicati file sorgente né test, quindi individua prima la gestione esistente delle dichiarazioni specifiche del compilatore, poi definisci il completamento in modo che IntelliSense riconosca __sfr, __sbit e le dichiarazioni correlate abbastanza bene da esaminare le definizioni dei registri.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
c, vscode
Ambito
compilers, devtools, embedded-iot
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.