Le micro ou le compilateur ? Car les compilateurs XC de microchip sont certifiés :
https://www.microchip.com/design-cen...ctional-safety
Je n'avais pas vu ta réponse alors je te réponds, histoire qu'il n'y ait pas de malentendus:
Tu n'as pas dû bien tout comprendre du C dans ce cas, c'est justement le but... il n'y a pas d'illusion, une machine à états ou un processus ne dépend pas du micro cible, les activités haut niveau peuvent parfaitement être portées. En tout cas bien mieux qu'avec un code assembleur.
Pas du tout.Parce que soit tu utilises des librairies "toutes faites" dont tu ne peux agir sur le contenu... soit tu écris tes propres librairies, ce qui t'oblige à plonger dans le coeur du micro... avec du code non portable.
Dans l'industrie, pour des raisons évidentes de certifications, il n'est pas utilisé de librairies opaques (comprendre non publiques donc non modifiables), elles doivent être parfaitement lisibles (ou certifiées selon le domaine cible).
Ca frise la mauvaise foi tes arguments.
Et facilement transposables en C si besoin, ou intégrables dans un code C en partie. Prendre pour argent comptant un code isolé n'est pas dans les (bonnes) habitudes d'un programmeur qui est en responsabilité de valider et de justifier son code.Les librairies sont propriétaires d'une part, différentes d'un compilateur à l'autre d'autre part, et de plus ces mêmes librairies existent... pour le langage d'assemblage. Chez Microchip, par exemple (puisqu'on parle PIC à la base) des tonnes de librairies fonctionnelles sont fournies en code source.... d'assemblage.
Les OS c'est autre chose, on parle ici de petites applis avec de petits micros tels que des PIC.Si tu veux du vrai "portable" alors ça existe, mais souvent sur micros avec OS, genre framework dotnet ou plateforme Java... mais pas vraiment grâce au langage de programmation, mais grâce au langage intermédiaire recompilé à la volée par un compilateur JIT (Just In Time).
Je ne connais pas tes cours, qui ont sans aucun doute beaucoup de succès, ont surtout été lu par bon nombre de néophytes d'après ce que je comprends, mais comprends bien aussi que l'approche "je code dans mon coin et j'ai tout mon temps" est à des années lumières de ce qui se pratique dans l'industrie.Toi (ou quelqu'un d'autre), tu n'as pas envie d'étudier et/ou d'utiliser le langage d'assemblage? Ben tu as parfaitement raison: Si à toi ça ne sert à rien il serait débile de d'imposer cette contrainte à toi-même. Il faut juste imaginer que ça peut être utile à d'autres... pour des raisons qui les concernent.
Si l'assembleur était la panacée ça se saurait non? D'autant que je partage avec toi totalement l'avis qu'un bon programmeur se doit de savoir utiliser l'assembleur quand ça se justifie.
Ignorer que le C, comme tout langage évolué, permet le travail en équipe et une maintenance facilité c'est ne pas travailler en équipe.
Travailles-tu en équipe? De 20 ou 30 développeurs? Développeurs à qui il est demandé de travailler sur 3 ou 4 micro cibles différents? Avec des délais qui souvent frisent l'indécence?
Je ne sais pas avec qui tu dialogues, mais tout programmeur qui a reçu un apprentissage a forcément vu ce qu'est l'assembleur à un moment donné, forcément.Cependant, en creusant dans la conversation, je me suis aperçu qu'en fait, ces personnes... étaient déjà passées par la case "assembleur" au cours de leurs études: Bref, certains trouvent ça "inutile", MAIS quand ils lisent un datasheet.... ils le lisent avec les connaissances qu'ils ont déjà acquises... et qui incluent les bases qu'ils estiment aujourd'hui inutiles... pour les autres. Ça m'a toujours un peu interpellé.
Amusant. Tu sais il n'y a pas que des newbies iciJuste pour info: Toi-même, as-tu déjà étudié un langage d'assemblage?et tu n'es pas le seul à savoir ce qu'est l'assembleur.
Il n'était pas utile de dire "pour un Français", ton exemple est valable pour tout le monde, en tout cas pour des gens qui ont les moyens de mettre 150 euros dans des gadgets.je ne stigmatise rien du tout, où diable as-tu imaginé ça????
Ta démarche est louable mais là tu me parles de considérations sociales, on s'éloigne du sujet principal non?Comme quoi, ce n'est pas simple d'extrapoler la situation de gens dont on ignore tout: Mon "avantage" c'est que je n'ai pas besoin d'extrapoler, dès que je fais quelque chose de "non accessible" pour tous, hop je reçois immédiatement des mails, et j'essaye de rectifier.
A mon tour de te donner une anecdote bien locale:Et, pour info, je dis "Français", mais j'y assimile "Belges," Suisses" etc: C'était une image pour parler du niveau de vie des internautes.
Depuis une dizaine d'années je donne des cours bénévoles dans le 91, pour des jeunes précaires qui sont en échec scolaire et qui sont attirés par la technique, la misère n'est pas uniquement loin mais bien présente ici aussi.
Ma démarche consiste à les aider à s'extraire de leur milieu et de leur donner des arguments pour pouvoir séduire un potentiel patron à les embaucher, car au fond le but c'est ça, donner du fond à leurs connaissances pour pouvoir être crédibles et adaptés aux besoins économiques qui leur permettront de vivre autrement, eux et généralement aussi leurs familles.
Mon sentiment est que tu es de bonne volonté mais que tu attaches à tes propos un certain point de vue qui n'est pas toujours très objectif... ou que tu mélanges l'approche éducative pour tous avec l'approche industrielle qui est bien souvent aux antipodes de tes affirmations , tant en terme de méthodes que de finalité.
Exactement comme le fait l'éducation nationale, en privilégiant des apprentissages "légo", pour reprendre ton expression que je partage.
Salut à tous et que chacun fasse comme il l'entend, après tout nous ne sommes que sur un forum, ça n'a pas tant d'importance que ça, l'essentiel se joue ailleurs.
Pas la version gratuite ou limitée, seule la version pro libère les fonctions safety dont nous parlons.Le micro ou le compilateur ? Car les compilateurs XC de microchip sont certifiés :
https://www.microchip.com/design-cen...ctional-safety
Ils précisent d'ailleurs:
En plus de décrire ce qui doit être testé et dans quelle mesure, les normes peuvent également imposer des méthodes de développement.
Cela peut inclure l'utilisation d'outils de développement qualifiés.
Pour les applications basées sur microcontrôleur, l'un des outils à qualifier est le compilateur C. Microchip et ses partenaires proposent des compilateurs qualifiés, certains étant certifiés par un organisme de certification basé à Munich, le TÜV SÜD.
Part1
-----
Mince, on a du me donner mon diplôme de développeur système et embarqué par erreur: Tu devrais écrire des cours, ça me permettrait d'apprendre. Tiens, pourquoi tu ne publies pas tes propres cours plus justes que les miens sur le net? On comptera le nombre de téléchargements et on ira lire les reports qu'en font les internautes sur le net. L'internaute qui juge de ce qu'il lit, ça c'est objectif!Tu n'as pas dû bien tout comprendre du C dans ce cas
J'ai déjà vu des gens qui sortaient des phrases pour noyer le poisson, mais alors là.... Ce sont les librairies qui font la portabilité (hautement illusoire) du C: Or déjà qui sait en quel langage ont été écrits les codes sources des librairies dont les sources ne sont pas fournis? Quid des librairies fournies en code source asm, comme chez Microchip?une machine à états ou un processus ne dépend pas du micro cible, les activités haut niveau peuvent parfaitement être portées.
J'ai travaillé sur des tas de micros, je n'ai jamais pu récupérer du code C d'une cible à l'autre. PIRE, j'ai des internautes qui m'écrivent régulièrement pour me dire qu'un code C trouvé sur le net utilisant le compilateur "machin" ne compile pas avec le compilateur "truc" SUR LA MÊME CIBLE, parce que les librairies ne sont pas compatibles (pour les petits micros). En C on peut récupérer un bout de code "abstrait" non dépendant du micro, par exemple une transformée de Fourrier, un tri-bulle, une recherche dichotomique: Oui, ça, ça fonctionne bien. Par contre, dès que ça touche au micro, il faut tout revoir, parce que les ressources sont différentes (donc le programme doit être structuré différemment), que les registres sont organisés de façon différente (donc révision du code) et que le timing des instructions aussi (donc révision de tous les paramètres): En outre, passer par exemple de la gestion "manuelle" de trames Ethernet à l'utilisation de processus DMA ça implique encore la refonte du code, etc.
La portabilité du code (hors codes standard génériques ne ciblant pas un micro spécifique), ça se limite à un printf de Hello World. N'importe qui travaillant réellement dans les micros ET CHANGEANT régulièrement de cibles, sait que c'est une portabilité totalement illusoire. Et je passe sur les micros tournant sous OS, là c'est encore pire.
Et alors? Quel rapport??? Celui qui programme en langage d'assemblage c'est qu'il a une raison de le faire, et que c'est justifié. Le C est plus portable (si on veut) qu'un langage d'assemblage? Ben oui, mais Java est bien plus portable que C, puisque le code compilé peut tourner sur plusieurs cibles, vu le compilateur JIT. Donc, abandonne C pour Java, non?En tout cas bien mieux qu'avec un code assembleur.
Tout ça n'a aucun sens, chaque langage ses avantages.... sinon ce langage serait aux oubliettes. Et, comme je l'ai déjà dit plusieurs fois: J'écris des cours pour apprendre les bases, pas une méthode sur la façon de coder au plus vite avec le minimum d'efforts: En fait, je suis même dans la logique totalement inverse: Des bases solides pour apprendre ensuite soi-même à réellement programmer. Je ne forme pas des programmeurs, je forme des gens qui vont apprendre à devenir programmeur. Avant d'étudier un datasheet... il faut apprendre à lire.
AHhhhhh, dans l'industrie il y a des "raisons évidentes de certifications".... et "il n'est pas utilisé de librairies opaques".... Vraiment?Dans l'industrie, pour des raisons évidentes de certifications, il n'est pas utilisé de librairies opaques (comprendre non publiques donc non modifiables), elles doivent être parfaitement lisibles (ou certifiées selon le domaine cible).
Dans TON entreprise, probablement: Tu continues encore d'extrapoler sur ton propre cas.
Donc, déjà, dans l'industrie.... ce sont des développeurs qui écrivent ces librairies.... qui doivent cibler le matériel... et qui donc ne sont pas "portables".
Bref, tu dis que le programmeur en entreprise voit la portabilité du code assuré par des librairies totalement propriétaires écrites... par des programmeurs en entreprise: Amusant!
Ensuite, tes affirmations remplies de certitudes frisent le dogmatisme absolu: J'ai un pote qui écrit des softs pour des automates Telemecanique destinés par exemple au pilotage de machines d'extraction de combustible dans les réacteurs nucléaires: Or, c'est du langage propriétaire. Il n'y a non plus aucune librairie (NADA), et il lui est interdit d'utiliser certaines boucles et aucune interruption. Le code est certifié par un organisme indépendant et signé sur une clé.
Toujours sur le nucléaire, j'ai personnellement réalisé intégralement en sous-traitance... pour les centrales nucléaires françaises... un gros projet à base de cartes à tubes en réseau avec acquisition en temps réel et enregistrement pour analyse différée: Point de certification demandée, juste démonstration que le projet fonctionnait, la suite ne me concernait simplement plus.
Et pour en terminer sur le nucléaire, j'ai aussi réalisé en sous-traitance un projet demandé par la Navy américaine pour équiper des sous-marins nucléaires avec un système de détection des grattons sur cartes à micros installées en réseau sécurisé. Point de certifications demandées, juste les sources, le proto, la démonstration, les calculs utilisés et un test grandeur nature.
Sinon, j'ai aussi mon système domotique, installé dans des centaines de maisons dont l'installation a été réceptionnée: Pas la moindre notion de certifications.
J'ai réalisé une carte Artnet, que j'ai proposée à l'organisme chargé de gérer cette norme... qui a intégré ma carte comme faisant partie des cartes officielles et maintenant détectée comme officielle par les logiciels relatifs à la norme. Aucune certification, juste le respect d'un cahier des charges.
J'ai aussi créé et installé une installation de recherche-infirmières à base de cartes à PIC en réseau... et le système a été réceptionné officiellement sans le moindre problème... puisqu'il répondait au cahier des charges de l'état.
Je pourrais aussi parler du programmeur qui écrit le code d'une machine à laver, d'un four domestique, d'un NAS, d'un routeur, d'une guirlande de Noël... point de certification (sauf si c'est dans le cahier des charges)
Idem pour celui qui gagne sa vie tout à fait officiellement en vendant des applications Android sur le store.
etc, etc, etc.
Les "certifications" ça concerne un nombre infime de développeurs, d'une part, et d'autre part ça n'a ABSOLUMENT AUCUN RAPPORT avec la question initiale posée.
Si tu veux un sujet sur les certifications, ouvre ton propre sujet, moi ça ne m'intéresse pas.... parce que ça ne me concerne pas... et pourtant nier mes compétences au niveau microcontrôleurs ça nécessite de le démontrer.
Maintenant, je me rappelle pourquoi j'ai arrêté de fréquenter ce forum... et d'autres. Exactement pour ça! Les gens que j'irrite pour ce que je fais m'attaquent, ne trouvent pas la faille, et ça finit par déraper.Ca frise la mauvaise foi tes arguments.
Donc, du code en langage d'assemblage pourrait être transposable en C si besoin. Déjà ça reste à prouver, ensuite il faut que ça présente un intérêt, et enfin ça resterait du C "non portable". Sinon, je peux dire strictement l'inverse: On peut transposer n'importe quelle librairie écrite en n'importe quel langage... en langage d'assemblage... puisque c'est ce que fait (parfois très mal) le compilateur au final (bon, du code machine, mais c'est strict équivalent).Et facilement transposables en C si besoin, ou intégrables dans un code C en partie.
Tu comprends quand même que si j'ajoute tes précédents commentaires à celui-ci:Prendre pour argent comptant un code isolé n'est pas dans les (bonnes) habitudes d'un programmeur qui est en responsabilité de valider et de justifier son code.
Que ton discours pue la suffisance à un point que ça en devient difficile à respirer?J'ai bien conscience que cela ne peut être compris sur un forum de hobbystes, sans vouloir vexer personne.
Qui diable es-tu pour prétendre savoir quelles sont ou non les bonnes habitudes d'un programmeur??? Déjà, quel programmeur? Sur base de quel cahier des charges? Pour quel genre d'application? Sur quel support?
NON: Ce dont on parle ici, c'est uniquement relatif au sujet ouvert par l'internaute, qui est: Pourquoi le cours de Bigonoff ne correspond pas au dernier MPLAB-X que j'ai téléchargé. C'est ça, le sujet, et uniquement ça.Les OS c'est autre chose, on parle ici de petites applis avec de petits micros tels que des PIC.
Ensuite, il y a eu des remarques désobligeantes qui lui ont été formulées en retour, puis carrément on a attaqué l'utilité de mes cours (puisqu'on remet en cause leur fondement), puis on a digressé encore sur le choix du micro, puis du langage. Ensuite on a introduit les "certifications et langages certifiés".... bref des tas de choses SANS AUCUN RAPPORT avec la question d'origine.... Et toi, maintenant, tu te permets de me "recentrer" sur ce dont on doit parler lorsqu'on parle "embarqué"??????
Non mais, franchement?
Mon opinion est que si tu veux ouvrir un sujet sur les certifications, le bon usage de ceci, les bons et mauvais programmeurs etc, ben tu ouvres ton propre sujet, tu évites de m'interpeller ou de citer mes cours pour éviter qu'un internaute vienne me le signaler, et tu dis ce que tu veux, je ne viendrai pas te déranger. Dans un forum on ouvre un fil par sujet, c'est la règle et ici tu es totalement hors-sujet. Du reste déjà la première "réponse" était hors sujet.
Juste pour info, tu continues de suinter la suffisance. Et tu continues de formuler des cas spécifiques pour des généralités. Par exemple si moi j'ai envie de me faire du blé avec une appli embarquée vendue sur le store... ben je prends le temps que je veux. Un développeur free-lance, tu as déjà entendu parler? Manifestement pas. Pour l'industrie, faut respecter le cahier des charges de la boîte, c'est tout. Et l'industrie, ça ne représente pas l'intégralité des gens qui gagnent leur vie avec l'embarqué, j'ai même l'impression que c'est minoritaire. Et TON entreprise, ça ne représente pas "L'industrie"....ont surtout été lu par bon nombre de néophytes d'après ce que je comprends, mais comprends bien aussi que l'approche "je code dans mon coin et j'ai tout mon temps" est à des années lumières de ce qui se pratique dans l'industrie.
Tu es spécialiste dans le détournement de propos. Déjà, qui diable a dit que c'était la panacée?????? Absolument personne et donc pas moi. On a dit (pas que moi) que c'était utile de l'étudier, que c'était tout sauf idiot de mettre ça dans un cours destiné à étudier les microcontrôleurs, et que ça avait son utilité surtout sur les petites cibles et/ou pour des routines ciblées pour lesquelles le temps d'exécution pouvait être critique.Si l'assembleur était la panacée ça se saurait non?
Alors, arrête d'inventer des prétendus "arguments adverses" juste pour pouvoir les démonter.
Vive l'Internet libre
Part2
-------
Déjà le C "langage évolué", disons que ça l'a été... à une époque lointaine: C'est un langage passoire complètement ringard. Il est utile sur les petites cibles parce qu'il permet d'éviter l'utilisation systématique du langage d'assemblage et que c'est clair que c'est plus "facile" de programmer en C qu'en langage d'assemblage, mais en ce qui me concerne ça reste un langage bas niveau.Ignorer que le C, comme tout langage évolué, permet le travail en équipe et une maintenance facilité c'est ne pas travailler en équipe.
On n'utilise plus le C que.... lorsqu'on ne sait rien utiliser d'autre, OU pour s'approcher de l'efficacité du langage d'assemblage sans pour autant se contraindre à l'utiliser: Cas typique, les drivers.
Bref oui, C c'est pratique sur cibles moyennes, oui c'est plus simple de travailler en équipe en C qu'en langage d'assemblage... à condition que la cible le permette de façon efficace (stack, RAM etc). C'est pour ça que l'entreprise MIELE, par exemple, est passée au C en même temps qu'elle est passée aux microcontrôleurs 16 bits. Avant, c'était ASM.
Mais, juste pour info: Le travail en équipe sur des petits micros.... heuuuu. En général l'entreprise cherche plutôt à ce qu'en cas de remplacement de personnel les petites nouveaux sachent relire et maintenir le code de ceux qui sont partis. Le travail en équipe c'est plutôt pour les grosses applications sous OS.
30 développeurs sur un micro genre PIC (c'est toi qui vient de le dire)? Chacun écrit 20 lignes sans se marcher sur les pieds? Drôle d'entreprise!Travailles-tu en équipe? De 20 ou 30 développeurs?
Tu écris un cahier des charges et tu fais travailler un développeur par micro, c'est ça l'efficacité. Mais sinon, quel rapport?Développeurs à qui il est demandé de travailler sur 3 ou 4 micro cibles différents?
Les délais, je connais: En industrie tu rentres chez toi après ta journée, moi il m'est arrivé en sous-traitance de devoir travailler la nuit en plus. Et j'étais tout seul.Avec des délais qui souvent frisent l'indécence?
Sinon, quel rapport avec le sujet, encore une fois?
Je ne sais pas avec qui tu dialogues, mais tout programmeur qui a reçu un apprentissage a forcément vu ce qu'est l'assembleur à un moment donné, forcément.Je dialogue... avec le monde. Et toi, tu peux en dire autant?Amusant. Tu sais il n'y a pas que des newbies ici et tu n'es pas le seul à savoir ce qu'est l'assembleur.
Mais c'est amusant ce que tu dis, parce que c'est très très exactement ce que j'expliquais, puisque tu nies l'intérêt d'utiliser le langage d'assemblage dans un cours... mais toi tu l'as appris, et donc, lorsque tu lis un datasheet, tu profites de ces connaissances.... que tu prétends inutiles pour les autres. Et en plus tu ironises alors... que tu confirmes explicitement ce que je dis depuis le début: Apprentissage de l'assembleur UTILE.
Pour info, mes cours... ce sont DES COURS D'APPRENTISSAGE AUX MICROCONTRÔLEURS : Et donc je parle 'langage d'assemblage" puisque j'estime que c'est la base, ce que toi tu nies pour raisons de "certifications" et autres foutaises, pour, au final, reconnaître qu'il est indispensable, vu qu'évidemment tu n'est pas newbie (encore de la suffisance) et que tu l'as étudié.
Et donc, où diable as-tu étudié "l'assembleur" comme tu dis? Dans un cours? Ah mince! Tu as de la chance, ton prof n'a pas utilisé mes cours, il aurait pu, MDR.
Mes cours seraient lus par des "newbies"? Ah mince, des cours d'apprentissage qui sont lus uniquement par des experts dans le domaine, ça ne doit pas être simple à fourguer ça....
Tu réalises les inepties que tu es en train de raconter????
Ah mais, si ça se trouve... tu ne sais même pas sur quel sujet initial tu es en train d'argumenter, tu as totalement perdu le fil, tu en es à tenter de démontrer que tu ne peux pas avoir tort, faut trouver la faille....
Ohhh, j'ai froissé Monsieur parce que j'ai osé dire "pour un Français" au lieu de préciser "pour toute personne disposant du même niveau de vie que le Français moyen qui n'est pas au chômage, ou pour le Belge ou le Suisse qui se trouvent dans la même situation, qu'on peut considérer comme favorisée par rapport à un Africain de l'Afrique du Sud non desservi par livraison à domicile à un prix correspondant à son niveau de vie".Il n'était pas utile de dire "pour un Français", ton exemple est valable pour tout le monde, en tout cas pour des gens qui ont les moyens de mettre 150 euros dans des gadgets.
C'est mieux comme ça? Parce que, à part toi, j'ai l'impression de n'avoir vexé personne, ce n'était clairement pas l'intention. J'ai dit "Français" parce que je sais que je suis en train de parler à des Français. Moi, je suis Belge mais si j'avais dit "Belge" tu m'aurais répondu "Quel rapport?"
Tu n'as pas l'impression que c'est toi qui t'éloignes????? La question porte sur mes cours, explicitement, et sur rien d'autre: On est bien d'accord? Toutes les dérives sur la "portabilité", sur "l'inutilité des micros 8 bits à l'époque moderne", sur "les coûts dérisoires d'un micro 32 bits" etc, on est bien d'accord que ce n'est pas moi qui ai introduit ça, pas vrai?Ta démarche est louable mais là tu me parles de considérations sociales, on s'éloigne du sujet principal non?
Alors, le coup du "hors-sujet", STP, c'est assez déplacé.
Quand on répond à un type qu'il est idiot de lire un cours sur les PIC 8 bits ou qu'un STM32 ne coûte que 2€... Parler du status social de ceux qui lisent ces cours... ben à moi ça me semble en plein dans le sujet.
Mon sentiment à moi c'est que tu me parles sur un ton "paternaliste": Pour info, j'ai 60 ans, juste histoire de préciser le contexte.Mon sentiment est que tu es de bonne volonté mais que tu attaches à tes propos un certain point de vue qui n'est pas toujours très objectif... ou que tu mélanges l'approche éducative pour tous avec l'approche industrielle qui est bien souvent aux antipodes de tes affirmations , tant en terme de méthodes que de finalité.
On parle de quoi ici? De cours sur les PIC, non? Alors qui diable es-tu pour juger de mes méthodes et de l'efficacité de mon approche? Tu as aidé des jeunes? Et alors? C'est bien, continue. Ma démarche te dérange? Elle n'est pas complémentaire avec la tienne? Je te pique "des clients"? Il y a des étudiants chez toi qui te parlent de mes cours et ça t'énerve? Pourtant il me semble que plus il y a d'offres d'apprentissage sur le net, mieux c'est. Les internautes sont assez fûtés pour savoir ce qu'il est intéressant de lire ou pas, surtout que les retours concernant mes cours, ce n'est pas ce qui manque, chacun peut s'en faire une bonne idée.
Tu cherches à mouler tes étudiants Français du 91 (quelle rue?) à l'entreprise machin? Ben c'est bien, continue, c'est sûrement utile. Moi j'ai plutôt décidé de fournir du contenu hors-frontière destiné à donner des bases d'apprentissage à des personnes intéressées à se faire une culture dans ce domaine, afin qu'ensuite elles puissent démarrer leur propre apprentissage sur les cibles qui les intéressent.
Chacun son truc, je ne suis pas venu à ton cours dans le 91 pour critiquer la façon dont tu procédais, alors laisse-moi parler de ce que je veux dans mes cours: Si c'est nul, la sanction sera qu'ils ne seront pas lus, mais, pour l'instant, ça n'a pas l'air d'être le cas. Sans compter que s'ils ne sont plus téléchargés, ben je les vire: ça ne me rapporte pas un centime et même ça me coûte de l'argent.
J'en déduis que mes cours sont efficaces, qu'ils sont utiles à pas mal de personnes, et qu'ils font leur boulot. Et quand des gens attaquent la pertinence de mes cours, ces commentaires sont lus et ça dissuade des personnes qui cherchent à apprendre... à se lancer. Du coup, ça m'oblige à répondre et j'ai horreur de ça.
Du coup, il me semble que j'ai répondu à la question posée par l'internaute qui a ouvert ce sujet, j'aimerais assez pouvoir quitter cette conversation et passer à autre chose. Aussi, si tu veux continuer à parler certifications, utilité du langage d'assemblage, portabilité du C etc, pourquoi diable n'ouvres-tu pas ton propre sujet? Comme ça ça m'évite de devoir argumenter dans le vide pour défendre mon projet d'aide à l'apprentissage: Je ne viens pas dans le 91 assister à tes cours pour te reprocher d'être à côté de la plaque concernant tes certitudes.... fais de même!
Mais bon, c'est ma faute, je devrais me graver une fois pour toute dans ma caboche: Surtout ne plus participer aux forums! On m'a interpellé, le titre du sujet placé par cet internaute qui n'a même pas pris la peine de lire les recommandations sur mon site était à côté de la plaque et ça m'a convaincu d'intervenir: Grossière erreur, le résultat est pire.
Vive l'Internet libre
Vous avez bien du temps à perdre et visiblement êtes quelqu'un de très susceptible... Dommage.
Je viens d'aller voir votre site et en effet vous avez une approche sociale (et politique... c'est rien de le dire) bien à vous.
C'est votre droit.
Ceci explique sans doute votre réaction excessive.
Je pense que nous nous sommes tout dit en effet![]()
bonjour
il y a tout de même un domaine ou l'on pisse des millions de lignes de C/ASM devant être certifiées DO178 (DAL A,B,C) c'est l'aéronautique au passage le hard doit aussi être certifié DO254(DAL A,B,C) ainsi que tous les outils. Le cout de la certification est prohibitif mais c'est pour cà que les avions ne tombent pas trop souvent!
Nous avons eu le droit d'utiliser des PIC vers 2010 environ mais bien sur pour des petites fonctions, je ne crois pas que cela ait été fait car la solution dans ces cas c’était le processeur "soft" Altera NIOS2 dont il existe une version totalement certifiée, le reste tournait sur PPC, les µC Intel, étant à l’époque(et sans doute encore aujourd'hui), strictement non certifiables
J' y ai juste consacré 40 ans de ma vie.
Mais ne vous crêpez pas le chignon c'est contreproductif.
JR
l'électronique c'est pas du vaudou!
Exactement JR !Envoyé par jiherve
il y a tout de même un domaine ou l'on pisse des millions de lignes de C/ASM devant être certifiées
C'est aussi pour ça que je parlais de recommandation dans les tableaux de la norme 61508 (langages recommandés et hautement recommandés, tests recommandés et hautement recomandés). On peut faire autrement mais que si on peut prouver qu'on est safety (SIL), en hard c'est plus simple et en soft on est plus sur un contrôle poussé du cycle de développement. Pour les gros projets (SIL4), les recommandations deviennent quasiment des obligations.
Pour info ; Dans le civil quasiment toutes les normes de sûreté se réfère plus ou moins à la 61508.
C'est une bonne question, je n'ai jamais regardé si les micro de chez Microchip étaient (pré) certifié ou pas ?Le micro ou le compilateur ? Car les compilateurs XC de microchip sont certifiés :
https://www.microchip.com/design-cen...ctional-safety
Chez Texas Instruments la série Hercules l'est ; par exemple celui-ci http://www.ti.com/lit/ds/symlink/rm4...=1588149461133, Renesas en a aussi mais là aussi ce sont des recommandations (quasi-obligation dans la réalité). On reconnait les micro certifié par la redondance hardware (ici un double coeur), des loop-back sur les I/O permettant de s'assurer qu'on a pas des broches non fonctionnelles, du hard facilitant la mise en oeuvre des algorithmes de test mémoire de type "MARCH" par exemple etc...
ps : c'était juste pour ceux qui se demandent de quoi on parle avec ces notions de SIL selon EN61508 (hard+soft) ou DO174 (soft) et DO254 (hard)
Là où il n'y a pas de solution, il n'y a pas de problème.
Je ne critique pas son travail, il ne s'agit pas de cela dans cette discussion, si certains pouvaient dépasser ce coté fanatique dès qu'on émet des idées différentes du gourou (merci à jiherve d'élever le débat), ce serait sans doute plus constructif, vous ne croyez pas?
Son approche du tout assembleur et le C c'est nul ni portable, voilà ce que je critique, car ce n'est pas du tout comme ça que ça existe et encore heureux.
Aune objectivité dans cette discussion, juste une réaction exacerbée de quelqu'un qui se sent agressé dans son amour propre et conserve une vision passéiste, donc rien de technique là-dedans.
Je le rejoins au moins sur sa conclusion:
Il faudrait quand même qu'il pense à changer sa signature, c'est un peu paradoxal tout de même... de ne pas accepter le principe du débat contradictoire et de prôner la liberté.Surtout ne plus participer aux forums!
Merci d'enrichir le débat, vous avez tout à fait raison avec ces exemples.
Chez Texas Instruments la série Hercules l'est ; par exemple celui-ci http://www.ti.com/lit/ds/symlink/rm4...=1588149461133, Renesas en a aussi mais là aussi ce sont des recommandations (quasi-obligation dans la réalité). On reconnait les micro certifié par la redondance hardware (ici un double coeur), des loop-back sur les I/O permettant de s'assurer qu'on a pas des broches non fonctionnelles, du hard facilitant la mise en oeuvre des algorithmes de test mémoire de type "MARCH" par exemple etc...
Pour ceux qui seraient intéressés par ces aspects je vous invite à lire ce doc:
C'est clair que tu es respectueux, ouvert, et que c'est moi qui me vexe inutilement et sans raison.dès qu'on émet des idées différentes du gourou
Tu sais ce qu'il te dit, le gourou? Commence par prouver ce que tu vaux en partageant tes connaissances, ensuite on en reparle. Ou plutôt non, on laissera ceux qui utiliseront tes connaissances partagées en parler eux-mêmes, c'est plus pertinent.
Et moi ce que je critique, c'est que manifestement mes cours, que tu fais semblant de découvrir, te dérangent. Et également que tu fais semblant de ne pas savoir lire, à moins que ce ne soit réellement le cas.Son approche du tout assembleur et le C c'est nul ni portable, voilà ce que je critique, car ce n'est pas du tout comme ça que ça existe et encore heureux.
Parce que, ton affirmation sur "le tout assembleur", ça ne vient en aucun cas de cette "discussion" (ou plutôt : Attaque en règle). Du coup, ça ne peut venir que de "l'assembleur" dont je parle dans mes cours... et que donc tu connais, ainsi que mon site. Quant à l'affirmation "le C c'est nul", c'est marrant puisque j'utilise le C et qu'en plus je l'ai indiqué explicitement dans la liste des langages que j'utilisais. Niveau "malhonnêteté intellectuelle", tu bats des records absolus.
J'ai eu beau rappeler à 3 reprises dans cette "discussion" que je ne prônais pas le "tout assembleur", mais que je parlais de son utilité spécifique à l'apprentissage et à la réalisation de routines spécifiques, tu reviens à la charge sans tenir compte le moins du monde de ce que j'ai dit: En fait, en parlant "gourou", tu montres bien d'où vient ton problème: Une espèce de complexe provenant, si ça se trouve, de tes propres élèves qui te demandent d'utiliser mes cours, MDR.
Sinon, juste pour info: Sur mon site il y a un tutoriel que j'ai écrit pour démarrer la programmation des microcontrôleurs ARM Cortex M3... ET CE COURS UTILISE EXCLUSIVEMENT LE LANGAGE C, et TOUTES LES LIBRAIRIES QUE JE FOURNIS SONT ÉCRITES EN C. Alors ton argument "tout assembleur", ça tombe à plat, c'est démenti PAR MON PROPRE SITE. Et donc si, j'utilise le C, mais, du reste, je l'ai indiqué à de multiples reprises ici (mais bon le tri sélectif ce n'est pas que pour les ordures manifestement). J'ai aussi tout le pack de développement en C sous PIC32, avec tous les outils et les licences : Je n'ai simplement pas pu écrire un cours dessus... parce que tout seul c'était mission impossible, trop de choses à dire et ça aurait nécessité au moins 5000 pages et qu'en plus c'était trop ciblé "entreprise": J'ai pensé que mieux valait une introduction (limitée) aux ARM Mx. Et là, c'est aussi IMPOSSIBLE de tout aborder, on doit se contenter de survoler.
Moralité, pour avoir une base COMPLÈTE sur au moins un microcontrôleur, en reprenant chaque registre, chaque fonction, chaque bit, chaque technique... on DOIT IMPÉRATIVEMENT prendre un micro simple et travailler en langage d'assemblage. Si tu ne comprends pas ça, alors tu n'as rien compris à ma démarche. La tienne c'est "je produis du travailleur bon à l'emploi" et moi c'est "j'ouvre l'esprit pour permettre l'évolution".
Ce qui n'empêche que non, le C sur microcontrôleurs n'est pas portable: Mes librairies écrites en C sont inutilisables sur un autre micro que celui ciblé d'origine.
Et même si on prend des librairies "officielles" (Segger, Keil, NXP ...), on constate que, POUR LA MÊME FAMILLE DE MICROS, juste des modèles différents, on n'arrive à faire des librairies "compatibles".... qu'à coup de #ifdef et donc de compilation conditionnelle. Autrement dit, on met les codes différents correspondant à plusieurs micros de la même famille et on compile en fonction du micro choisi. Niveau "portabilité... heuuu....
Alors dès qu'on change de famille, autant oublier de suite.
Sinon, on ne taxe pas de "gourou" quelqu'un dont on vient d'apprendre l'existence, dont on ignore tout, qui écrit sur un site qu'on n'a pas vu des livres qu'on n'a pas lus, sous prétexte que deux internautes ont fait remarquer que peut-être que le langage d'assemblage est pertinent pour l'apprentissage. Surtout quand on précise soi-même que, bien évidemment, tout le monde qui a étudié l'informatique... a forcément appris "l'assembleur".
Non, ça montre clairement un vieux contentieux refoulé, c'est manifeste.
Aucune objectivité? J'ai répondu point par point, et pour chaque point auquel j'ai répondu tu en as soulevé un autre... qui n'avait STRICTEMENT RIEN À VOIR avec l'intitulé du sujet, encore moins avec la pertinence de partir du langage d'assemblage DANS LE CADRE D'UN COURS D'APPRENTISSAGE SUR LES MICROCONTROLEURS PIC. Il te faut impérativement trouver un point qui t'attribue une sorte de "victoire". Sache qu'il faudrait des milliers de messages comme le tien pour invalider ne serait-ce qu'un seul mail de remerciement que j'ai reçu.Aune objectivité dans cette discussion, juste une réaction exacerbée de quelqu'un qui se sent agressé dans son amour propre et conserve une vision passéiste, donc rien de technique là-dedans.
Réaction exacerbée? Tu as utilisé le mépris, le ton paternaliste, l'inversion de réalité, la suffisance, les déclarations d'autorité, l'attribution de choses que je n'ai jamais dites, l'insulte et le déni de mon travail, et j'ai une réaction exacerbée?
Mince!
Il te faut vraiment essayer de trouver quelque part une légitimité à tes affirmations: C'est pathétique. Jiherve précise bien le contexte de ces certifications, tout le contraire de toi qui explique que c'est "universel". Et, encore une fois, absolument sans le moindre rapport avec un cours sur les microcontrôleurs. J'écris DES COURS permettant d'apprendre COMMENT FONCTIONNE UN MICROCONTROLEUR: Je ne donne pas des cours sur LA FAÇON D'ÉCRIRE UNE APPLICATION DESTINÉE À L'AÉRONAUTIQUE.Merci d'enrichir le débat, vous avez tout à fait raison avec ces exemples.
Ensuite, faudra m'expliquer le rapport entre "dénigrer le langage d'assemblage comme outil d'apprentissage" et "réaliser des applications dites "certifiées" dans un contexte donné.
Au passage, bien évidemment que Microchip fourni des composants avec certification lorsque c'est nécessaire, suffit de voir par exemple son projet "Azure IOT" pour ce domaine spécifique de l'internet des objets.
Les gens qui cherchent à "comprendre comment ça marche" dans le cadre d'études officielles ou personnelles, mes cours les intéressent, et ceux qui désirent utiliser de petits micros en amateur également. Ensuite, j'ai donné les bases, à eux de continuer. Mes cours n'ont jamais eu prétention à former des gens prêts à l'embauche dans des secteurs qui nécessitent des applications certifiées, c'est du délire total. C'est une base pour mettre le pied à l'étrier et ensuite s'orienter vers où on veut. Du reste je continue d'apprendre en fonction de l'évolution de mes projets et je fais du micro depuis 1978 (de mémoire), et de l'informatique "classique" depuis 1980. Alors former quelqu'un d'opérationnel avec un cours sur les PIC....
Ouais, c'est clair que c'est toi qui va me donner des leçons sur la politique et les libertés! Pour info, la liberté ça consiste aussi à respecter les autres, c'en est même un principe de base. Ici, tu m'attaques, c'est ton droit de penser ce que tu penses, encore qu'on peut ne pas être d'accord sans tomber dans tous les travers de dialogues que tu as utilisé. Mais, pour info, avoir le "droit" de m'attaquer, même sans la moindre raison objective, et en plus en assénant à répétition des propos que je n'ai jamais tenus, ça ne me retire pas mon droit à moi de te répondre du berger à la bergère et de te clouer le bec sur chaque point précis que tu as abordé... et qui sont tous hors-sujet, le seul but étant de zigzaguer dans tous les sens dans l'unique but de "trouver la faille" dans les "affirmations du gourou Bigonoff". Chacun sa notoriété, tu as probablement décidé d'aller montrer à tes élèves du 91 "Comment on casse du Bigonoff", juste pour justifier la pertinence de tes propres cours. Moi, aucun besoin de ça: Je fournis des cours, je demande aux internautes de corriger les inévitables erreurs, je corrige... et ce sont les internautes qui utilisent qui jugent au final. Si eux (les vrais utilisateurs) n'aiment plus mes cours, aucun souci, je les range au chaud dans ma culotte, je ferme mon site et je passe à autre chose: Ma vie ne se résume pas à ça, heureusement pour moi: Je me contente d'avoir été utile un temps, c'est déjà pas mal du tout me semble-t-il, et penser qu'on est "immortel" ou "indispensable" c'est juste d'une arrogance invraisemblable. Pour l'instant mes cours sont encore téléchargés et utilisés, principalement dans les pays défavorisés vu qu'ici maintenant c'est plutôt Arduino, ça économise l'énergie de l'apprentissage.Il faudrait quand même qu'il pense à changer sa signature, c'est un peu paradoxal tout de même... de ne pas accepter le principe du débat contradictoire et de prôner la liberté.
En être réduit au point où tu en arrives, c'est juste triste, mieux vaut s'affirmer par son propre talent qu'en tentant de démonter le travail des autres. Surtout que le monde ne croule guère sous la bonne volonté...
Pour ce qui est de me faire changer ma signature, comprends bien que je ne vais pas changer ce que je suis (un esprit libre, au sens de Friedrich Nietzsche) sur injonction d'un frustré du net incapable de dialoguer de façon honnête et courtoise.
Bon, moi j'arrête là, continuez sans moi, je ne répondrai plus à rien, ce qui ne voudra pas dire que tu as raison, mais juste qu'il n'y a ici aucune volonté constructive de quoi que ce soit, juste une envie d'en découdre manifeste. "Décousez" sans moi, MDR, celui que ça intéresse peut me trouver au bout de mon adresse mail!
Salut à tous!
Vive l'Internet libre
<< N'importe quoi : mon grand frère il a la Playstation, ben c'est trop mieux que la xbox ... >>
<< L'histoire nous apprend que l'on apprend rien de l'histoire. >>
Bonjour
j'ai travaillé sur les calculateurs Airbus a partir de l'A300 et les processeurs étaient tous des Intel (8086 céramique sur A300 )bonjour
il y a tout de même un domaine ou l'on pisse des millions de lignes de C/ASM devant être certifiées DO178 (DAL A,B,C) c'est l'aéronautique au passage le hard doit aussi être certifié DO254(DAL A,B,C) ainsi que tous les outils. Le cout de la certification est prohibitif mais c'est pour cà que les avions ne tombent pas trop souvent!
Nous avons eu le droit d'utiliser des PIC vers 2010 environ mais bien sur pour des petites fonctions, je ne crois pas que cela ait été fait car la solution dans ces cas c’était le processeur "soft" Altera NIOS2 dont il existe une version totalement certifiée, le reste tournait sur PPC, les µC Intel, étant à l’époque(et sans doute encore aujourd'hui), strictement non certifiables
J' y ai juste consacré 40 ans de ma vie.
Mais ne vous crêpez pas le chignon c'est contreproductif.
JR
@doudou911
C'est intéressant ça, tes calculateurs faisaient partie de la chaîne de sûreté ? Il y a aussi des notions de "Proven In Use" en aéro (éprouvé dans le temps qui peuvent te faire passer un palier dans la norme même si de prime abord ça semble non certifiable) ?
Je demande car moi j'ai fait du SIL (61508 dans le marché Oil & Gas, des détecteurs de gaz) et tout n'entre pas dans le SIL, je veux dire que certaine partie comme les interfaces hommes machines par exemple n'ont pas besoin d'être SIL ou encore si tu as un micro utilisé depuis des années et qui n'a causé la mort de personne, ni d'explosions ça entre vachement en compte dans la certification.
A+
Là où il n'y a pas de solution, il n'y a pas de problème.
Salut,
n'étant pas informaticien pour un sous, je tire un grand coup de chapeau à notre ami Bigonoff pour sa pédagogie et surtout pour son rapprochement entre l'électronique et le logiciel. L'assembleur permet de contrôler chaque coup d'horloge et pour un électronicien, c'est primordial !
Vous m'avez appris beaucoup de nombreux concepts que j’utilise maintenant, merci Monsieur.
Tout existe, il suffit de le trouver...!
oui c'était les calculateurs qui géraient les moteurs et les commandes de vols@doudou911
C'est intéressant ça, tes calculateurs faisaient partie de la chaîne de sûreté ? Il y a aussi des notions de "Proven In Use" en aéro (éprouvé dans le temps qui peuvent te faire passer un palier dans la norme même si de prime abord ça semble non certifiable) ?
Je demande car moi j'ai fait du SIL (61508 dans le marché Oil & Gas, des détecteurs de gaz) et tout n'entre pas dans le SIL, je veux dire que certaine partie comme les interfaces hommes machines par exemple n'ont pas besoin d'être SIL ou encore si tu as un micro utilisé depuis des années et qui n'a causé la mort de personne, ni d'explosions ça entre vachement en compte dans la certification.
A+
Bonsoir,
Oui mais çà c’était avant la mise en place de la DO254 et tous n’étaient pas des INTEL il y avait aussi du MOTO : 68020, puis du 68040 et même des processeurs propriétaires.car il n'y avait pas que ces calculateurs(ex SFENA ?)
Renseignes toi sur ce qu'il y a dedans maintenant!
JR
Dernière modification par jiherve ; 29/04/2020 à 19h51.
l'électronique c'est pas du vaudou!
On va pas tarder à attaquer les processeurs en tranche . . .![]()
L'électronique c'est comme le violon. Soit on joue juste, soit on joue tzigane . . .
Je tiens juste à saluer ici le dévouement et la somme de travail bénévole, il faut le souligner, lui survivra certainement.
J'aurais vraiment pouvoir en dire autant...
J'ai glissé Chef !
Oui, c'est un gros chantier qu'il a bien mené.
L'électronique c'est comme le violon. Soit on joue juste, soit on joue tzigane . . .
Bonjour,
et oui j'ai travaillé a la SFENA, puis SEXTANT et maintenant c'est THALES mais je suis à la retraite mais je vais me renseigner sur les nouveaux processeurs (j'ai gardé des contacts).Bonsoir,
Oui mais çà c’était avant la mise en place de la DO254 et tous n’étaient pas des INTEL il y avait aussi du MOTO : 68020, puis du 68040 et même des processeurs propriétaires.car il n'y avait pas que ces calculateurs(ex SFENA ?)
Renseignes toi sur ce qu'il y a dedans maintenant!
JR
Eh bien ,moi aussi un grand coup de chapeau à notre ami BigOnOff !!!je tire un grand coup de chapeau à notre ami Bigonoff
Pour son travail scrupuleux sur les "Microchip" .
Et surtout son humanisme , car à l'époque ou l'on veut tout monétiser, ça fait du bien de voir que le genre humain n'est pas encore totalement corrompu ...
Je fais ce post pour encourager notre ami BigOnOff , car il reste sans doute encore un espoir.
Ce qui est bien dommage sur les forums, c est qu'on ne peut pas débattre sérieusement et paisiblement de différents µc ou logiciels sans que ça tourne , a une lutte de clans...
Dernière modification par Antoane ; 30/04/2020 à 10h17. Motif: réparation balises
A+, pat
****
Voici ce qu'on peut lire sur son site:
Et surtout, comprenez que les morts ne sont pas provoquées par un virus: Les ennemis de l'humanité, les Juifs sionistes mondialistes (Gates, Rotschild, Rockefeller, Sachs, Attali, BHL etc.) ont trouvé un moyen d'accomplir leur projet, qui est explicitement: La réduction de la population mondiale! Nous avons identifié nos ennemis, il faut les combattre et surtout trouver la façon dont ils procèdent.
****
Dernière modification par Antoane ; 30/04/2020 à 10h17. Motif: insultes
bonjour
je suis très désagréablement surpris et profondément déçu !
JR
l'électronique c'est pas du vaudou!
Bonjour,
Merci de se limiter aux considérations techniques.
Dernière modification par Antoane ; 30/04/2020 à 10h20.
Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.
Pardon, j'avais pas vu qu'il fallait se limiter aux considérations techniques.
On retourne donc au questionnement du primo posteur ?![]()
L'électronique c'est comme le violon. Soit on joue juste, soit on joue tzigane . . .
Bonjour,
Je ne peux pas lire ça sans réagir :
1°) l'assembleur, c'est comme l'orthographe, ce n'est pas prêt d'être dépassé.
2°) Si Bigonoff tombe sur cet article, je ne suis pas sûr que ça va lui-faire plaisir, après avoir passé des années à enrichir cette bible, répondu à des milliers de mails.
3°) J'ai écris un petit programme en assembleur pour faire rouler ma moto à l'E85. Si quelqu'un arrive à faire tourner un programme écrit en C en 1OOµs, je suis preneur. En assembleur, j'ai une boucle en fin de traitement pour perdre du temps....
4°) Je suis preneur aussi d'un Tuto pour MPLAB-X.
Merci à tous les courageux qui partagent et aident les autres.
La critique est facile, l'art est difficile.
Les débats C/assembly n'ont pas d'avenir, à moins de cas concrets où la mémoire est utilisée jusqu'au dernier bit ou autres contraintes bizzaroïdes . . .
Le travail de Bigonoff a été indéniablement utile et tout le monde le sait, mais il vaut mieux s'arrêter là.
Tu cherches des tuto en français ?
L'électronique c'est comme le violon. Soit on joue juste, soit on joue tzigane . . .