Dans un réseau CAN tout est en série sur le bus, donc pour chaque
périhpérique relié au bus, il faut un microcontroleur pour implémenter
le protocle de communication .
En fait c'est pas si compliqué, il y a des mesures qui circulent sur
un réseau, et un processeur avec un gros soft dedans qui utilise ces
données pour faire fonctionner la voiture et en même temps offrir des
infos de bord au conducteur.
Après la miniaturisation actuelle est telle que un processeur ça peut
être minuscule de nos jours et tu le programmes comme si tu
programmais sur un pc, avec juste quelques limitations en plus.
Dans un réseau CAN tout est en série sur le bus, donc pour chaque
périhpérique relié au bus, il faut un microcontroleur pour implémenter
le protocle de communication .
En fait c'est pas si compliqué, il y a des mesures qui circulent sur
un réseau, et un processeur avec un gros soft dedans qui utilise ces
données pour faire fonctionner la voiture et en même temps offrir des
infos de bord au conducteur.
Après la miniaturisation actuelle est telle que un processeur ça peut
être minuscule de nos jours et tu le programmes comme si tu
programmais sur un pc, avec juste quelques limitations en plus.
Dans un réseau CAN tout est en série sur le bus, donc pour chaque
périhpérique relié au bus, il faut un microcontroleur pour implémenter
le protocle de communication .
En fait c'est pas si compliqué, il y a des mesures qui circulent sur
un réseau, et un processeur avec un gros soft dedans qui utilise ces
données pour faire fonctionner la voiture et en même temps offrir des
infos de bord au conducteur.
Après la miniaturisation actuelle est telle que un processeur ça peut
être minuscule de nos jours et tu le programmes comme si tu
programmais sur un pc, avec juste quelques limitations en plus.
Le Thu, 2 Jul 2009 00:42:27 +0200
Zeldus a écritIl y a de l'électronique partout, même là ou on ne le croit pas.
Une amie s'est vue dans l'impossibilité de démarrer sa Clio (la clé de
contact ne faisait plus rien du tout lorsqu'elle la tournait) et sa voiture
a été immobilisée sans qu'elle comprenne vraiment ce qui se passait. Selon
Renault appelé sur place, ce serait un "bug informatique" qui serait
responsable. Après mise à jour du logiciel dans la voiture (de quoi ??),
tout est rentré dans l'ordre.
Ceci est un exemple parmi d'autres...
Je suis surpris de voir que Java occupe une place visiblement importante
dans les logiciels embarqués dans les voitures.
Faut pas être surpris.
L'embarqué c'est 90% de temps réel, et qui dit temps réel dit
programmation évènementielle, multitâche, multithread, tout ce que tu
veux.
Or Java offre par défaut une gestion assez sécurisée de tout ça, et
plus facile à mettre en oeuvre qu'en C. Ca n'empêche pourtant pas le C
d'être prépondérant.
Pourtant on peut faire du code très propre en C++, mais c'est juste
politique.
Reste donc C et Java, C parce que c'est le langage à tout
faire, et Java pour son côté sécurisant.
Le Thu, 2 Jul 2009 00:42:27 +0200
Zeldus a écrit
Il y a de l'électronique partout, même là ou on ne le croit pas.
Une amie s'est vue dans l'impossibilité de démarrer sa Clio (la clé de
contact ne faisait plus rien du tout lorsqu'elle la tournait) et sa voiture
a été immobilisée sans qu'elle comprenne vraiment ce qui se passait. Selon
Renault appelé sur place, ce serait un "bug informatique" qui serait
responsable. Après mise à jour du logiciel dans la voiture (de quoi ??),
tout est rentré dans l'ordre.
Ceci est un exemple parmi d'autres...
Je suis surpris de voir que Java occupe une place visiblement importante
dans les logiciels embarqués dans les voitures.
Faut pas être surpris.
L'embarqué c'est 90% de temps réel, et qui dit temps réel dit
programmation évènementielle, multitâche, multithread, tout ce que tu
veux.
Or Java offre par défaut une gestion assez sécurisée de tout ça, et
plus facile à mettre en oeuvre qu'en C. Ca n'empêche pourtant pas le C
d'être prépondérant.
Pourtant on peut faire du code très propre en C++, mais c'est juste
politique.
Reste donc C et Java, C parce que c'est le langage à tout
faire, et Java pour son côté sécurisant.
Le Thu, 2 Jul 2009 00:42:27 +0200
Zeldus a écritIl y a de l'électronique partout, même là ou on ne le croit pas.
Une amie s'est vue dans l'impossibilité de démarrer sa Clio (la clé de
contact ne faisait plus rien du tout lorsqu'elle la tournait) et sa voiture
a été immobilisée sans qu'elle comprenne vraiment ce qui se passait. Selon
Renault appelé sur place, ce serait un "bug informatique" qui serait
responsable. Après mise à jour du logiciel dans la voiture (de quoi ??),
tout est rentré dans l'ordre.
Ceci est un exemple parmi d'autres...
Je suis surpris de voir que Java occupe une place visiblement importante
dans les logiciels embarqués dans les voitures.
Faut pas être surpris.
L'embarqué c'est 90% de temps réel, et qui dit temps réel dit
programmation évènementielle, multitâche, multithread, tout ce que tu
veux.
Or Java offre par défaut une gestion assez sécurisée de tout ça, et
plus facile à mettre en oeuvre qu'en C. Ca n'empêche pourtant pas le C
d'être prépondérant.
Pourtant on peut faire du code très propre en C++, mais c'est juste
politique.
Reste donc C et Java, C parce que c'est le langage à tout
faire, et Java pour son côté sécurisant.
zwim a écrit :D'autre part en "auto" les règles de programmations sont assez
strictes (pas d'allocation dynamique par exemple, c'est la foire à la
variable globale, mais au moins pas de plantage aléatoire dû à ça),
Donc les programmeurs qui ont entendu dire pendant toute leur formation "les
variables globales vont conduiront en enfer" devront se déconditionner pendant
quelques semaines ...
zwim a écrit :
D'autre part en "auto" les règles de programmations sont assez
strictes (pas d'allocation dynamique par exemple, c'est la foire à la
variable globale, mais au moins pas de plantage aléatoire dû à ça),
Donc les programmeurs qui ont entendu dire pendant toute leur formation "les
variables globales vont conduiront en enfer" devront se déconditionner pendant
quelques semaines ...
zwim a écrit :D'autre part en "auto" les règles de programmations sont assez
strictes (pas d'allocation dynamique par exemple, c'est la foire à la
variable globale, mais au moins pas de plantage aléatoire dû à ça),
Donc les programmeurs qui ont entendu dire pendant toute leur formation "les
variables globales vont conduiront en enfer" devront se déconditionner pendant
quelques semaines ...
Zeldus a écrit :Bonjour,
Les voitures faisant de plus en plus appel à l'électronique pour
fonctionner, même pour les tâches les plus basiques, en quel langage
sont programmés les applications qui gèrent les différentes fonctions
électroniques intégrés aux voitures ?
Question tout à fait intéressante qui permettrait de se donner une idée de
l'importance actuelle du C en informatique industrielle. Ce serait bien surtout
si on pouvait avoir des références et en particulier des références chiffrées.
Bon comme je n'y connais rien, je voudrais savoir, si on considère par exemple
une montre électronique (genre montre-bracelet courante) capable de donner
l'heure, la date, de déclencher une alarme sonore et de faire chrono avec
interruption et fonction lap, est-ce qu'une telle montre contient un
"processeur" ? Je suppose qu'on a dû coder quelque chose mais ça a été codé
comment ? dans un langage (assembleur ou autre) ou c'est juste une circuiterie
hadware ?
Zeldus a écrit :
Bonjour,
Les voitures faisant de plus en plus appel à l'électronique pour
fonctionner, même pour les tâches les plus basiques, en quel langage
sont programmés les applications qui gèrent les différentes fonctions
électroniques intégrés aux voitures ?
Question tout à fait intéressante qui permettrait de se donner une idée de
l'importance actuelle du C en informatique industrielle. Ce serait bien surtout
si on pouvait avoir des références et en particulier des références chiffrées.
Bon comme je n'y connais rien, je voudrais savoir, si on considère par exemple
une montre électronique (genre montre-bracelet courante) capable de donner
l'heure, la date, de déclencher une alarme sonore et de faire chrono avec
interruption et fonction lap, est-ce qu'une telle montre contient un
"processeur" ? Je suppose qu'on a dû coder quelque chose mais ça a été codé
comment ? dans un langage (assembleur ou autre) ou c'est juste une circuiterie
hadware ?
Zeldus a écrit :Bonjour,
Les voitures faisant de plus en plus appel à l'électronique pour
fonctionner, même pour les tâches les plus basiques, en quel langage
sont programmés les applications qui gèrent les différentes fonctions
électroniques intégrés aux voitures ?
Question tout à fait intéressante qui permettrait de se donner une idée de
l'importance actuelle du C en informatique industrielle. Ce serait bien surtout
si on pouvait avoir des références et en particulier des références chiffrées.
Bon comme je n'y connais rien, je voudrais savoir, si on considère par exemple
une montre électronique (genre montre-bracelet courante) capable de donner
l'heure, la date, de déclencher une alarme sonore et de faire chrono avec
interruption et fonction lap, est-ce qu'une telle montre contient un
"processeur" ? Je suppose qu'on a dû coder quelque chose mais ça a été codé
comment ? dans un langage (assembleur ou autre) ou c'est juste une circuiterie
hadware ?
Le Thu, 02 Jul 2009 01:50:01 +0200
candide a écritzwim a écrit :D'autre part en "auto" les règles de programmations sont assez
strictes (pas d'allocation dynamique par exemple, c'est la foire à la
variable globale, mais au moins pas de plantage aléatoire dû à ça),
Donc les programmeurs qui ont entendu dire pendant toute leur formation "les
variables globales vont conduiront en enfer" devront se déconditionner pendant
quelques semaines ...
Bah oui et non.
Ca reste toujours une mauvaise pratique à mon sens d'en avoir qui
trainent partout, risque de confusion, de collisions de noms,
d'erreurs de link, d'appel sauvage en dehors du contexte, etc...
En revanche, définir une (ou plusieurs, par exemple une pour chaque
tâche) structure globale, mettre les variables dedans et passer un
pointeur sur la structure aux fonctions qui ont besoin des gobales
c'est satisfaisant.
Et si demain, la politique change, y'a qu'à allouer la structure, au
lieu de la laisser bêtement sur la pile.
Le Thu, 02 Jul 2009 01:50:01 +0200
candide a écrit
zwim a écrit :
D'autre part en "auto" les règles de programmations sont assez
strictes (pas d'allocation dynamique par exemple, c'est la foire à la
variable globale, mais au moins pas de plantage aléatoire dû à ça),
Donc les programmeurs qui ont entendu dire pendant toute leur formation "les
variables globales vont conduiront en enfer" devront se déconditionner pendant
quelques semaines ...
Bah oui et non.
Ca reste toujours une mauvaise pratique à mon sens d'en avoir qui
trainent partout, risque de confusion, de collisions de noms,
d'erreurs de link, d'appel sauvage en dehors du contexte, etc...
En revanche, définir une (ou plusieurs, par exemple une pour chaque
tâche) structure globale, mettre les variables dedans et passer un
pointeur sur la structure aux fonctions qui ont besoin des gobales
c'est satisfaisant.
Et si demain, la politique change, y'a qu'à allouer la structure, au
lieu de la laisser bêtement sur la pile.
Le Thu, 02 Jul 2009 01:50:01 +0200
candide a écritzwim a écrit :D'autre part en "auto" les règles de programmations sont assez
strictes (pas d'allocation dynamique par exemple, c'est la foire à la
variable globale, mais au moins pas de plantage aléatoire dû à ça),
Donc les programmeurs qui ont entendu dire pendant toute leur formation "les
variables globales vont conduiront en enfer" devront se déconditionner pendant
quelques semaines ...
Bah oui et non.
Ca reste toujours une mauvaise pratique à mon sens d'en avoir qui
trainent partout, risque de confusion, de collisions de noms,
d'erreurs de link, d'appel sauvage en dehors du contexte, etc...
En revanche, définir une (ou plusieurs, par exemple une pour chaque
tâche) structure globale, mettre les variables dedans et passer un
pointeur sur la structure aux fonctions qui ont besoin des gobales
c'est satisfaisant.
Et si demain, la politique change, y'a qu'à allouer la structure, au
lieu de la laisser bêtement sur la pile.
Bon comme je n'y connais rien, je voudrais savoir, si on considère par exemple
une montre électronique (genre montre-bracelet courante) capable de donner
l'heure, la date, de déclencher une alarme sonore et de faire chrono avec
interruption et fonction lap, est-ce qu'une telle montre contient un
"processeur" ?
Je suppose qu'on a dû coder quelque chose mais ça a été codé comment ?
dans un langage (assembleur ou autre) ou c'est juste une circuiterie
hadware ?
Bon comme je n'y connais rien, je voudrais savoir, si on considère par exemple
une montre électronique (genre montre-bracelet courante) capable de donner
l'heure, la date, de déclencher une alarme sonore et de faire chrono avec
interruption et fonction lap, est-ce qu'une telle montre contient un
"processeur" ?
Je suppose qu'on a dû coder quelque chose mais ça a été codé comment ?
dans un langage (assembleur ou autre) ou c'est juste une circuiterie
hadware ?
Bon comme je n'y connais rien, je voudrais savoir, si on considère par exemple
une montre électronique (genre montre-bracelet courante) capable de donner
l'heure, la date, de déclencher une alarme sonore et de faire chrono avec
interruption et fonction lap, est-ce qu'une telle montre contient un
"processeur" ?
Je suppose qu'on a dû coder quelque chose mais ça a été codé comment ?
dans un langage (assembleur ou autre) ou c'est juste une circuiterie
hadware ?
Bon comme je n'y connais rien, je voudrais savoir, si on considère par exemple
une montre électronique (genre montre-bracelet courante) capable de donner
l'heure, la date, de déclencher une alarme sonore et de faire chrono avec
interruption et fonction lap, est-ce qu'une telle montre contient un
"processeur" ?
Je suppose qu'on a dû coder quelque chose mais ça a été codé comment ?
dans un langage (assembleur ou autre) ou c'est juste une circuiterie
hadware ?
Bon comme je n'y connais rien, je voudrais savoir, si on considère par exemple
une montre électronique (genre montre-bracelet courante) capable de donner
l'heure, la date, de déclencher une alarme sonore et de faire chrono avec
interruption et fonction lap, est-ce qu'une telle montre contient un
"processeur" ?
Je suppose qu'on a dû coder quelque chose mais ça a été codé comment ?
dans un langage (assembleur ou autre) ou c'est juste une circuiterie
hadware ?
Bon comme je n'y connais rien, je voudrais savoir, si on considère par exemple
une montre électronique (genre montre-bracelet courante) capable de donner
l'heure, la date, de déclencher une alarme sonore et de faire chrono avec
interruption et fonction lap, est-ce qu'une telle montre contient un
"processeur" ?
Je suppose qu'on a dû coder quelque chose mais ça a été codé comment ?
dans un langage (assembleur ou autre) ou c'est juste une circuiterie
hadware ?
zwim a crit :
> D'autre part en "auto" les r gles de programmations sont assez
> strictes (pas d'allocation dynamique par exemple, c'est la foire la
> variable globale, mais au moins pas de plantage al atoire d a),
Donc les programmeurs qui ont entendu dire pendant toute leur formation " les
variables globales vont conduiront en enfer" devront se d conditionner pe ndant
quelques semaines ...
zwim a crit :
> D'autre part en "auto" les r gles de programmations sont assez
> strictes (pas d'allocation dynamique par exemple, c'est la foire la
> variable globale, mais au moins pas de plantage al atoire d a),
Donc les programmeurs qui ont entendu dire pendant toute leur formation " les
variables globales vont conduiront en enfer" devront se d conditionner pe ndant
quelques semaines ...
zwim a crit :
> D'autre part en "auto" les r gles de programmations sont assez
> strictes (pas d'allocation dynamique par exemple, c'est la foire la
> variable globale, mais au moins pas de plantage al atoire d a),
Donc les programmeurs qui ont entendu dire pendant toute leur formation " les
variables globales vont conduiront en enfer" devront se d conditionner pe ndant
quelques semaines ...
Est-ce que notre programmeur doit gérer l'affichage des segments de
l'affichage LCD ou encore doit-il gérer le changement de date en
fonction de l'heure ?
Est-ce que notre programmeur doit gérer l'affichage des segments de
l'affichage LCD ou encore doit-il gérer le changement de date en
fonction de l'heure ?
Est-ce que notre programmeur doit gérer l'affichage des segments de
l'affichage LCD ou encore doit-il gérer le changement de date en
fonction de l'heure ?
Donc il y a plein de microcontrôleurs dans une voiture, n'est-ce pas, d es
dizaines ? Ce microcontrôleur, quelqu'un l'a programmé avec un langag e pour
qu'il puisse gérer le protocole de communication dont tu parles (ou alo rs c'est
juste une circuiterie "morte") ?
Et c'est à ce niveau et à ce niveau seulement que notre programmeur C /Java
intervient ?
Oui mais est-ce que le processeur qu'on va trouver dans cette montre peut servir
à autre chose que gérer le programme de fonctionnement d'une montr e ?
Et notre programmeur C ou java qu'est-ce qu'il va programmer dans tout ça ? que
si j'appuie sur tel bouton, je vais passer en mode chrono, que si j'appui e en
continu sur celui-là, les chiffres devront défiler ? Est-ce que notre
programmeur doit gérer l'affichage des segments de l'affichage LCD o u encore
doit-il gérer le changement de date en fonction de l'heure ? Je pose la question
parce que finalement faire programmer à quelqu'un qui apprend le C une montre de
ce type sur un PC (pas un microcontroleur), même dans une console et
éventuellement avec ncurses ou avec une bibliothèque graphique quelco nque ne
serait pas très éloigné de ce que fait un professionnel de la progr ammation.
Donc il y a plein de microcontrôleurs dans une voiture, n'est-ce pas, d es
dizaines ? Ce microcontrôleur, quelqu'un l'a programmé avec un langag e pour
qu'il puisse gérer le protocole de communication dont tu parles (ou alo rs c'est
juste une circuiterie "morte") ?
Et c'est à ce niveau et à ce niveau seulement que notre programmeur C /Java
intervient ?
Oui mais est-ce que le processeur qu'on va trouver dans cette montre peut servir
à autre chose que gérer le programme de fonctionnement d'une montr e ?
Et notre programmeur C ou java qu'est-ce qu'il va programmer dans tout ça ? que
si j'appuie sur tel bouton, je vais passer en mode chrono, que si j'appui e en
continu sur celui-là, les chiffres devront défiler ? Est-ce que notre
programmeur doit gérer l'affichage des segments de l'affichage LCD o u encore
doit-il gérer le changement de date en fonction de l'heure ? Je pose la question
parce que finalement faire programmer à quelqu'un qui apprend le C une montre de
ce type sur un PC (pas un microcontroleur), même dans une console et
éventuellement avec ncurses ou avec une bibliothèque graphique quelco nque ne
serait pas très éloigné de ce que fait un professionnel de la progr ammation.
Donc il y a plein de microcontrôleurs dans une voiture, n'est-ce pas, d es
dizaines ? Ce microcontrôleur, quelqu'un l'a programmé avec un langag e pour
qu'il puisse gérer le protocole de communication dont tu parles (ou alo rs c'est
juste une circuiterie "morte") ?
Et c'est à ce niveau et à ce niveau seulement que notre programmeur C /Java
intervient ?
Oui mais est-ce que le processeur qu'on va trouver dans cette montre peut servir
à autre chose que gérer le programme de fonctionnement d'une montr e ?
Et notre programmeur C ou java qu'est-ce qu'il va programmer dans tout ça ? que
si j'appuie sur tel bouton, je vais passer en mode chrono, que si j'appui e en
continu sur celui-là, les chiffres devront défiler ? Est-ce que notre
programmeur doit gérer l'affichage des segments de l'affichage LCD o u encore
doit-il gérer le changement de date en fonction de l'heure ? Je pose la question
parce que finalement faire programmer à quelqu'un qui apprend le C une montre de
ce type sur un PC (pas un microcontroleur), même dans une console et
éventuellement avec ncurses ou avec une bibliothèque graphique quelco nque ne
serait pas très éloigné de ce que fait un professionnel de la progr ammation.