Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Du C ou du Java dans les systèmes embarqués automobile ?

246 réponses
Avatar
Zeldus
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 ?

J'ai pensé à l'assembleur mais vu la aujourd'hui puissance et le prix des
processeurs même les plus basiques, je pense que ce n'est pas le cas et la
tâche serait complexe pour les programmeurs.

Vient ensuite le C, celui qui serait probablement le plus adapté, ancien
mais toujours très efficace ou alors Java, complètement portable mais qui
nécessite une machine virtuelle assez lourde.

Si vous avez des infos sur le sujet,

Par avance, merci

Pierre

10 réponses

Avatar
Gabriel Dos Reis
Pierre Maurette writes:

| Gabriel Dos Reis, le 03/07/2009 a écrit :
|
| [...]
|
| > Le système d'exploitation qui pilote le Mars Rover est écrit en C++.
| > Le logiciel de capture et traitement d'images du Mars Rover est du C++.
|
| Ouh là là, vous m'étonnez.

Tant mieux, parce que l'information est de première main.

-- Gaby
Avatar
Gabriel Dos Reis
JKB writes:

[...]

| >| mais lorsque tu écris un
| >| malloc() en C, tu sais exactement ce que tu fais
| >
| > et comment peux-tu prouver cela ?
|
| Parce que j'ai passé une partie de ma vie sur des codes critiques à
| qualifier des compilos et à regarder exactement ce qu'ils généraient. Un
| malloc() en C, c'est un appel à la libc qui alloue de la mémoire.

Premièr entubage.

| Une allocation d'un objet en C++ ou en Java, c'est un tas de mécanismes
| imbriqués qui se _terminent_ par un appel du type malloc ou mmap.

Deuxième entubage.

(Pour info: on peut en fait écrire du C++ tel que 'new T' ne fait
pas de l'allocation dynamique, mais plutôt statique.)

| Je prétends donc que tu _sais_ ce que tu veux faire au niveau de ton objet,
| mais tu ne _sais_ pas exactement comment le code va le faire.

Soyons modeste -- ne géneralise pas ton ignorance.

| C'est même
| pour ça qu'on avait l'interdiction d'utiliser autre chose que du C, ADA ou
| Fortran dans toutes les applications militaires critiques.

Troisième entubage.

|
| >| (hors problème
| >| d'implantation du malloc sur l'OS en question). Lorsque tu crées des
| >| objects en C++ ou en Java, tu ne sais plus ce que tu fais _exactement_.
| >
| > Erreur. Sit *tu* ne sais pas ce que tu fais, alors tu as un problème de
| > compréhension -- ce n'est pas le langage.
|
| J'aimerais rencontrer _une_ seule personne capable de m'expliquer
| dans le détail tout ce que génère un bout de code C++ et toutes les
| étapes élémentaires (et la façon qu'a le compilo de les optimiser). Il

Je fais un cours de C++ (je crois) le semestre prochain -- de fin Août à
mi Décembre. Ou alors tu peux aussie t'inscrire au semestre de printemps
où j'enseigne aussi un cours d'implémentation de langage avec
C++. C'est du niveau « troisième année », mais cela devarit convenir.

| faut être un minimum sérieux ! Même avec un vulgaire compilo C, les
| optimisations ne sont pas piquées des vers, alors avec un C++...

???

|
| >| Tu sais exactement ce que tu cherches à faire, mais tu ne sais pas
| >| exactement ce que le compilateur va générer comme code.
| >
| > Huh? Et comment le sais-tu pour le C ?
|
| Parce qu'il y a nettement moins de couches d'abstraction, avec un
| peu d'habitude, on arrive a avoir une idée assez précise.

Plus précisément ?

|
| >| C'est exactement
| >| pour cela qu'on se retrouve avec des logiciels style usine à gaz qui
| >| utilisent les ressources des machines comme des gorets.
| >
| > Encore une fois, tu confonds incompétence de programmeur avec outil --
| > mais je ne suis pas trop surpris, en lisant les lignes auxquelles je
| > réponds.
|
| Non, je ne confonds absolument pas.

Je n'ai pas dis que tu confondais volontairement.

| Mais depuis plus de vingt ans que je pratique, je constate une chose
| étonnante.

Il m'arive de temps en temps de rencontrer des gens bloqués su des
incompréhensions d'il y a plus de vingt ans.

| Dès que quelqu'un dit
| que les langages objets ne sont pas _bons_ pour telle ou telle chose, on
| lui répond toujours qu'il n'a rien compris ou qu'il mélange tout.

Des fois, il y a de très bonnes raisons de croire que c'est vrai.

-- Gaby
Avatar
JKB
Le 04-07-2009, ? propos de
Re: Du C ou du Java dans les systèmes embarqués automobile ?,
Gabriel Dos Reis ?crivait dans fr.comp.lang.c :
JKB writes:

[...]

| >| mais lorsque tu écris un
| >| malloc() en C, tu sais exactement ce que tu fais
| >
| > et comment peux-tu prouver cela ?
|
| Parce que j'ai passé une partie de ma vie sur des codes critiques à
| qualifier des compilos et à regarder exactement ce qu'ils généraient. Un
| malloc() en C, c'est un appel à la libc qui alloue de la mémoire.

Premièr entubage.



J'aimerais bien que tu me dises pourquoi histoire de me faire un peu
rire. Sur _tous_ les systèmes sur lesquels j'ai eu l'occasion de bosser,
un malloc se traduit par un appel à la libc. La subtile différence des
systèmes est la gestion du tas par cette libc, mais c'est un autre débat.

| Une allocation d'un objet en C++ ou en Java, c'est un tas de mécanismes
| imbriqués qui se _terminent_ par un appel du type malloc ou mmap.

Deuxième entubage.



Même remarque (même s'il y a des pools de préreservation de la
mémoire, ça termine _toujours_ à un moment ou un autre par une
allocation de type malloc ou mmap à moins d'avoir un modèle de mémoire
statique pure ce qui n'est ni le cas de java ni le cas de C++ ou alors,
on m'a caché des choses !).

(Pour info: on peut en fait écrire du C++ tel que 'new T' ne fait
pas de l'allocation dynamique, mais plutôt statique.)

| Je prétends donc que tu _sais_ ce que tu veux faire au niveau de ton objet,
| mais tu ne _sais_ pas exactement comment le code va le faire.

Soyons modeste -- ne géneralise pas ton ignorance.



Sans commentaire. Il y a _deux_ niveaux totalement distincts. Pour
fixer les idées, avec g++, on a le C++ d'un côté et le langage
intermédiaire de gcc de l'autre. Visiblement, pour toi, c'est la même chose.
Passons.

| C'est même
| pour ça qu'on avait l'interdiction d'utiliser autre chose que du C, ADA ou
| Fortran dans toutes les applications militaires critiques.

Troisième entubage.



Pardon ? J'ai pissé du code certifié pour applications militaires
pendant pas mal de temps et je sais à peu près de quoi je parle en terme
de langage autorisé et d'audit de code. Je peux même te dire qu'à l'époque gcc
2.7.2.3 était autorisé, mais pas le compilo Sun alors qu'on développait
sur du matériel Sun sous Solaris ! Quand tu écris des bouts de codes
critiques (du style de ceux qui n'ont pas le droit de planter sous peine
de récupérer ton missile sur le coin de la tronche), tu ne fais pas
n'importe quoi et tu utilises des outils qui ont déjà été testés et
validés en long et en large. Et tu peux dire ce que tu veux, quand je
faisais ça, c'était Fortran (77), C et ADA (83) à l'exclusion de tous les
autres langages).

|
| >| (hors problème
| >| d'implantation du malloc sur l'OS en question). Lorsque tu crées des
| >| objects en C++ ou en Java, tu ne sais plus ce que tu fais _exactement_.
| >
| > Erreur. Sit *tu* ne sais pas ce que tu fais, alors tu as un problème de
| > compréhension -- ce n'est pas le langage.
|
| J'aimerais rencontrer _une_ seule personne capable de m'expliquer
| dans le détail tout ce que génère un bout de code C++ et toutes les
| étapes élémentaires (et la façon qu'a le compilo de les optimiser). Il

Je fais un cours de C++ (je crois) le semestre prochain -- de fin Août à
mi Décembre. Ou alors tu peux aussie t'inscrire au semestre de printemps
où j'enseigne aussi un cours d'implémentation de langage avec
C++. C'est du niveau « troisième année », mais cela devarit convenir.



Merci. Quelqu'un qui n'est pas capable d'avoir assez de recul pour
voir la différence conceptuelle entre un langage objet et un langage
impératif ne devrait pas enseigner ce genre de chose. J'ai justement un
cours (cinquième année) sur les théories des langages de programmation.
Ça te ferait le plus grand bien.

| faut être un minimum sérieux ! Même avec un vulgaire compilo C, les
| optimisations ne sont pas piquées des vers, alors avec un C++...

???



Pour ton information, j'ai participé à l'écriture de compilos et des
optimisations de ceux-ci (pour C et Fortran, je n'attaque pas le C++, ma
santé mentale me l'interdit). J'ai aussi participé à la spécification de
langage pour applications critiques (et embarquées) tournant sur
processeurs un peu "faiblards" parce que durcis (et oui, l'armée
n'utilise pas n'importe quoi en terme de langage, et c'est exactement la
même chose en terme de composants !... Lorsque tu sais écrire un compilo
C pour un processeurs 8 bits qui tourne à 100 kHz [oui KILO] avec 64 Ko
de mémoire en tout et pour tout, tu as déjà sérieusement planché sur les
optimisations faites par le compilo et sur la façon d'orienter ces
optimisation par le choix du langage.). Là, tu commences à bien
voir les limitations des langages objet par rapports aux langages
impératifs ou fonctionnels, et surtout les limitations en terme
d'optimisation par le compilateur du code généré.

| >| Tu sais exactement ce que tu cherches à faire, mais tu ne sais pas
| >| exactement ce que le compilateur va générer comme code.
| >
| > Huh? Et comment le sais-tu pour le C ?
|
| Parce qu'il y a nettement moins de couches d'abstraction, avec un
| peu d'habitude, on arrive a avoir une idée assez précise.

Plus précisément ?



Comment ? Un compilo C ou Fortran, c'est assez simple. C'est même le
contraire d'un compilo C++ en terme de complexité. Je ne vois pas ce
qu'il y a à dire de plus.

| >| C'est exactement
| >| pour cela qu'on se retrouve avec des logiciels style usine à gaz qui
| >| utilisent les ressources des machines comme des gorets.
| >
| > Encore une fois, tu confonds incompétence de programmeur avec outil --
| > mais je ne suis pas trop surpris, en lisant les lignes auxquelles je
| > réponds.
|
| Non, je ne confonds absolument pas.

Je n'ai pas dis que tu confondais volontairement.



Merci de me prendre en plus pour un imbécile.

| Mais depuis plus de vingt ans que je pratique, je constate une chose
| étonnante.

Il m'arive de temps en temps de rencontrer des gens bloqués su des
incompréhensions d'il y a plus de vingt ans.



Il n'y a _aucune_ incompréhension. Contrairement à beaucoup de
monde, je fais une distinction nette entre les différents langages et je
les laisse pour ceux qu'ils sont. Je n'essaye pas d'utiliser un langage
pour autre chose que ce qu'ont prévu ses concepteurs. Aujourd'hui, on a
une génération de "pisseurs de code" qui ont été élevés par les langages
objets et qui ne pense qu'en termes de langage objet. Le langage objet
n'est pas la panacée (loin de là, même) et ne doit être utilisé qu'à bon
escient et non partout parce que c'est dans le vent. La seule chose,
c'est que ce langage permet une description plus facile et plus claire
de la plupart des programmes, mais c'est au _détriment_ du code généré
(vitesse d'exécution, taille du code binaire, occupation mémoire...).

| Dès que quelqu'un dit
| que les langages objets ne sont pas _bons_ pour telle ou telle chose, on
| lui répond toujours qu'il n'a rien compris ou qu'il mélange tout.

Des fois, il y a de très bonnes raisons de croire que c'est vrai.



Fin de la discussion.

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
Avatar
Pierre Maurette
Gabriel Dos Reis, le 04/07/2009 a écrit :
Pierre Maurette writes:

Gabriel Dos Reis, le 03/07/2009 a écrit :

[...]

Le système d'exploitation qui pilote le Mars Rover est écrit en C++.
Le logiciel de capture et traitement d'images du Mars Rover est du C++.



Ouh là là, vous m'étonnez.



Tant mieux, parce que l'information est de première main.



Pas tout à fait. En revanche, en ces temps-là, j'étais sous un autre
nom à un haut niveau de décision à la NASA. Et je peux vous garantir
que l'histoire du rover est parfaitement authentique. Nous avons bien
entendu communiqué avec quelque chose de tout à fait différent, un peu
de palette graphique, et hop. Vous pensez bien que /qui vous savez/ ne
se serait pas remis politiquement de l'histoire du petit robot qui vire
hédoniste.

--
Pierre Maurette
Avatar
Hamiral
Pierre Maurette a écrit :
Vous pensez bien que /qui vous savez/ ne
se serait pas remis politiquement de l'histoire du petit robot qui vire
hédoniste.




Ça a dû filtrer, puisque les studios Disney s'en sont inspirés ré cemment...
Avatar
Gabriel Dos Reis
JKB writes:

| Le 04-07-2009, ? propos de
| Re: Du C ou du Java dans les systèmes embarqués automobile ?,
| Gabriel Dos Reis ?crivait dans fr.comp.lang.c :
| > JKB writes:
| >
| > [...]
| >
| >| >| mais lorsque tu écris un
| >| >| malloc() en C, tu sais exactement ce que tu fais
| >| >
| >| > et comment peux-tu prouver cela ?
| >|
| >| Parce que j'ai passé une partie de ma vie sur des codes critiques à
| >| qualifier des compilos et à regarder exactement ce qu'ils généraient. Un
| >| malloc() en C, c'est un appel à la libc qui alloue de la mémoire.
| >
| > Premièr entubage.
|
| J'aimerais bien que tu me dises pourquoi histoire de me faire un peu
| rire.

Si tu veux rire, tu devrais aller sur un forum dédié.

| Sur _tous_ les systèmes sur lesquels j'ai eu l'occasion de bosser,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| un malloc se traduit par un appel à la libc.

Donc par généralisation, ....

| La subtile différence des
| systèmes est la gestion du tas par cette libc, mais c'est un autre débat.

Certains systèmes n'ont pas de libc.

|
| >| Une allocation d'un objet en C++ ou en Java, c'est un tas de mécanismes
| >| imbriqués qui se _terminent_ par un appel du type malloc ou mmap.
| >
| > Deuxième entubage.
|
| Même remarque (même s'il y a des pools de préreservation de la
| mémoire, ça termine _toujours_ à un moment ou un autre par une
| allocation de type malloc ou mmap à moins d'avoir un modèle de mémoire
| statique pure ce qui n'est ni le cas de java ni le cas de C++ ou alors,
| on m'a caché des choses !).

Non. Prends un bon bouquin de C++ et apprends « allocateur. »
(Tiens « Rumunications on C++ » ou TC++PL3 devrait suffire.)

| > (Pour info: on peut en fait écrire du C++ tel que 'new T' ne fait
| > pas de l'allocation dynamique, mais plutôt statique.)
| >
| >| Je prétends donc que tu _sais_ ce que tu veux faire au niveau de ton objet,
| >| mais tu ne _sais_ pas exactement comment le code va le faire.
| >
| > Soyons modeste -- ne géneralise pas ton ignorance.
|
| Sans commentaire. Il y a _deux_ niveaux totalement distincts. Pour
| fixer les idées, avec g++, on a le C++ d'un côté et le langage
| intermédiaire de gcc de l'autre.

Oui, et ?

| Visiblement, pour toi, c'est la même chose. Passons.

en effet

| >| C'est même
| >| pour ça qu'on avait l'interdiction d'utiliser autre chose que du C, ADA ou
| >| Fortran dans toutes les applications militaires critiques.
| >
| > Troisième entubage.
|
| Pardon ? J'ai pissé du code certifié pour applications militaires

oh, pour fixer les idées : je n'ai pas douté une seule seconde que tu
aies pissé du code. Mais je n'ai jamais vu ta pisse, donc je ne me
peux me prononcer sur sa qualité.

| pendant pas mal de temps et je sais à peu près de quoi je parle en terme
| de langage autorisé et d'audit de code. Je peux même te dire qu'à l'époque gcc
| 2.7.2.3 était autorisé,

tu as eu de la chance : tu as commencé avec un GCC plus récent que le
mien.

| mais pas le compilo Sun alors qu'on développait
| sur du matériel Sun sous Solaris !

Je peux comprendre ton émotion. Mais le choix d'un mauvais compilo
n'est pas à blamer sur le langage. Quelqu'un disait récemment :
« mauvais manager, changer de manager ». Ou de boulot.

| Quand tu écris des bouts de codes
| critiques (du style de ceux qui n'ont pas le droit de planter sous peine
| de récupérer ton missile sur le coin de la tronche), tu ne fais pas
| n'importe quoi et tu utilises des outils qui ont déjà été testés et
| validés en long et en large. Et tu peux dire ce que tu veux, quand je
| faisais ça, c'était Fortran (77), C et ADA (83) à l'exclusion de tous les
| autres langages).

Encore une fois, je ne doute pas de ton vécu. Mais, de là généraliser...

J'ai récemment donné un lien sur les JSF C++ rules. Tu devrais y jeter
un coup d'oeil pour savoir ce qui se fait de nos jours avec des
matériels critiques (chers, et haut de gamme.)

| >| >| (hors problème
| >| >| d'implantation du malloc sur l'OS en question). Lorsque tu crées des
| >| >| objects en C++ ou en Java, tu ne sais plus ce que tu fais _exactement_.
| >| >
| >| > Erreur. Sit *tu* ne sais pas ce que tu fais, alors tu as un problème de
| >| > compréhension -- ce n'est pas le langage.
| >|
| >| J'aimerais rencontrer _une_ seule personne capable de m'expliquer
| >| dans le détail tout ce que génère un bout de code C++ et toutes les
| >| étapes élémentaires (et la façon qu'a le compilo de les optimiser). Il
| >
| > Je fais un cours de C++ (je crois) le semestre prochain -- de fin Août à
| > mi Décembre. Ou alors tu peux aussie t'inscrire au semestre de printemps
| > où j'enseigne aussi un cours d'implémentation de langage avec
| > C++. C'est du niveau « troisième année », mais cela devarit convenir.
|
| Merci. Quelqu'un qui n'est pas capable d'avoir assez de recul pour
| voir la différence conceptuelle entre un langage objet et un langage
| impératif ne devrait pas enseigner ce genre de chose.

C'est pour cela je l'enseigne. <g>

| J'ai justement un
| cours (cinquième année) sur les théories des langages de programmation.
| Ça te ferait le plus grand bien.

J'enseigne ces cours là aussi -- tu devrais faire le tour.

|
| >| faut être un minimum sérieux ! Même avec un vulgaire compilo C, les
| >| optimisations ne sont pas piquées des vers, alors avec un C++...
| >
| > ???
|
| Pour ton information, j'ai participé à l'écriture de compilos et des
| optimisations de ceux-ci (pour C et Fortran, je n'attaque pas le C++, ma
| santé mentale me l'interdit).

Merci de l'information. Cela peut expliquer nombre de choses.
As-tu considéré la possibilité que tes raisons de santé mentale en ce qui
concerne C++ sont en encore d'actualité, et donc que tu devrais
t'abstenir d'en parler ?

[...]

| Lorsque tu sais écrire un compilo
| C pour un processeurs 8 bits qui tourne à 100 kHz [oui KILO] avec 64 Ko
| de mémoire en tout et pour tout, tu as déjà sérieusement planché sur les
| optimisations faites par le compilo et sur la façon d'orienter ces
| optimisation par le choix du langage.).

Pas forcément.

| Là, tu commences à bien
| voir les limitations des langages objet par rapports aux langages
| impératifs ou fonctionnels, et surtout les limitations en terme
| d'optimisation par le compilateur du code généré.

Non.

| >| >| Tu sais exactement ce que tu cherches à faire, mais tu ne sais pas
| >| >| exactement ce que le compilateur va générer comme code.
| >| >
| >| > Huh? Et comment le sais-tu pour le C ?
| >|
| >| Parce qu'il y a nettement moins de couches d'abstraction, avec un
| >| peu d'habitude, on arrive a avoir une idée assez précise.
| >
| > Plus précisément ?
|
| Comment ? Un compilo C ou Fortran, c'est assez simple.

Oui.

| C'est même le contraire d'un compilo C++ en terme de complexité.

À peine plus, en terme de génération de code.
En fait, de nos jours, on a des ABI C++ plus efficaces que les ABI C, et
on général on arrive à générer plus facilement du code efficace en C++
qu'en C (parce qu'on exploite les information de type et de sémantique
plus précise).

| Je ne vois pas ce qu'il y a à dire de plus.

Peut-être est-il temps de prendre rendez-vous avec ton ophtamologiste...

| >| >| C'est exactement
| >| >| pour cela qu'on se retrouve avec des logiciels style usine à gaz qui
| >| >| utilisent les ressources des machines comme des gorets.
| >| >
| >| > Encore une fois, tu confonds incompétence de programmeur avec outil --
| >| > mais je ne suis pas trop surpris, en lisant les lignes auxquelles je
| >| > réponds.
| >|
| >| Non, je ne confonds absolument pas.
| >
| > Je n'ai pas dis que tu confondais volontairement.
|
| Merci de me prendre en plus pour un imbécile.

Je n'y ai pas pensé, mais si tu crois que c'est nécessaire, je peux le
faire.

| >| Mais depuis plus de vingt ans que je pratique, je constate une chose
| >| étonnante.
| >
| > Il m'arive de temps en temps de rencontrer des gens bloqués su des
| > incompréhensions d'il y a plus de vingt ans.
|
| Il n'y a _aucune_ incompréhension. Contrairement à beaucoup de
| monde, je fais une distinction nette entre les différents langages et je
| les laisse pour ceux qu'ils sont.

Ah !

| Je n'essaye pas d'utiliser un langage
| pour autre chose que ce qu'ont prévu ses concepteurs.

Tu dois avoir raison. Audace et créativité ne pas monnaie courante.

| Aujourd'hui, on a
| une génération de "pisseurs de code" qui ont été élevés par les langages
| objets et qui ne pense qu'en termes de langage objet.

Tu as dit plus haut que tu as pissé du code. Je compatis.
Je forme des programmeurs. Donc il est possible que nos divergences de
vue s'expliquent par la qualité de la faune que nous cotoyons.

| Le langage objet n'est pas la panacée (loin de là, même)

Indeed.

| et ne doit être utilisé qu'à bon escient

goodness !

| et non partout parce que c'est dans le vent.

gasp.


| La seule chose,
| c'est que ce langage permet une description plus facile et plus claire
| de la plupart des programmes, mais c'est au _détriment_ du code généré
| (vitesse d'exécution, taille du code binaire, occupation mémoire...).

huh!?!

-- Gaby
Avatar
Gabriel Dos Reis
Pierre Maurette writes:

| Gabriel Dos Reis, le 04/07/2009 a écrit :
| > Pierre Maurette writes:
| >
| >> Gabriel Dos Reis, le 03/07/2009 a écrit :
| >>
| >> [...]
| >>
| >>> Le système d'exploitation qui pilote le Mars Rover est écri t en C++.
| >>> Le logiciel de capture et traitement d'images du Mars Rover est du C+ +.
| >>
| >> Ouh là là, vous m'étonnez.
| >
| > Tant mieux, parce que l'information est de première main.
|
| Pas tout à fait.

« pas tout à fait que j'ai eu l'information de première main » ?

| En revanche, en ces temps-là, j'étais sous un autre
| nom à un haut niveau de décision à la NASA.

Mon source n'a pas souvenance de toi -- et pourtant, cela fait un
certain temps qu'il est là.

| Et je peux vous garantir que l'histoire du rover est parfaitement
| authentique.

Laquelle ? celle de l'OS qui pilote le rover, ou celle de la capture et
traitement d'image, ou celle de scheme ?

-- Gaby
Avatar
Antoine Leca
Le 02/07/2009 12:09Z, Lucas Levrel écrivit :
Le 2 juillet 2009, candide a écrit :
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 ?



Ça m'étonnerait beaucoup : faire une puce pour l'affichage ne demande que
quelques portes logiques.



Et il faut les mettre en place de la bonne façon pour obtenir les bons
affichages en fonction des entrées.

Après, le nom que l'on donne à cette activité de mise en place...


Dans un « simple » chronomètre par exemple je doute qu'il y ait le moindre
processeur.



Cela dépend de la définition de processeur. Ce qu'il n'y a pas ÀMHA dans
une horloge, c'est un automate reprogrammable.


Antoine
Avatar
Marc Boyer
On 2009-07-03, Gabriel Dos Reis wrote:
Marc Boyer writes:

[...]

| Nous travaillons avec le CEA sur des outils d'analyse statique, donc pour
| l'embarqué avion mais potentiellement aussi le nucléaire. Le langage cible
| est C. Java n'est pas à ma connaissance sur les écrans radards.

Si tu es familier avec les Joint Strike Fighters[1] et des compagnies qui
en fabriquent, tu trouvera ceci interessant :

http://www.research.att.com/~bs/JSF-AV-rules.pdf



Non, je ne suis pas vraiment famillier de ces architectures.
D'ailleurs, avant que des contructeurs militaires américains
fassent appel à des labos français pour étudier leur code,
je pense qu'il faudra quelques révolutions politiques.

Mais je me souvenais bien des tes propos sur le C++ à
la NASA et dans l'embarqué militaire.

Marc Boyer

--
En prenant aux 10% des francais les plus riches 12% de leurs revenus,
on pourrait doubler les revenus des 10% les plus pauvres.
http://www.inegalites.fr/spip.php?article1&id_mot0
Avatar
Marc Boyer
On 2009-07-04, JKB wrote:
Le 03-07-2009, ? propos de
Re: Du C ou du Java dans les systèmes embarqués automobile ?,
Gabriel Dos Reis ?crivait dans fr.comp.lang.c :
Erreur. Sit *tu* ne sais pas ce que tu fais, alors tu as un problème de
compréhension -- ce n'est pas le langage.



J'aimerais rencontrer _une_ seule personne capable de m'expliquer
dans le détail tout ce que génère un bout de code C++ et toutes les
étapes élémentaires (et la façon qu'a le compilo de les optimiser). Il
faut être un minimum sérieux !



Quoi, sur un bête
A* a= new A(titi, toto); ?
Ca me semble pas si dur. Bon, ça doit faire une bonne année que
j'ai pas fait de C++ sérieusement, et il faudrait quand même que
je potasse un peu la doc. Mais bon.

Bon, après, les algos de gestion du tas par la la libc, ça peut
être unpeu chaud quand même. Je me souviens de trucs lus sur celle
de Linux 2.0, mais ce n'est surement pas toujours la même chose.

Même avec un vulgaire compilo C, les
optimisations ne sont pas piquées des vers, alors avec un C++...



Tiens, dans ton contexte militaire embarqué, les optimisations
sont autorisées ? Chez Airbus, à ma connaissance, c'est 0 optimisation,
pour des questions de certification du compilo et pour des questions
de tracabilité entre le source C et l'ASM engendré.

Marc Boyer
--
En prenant aux 10% des francais les plus riches 12% de leurs revenus,
on pourrait doubler les revenus des 10% les plus pauvres.
http://www.inegalites.fr/spip.php?article1&id_mot0