π
<-
Chat plein-écran
[^]

Running native C programs with ndless 4.5

:32tins: :32tinsktpb: :32tinsktpn: :32tinscas: :32tinstpkc: :32tinstpktpb: :32tinstp: :32tinscastp: :32tinscmc: :32tinscx: :32tinscxcas:

Running native C programs with ndless 4.5

Message non lude klausen » 17 Fév 2019, 15:42

So now that I've installed ndless 4.5 on to my handheld and installed the ndless-sdk on my computer (ubuntu 18.04 lts), how I do I actually run a program written in C on my ti nspire? For example, the following method seems to compile:

Code: Tout sélectionner
#include <stdio.h>
#include <stdlib.h>
#include <os.h>

int main()
{
  int a;
  printf("Enter a number: ");
  scanf("%d",&a);

  printf("you entered %d\n",a);

  return 0;
}

Code: Tout sélectionner
nspire-gcc -Wall -W -marm -Os -c practice.c -o practice.o
mkdir -p .
nspire-ld practice.o -o practice.elf -Wl,--nspireio
genzehn --input practice.elf --output practice.tns.zehn --name "practice"
make-prg practice.tns.zehn practice.tns
rm practice.tns.zehn


But when load the .tns file to my nspire I can't get it to run normally. The screen is black with no prompt unless I enter a number. But when I enter a number the program executes and then instantly terminates. How do you run programs with normal user I/O?
Avatar de l’utilisateur
klausen
Niveau 1: MD (Membre Débutant)
Niveau 1: MD (Membre Débutant)
Prochain niv.: 60%
 
Messages: 2
Inscription: 17 Fév 2019, 13:37
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: not sure

Re: Running native C programs with ndless 4.5

Message non lude Adriweb » 17 Fév 2019, 15:48

You may want to use nspire-io. which provides a console-like UI and IO features. See the examples here: https://github.com/Vogtinator/nspire-io ... lo/hello.c
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.2%
 
Messages: 14616
Images: 1218
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: Running native C programs with ndless 4.5

Message non lude klausen » 17 Fév 2019, 22:39

I'm not seeing a directory named "lib", should I just copy the "include" directory to my .ndless directory?

Image
Avatar de l’utilisateur
klausen
Niveau 1: MD (Membre Débutant)
Niveau 1: MD (Membre Débutant)
Prochain niv.: 60%
 
Messages: 2
Inscription: 17 Fév 2019, 13:37
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: not sure

Re: Running native C programs with ndless 4.5

Message non lude Adriweb » 18 Fév 2019, 06:59

I guess you need to build it first?

I'll point Vogtinator to this topic just in case
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.2%
 
Messages: 14616
Images: 1218
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: Running native C programs with ndless 4.5

Message non lude Vogtinator » 18 Fév 2019, 08:54

No need to build anything - the ndless sdk contains a prebuilt version of nspire-io.

The "-Wl,--nspireio" option works fine, but your program has two issues:

- It doesn't wait for the user after printing the final message, so it just quits.
- Stdout is line-buffered by default, which means only messages terminated by a newline are shown.

By disabling the buffer and waiting for a second, the program works as you expect:

Code: Tout sélectionner
#include <stdio.h>
#include <stdlib.h>
#include <os.h>

int main()
{
  int a;
  setbuf(stdout, NULL);
  printf("Enter a number: ");
  scanf("%d",&a);

  printf("you entered %d\n",a);
  msleep(1000);

  return 0;
}
Avatar de l’utilisateur
VogtinatorPremium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Prochain niv.: 1.6%
 
Messages: 217
Inscription: 29 Mar 2014, 15:55
Genre: Homme
Calculatrice(s):
MyCalcs profile


Retourner vers Problèmes divers / Aide débutants

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 34 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1470 utilisateurs:
>1412 invités
>54 membres
>4 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)