Sviluppo Avanzato con NSC AppWizard & SDK per AVR-GCC

Per sviluppatori embedded e integratori che necessitano del pieno controllo dello stack firmware

Sebbene MaticStudio fornisca un ambiente visuale senza codice per progettare sistemi distribuiti basati su NSC, gli sviluppatori avanzati possono andare oltre utilizzando il NSC OS AppWizard e il relativo NSC OS Software Development Kit (SDK).

Questo flusso di lavoro consente la generazione del firmware a livello di progetto, il controllo fine degli eventi e l’accesso diretto al codice sorgente del sistema operativo NSC — ideale per chi richiede personalizzazione completa e ottimizzazione delle prestazioni.

NSC OS non include l’interprete, presente invece nei dispositivi standard programmabili con MaticStudio. Il programma è quindi profondamente integrato e compilato nativamente nel firmware, risultando ideale per soluzioni embedded con processi distribuiti basati su eventi.


Screenshot di AppWizard
AppWizard prepara facilmente tutti i file necessari selezionando e inserendo le opzioni desiderate.
Puoi eseguire nuovamente l'applicazione anche dopo aver aggiunto il tuo codice, che AppWizard preserva.

NSC AppWizard

AppWizard è uno strumento di configurazione potente che consente di:

AppWizard produce una struttura di cartelle completa con file di codice auto-generati per ciascun dispositivo, pronti per la modifica e la compilazione.

Screenshot di DisplayMaker
Progetta pagine ed elementi da visualizzare su un dispositivo con DisplayMaker incluso in AppWizard

NSC SDK e Codice Sorgente OS

Il NSC SDK include:

Gli sviluppatori possono implementare direttamente comportamenti personalizzati in C, accedere all’hardware a basso livello e ottimizzare le operazioni critiche. Le tabelle eventi e i task handler generati da AppWizard si collegano direttamente al pianificatore interno di NSC, offrendo piena trasparenza nel flusso di esecuzione.

__ ESEMPIO __ ///////////////////////////////////////////////////////////////// // IMPLEMENTAZIONE DEGLI EVENTI ///////////////////////////////////////////////////////////////// #ifdef EVENT_CLICK event click(unsigned int Clicked) { // Inserisci codice per l’input evento// (non modificare questa linea)<%%/_EVT_INPUT/ // modifica le uscite e imposta un timeout di 8 secondi se l’utente ha cliccato sull’ingresso 4 if(TESTIO(Clicked, IN4)) { setOut(this, 2, ON1, OFF2); setTimer(makeTimerInterval(0 /*h*/, 0 /*m*/, 8 /*s*/, 0 /*t*/) TIMER0); } //%%> (non modificare questa linea) } #endif ...(codice omesso)... #ifdef EVENT_INPUT event input(unsigned int IN, unsigned int HIN, unsigned int LIN) { // Inserisci codice per l’input evento// (non modificare questa linea)<%%/_EVT_INPUT/ // trasmetti lo stato di input all’unità chiamata DisplayMonitor RPC(DisplayMonitor_newStatus_VECTOR, IN); //%%> (non modificare questa linea) } #endif ...(codice omesso)... #ifdef EVENT_TIMER0 event timer0(void) { // Inserisci codice per l’evento timer0// (non modificare questa linea)<%%/_EVT_TIMER0/ // spegne l’uscita 1 al termine del tempo setOut(this, 1, OFF1); //%%> (non modificare questa linea) } #endif

Quando Usare AppWizard + SDK

Questo flusso di lavoro è ideale per:

Funzioni Principali Incorporate

Connessioni ISP da AVRISP a NSC ISP
Attenzione! Non collegare direttamente il programmatore AVRISP alla porta ISP di NSC!

La maggior parte dei dispositivi NSC è progettata attorno al microcontrollore ATmega32.

Protocollo NSC

Il sistema NSC OS usa il protocollo SFBP come sistema di comunicazione di fondamentale. Sopra questo il protocollo NSC opera al livello Applicativo del modello ISO-OSI.
Per maggiori informazioni legga le specificazioni del Protocollo NSC.

Integrazione con Strumenti Visuali

Il flusso di lavoro basato su AppWizard non esclude l’uso di MaticStudio o strumenti SCADA — i firmware personalizzati possono comunque partecipare a una rete NSC completa e interagire tramite RPC.

Prossimo Passo

Scarica e installa NSC OS SDK AppWizard per AVR-GCC.

Nota: Hai anche bisogno della toolchain AVR-GCC. Vai sul sito ufficiale Microchip per scaricare la toolchain e visita la pagina Github dedicata alla programmazione dei processori AVR con AVR-GCC.