Sari la conținut
ELFORUM - Forumul electronistilor

Advisory la HITECH C


lama

Postări Recomandate

salut

Tot obtin un

Advisory[1395] notable code sequence candidate suitable for compiler validation suite detected (1246)

Am citit pe forum la Microchip si nu mi-a placut

Just in case anyone is wondering, this message is part of our new testing process. The compiler will display this message if it encounters a specific code sequence that results in compiler templates being used in a unique way -- this is difficult to explain if you are not familiar with the compiler internals. It does not mean there is a bug in the generated code, but that the code sequence is less tested. If you wish to participate, sending in the code enabled us to create new test suite cases that will more rigorously test that particular situation.

 

Half the problem we have had with testing is coming up with C code sequence that test every combination of template. Sometimes, no matter how hard we try, we can't find a C code sequence that covers everything. This scheme means that we can have everyone working on this problem.

 

A patit cineva aiurea? Adica codul nu a mers cum trebuia, cum mai scrie cite cineva pe forum la Microchip?

 

Apoi unul zicea ca sa trec la MPLAB® XC Compilers

La folosit cineva?

 

Stima

Link spre comentariu
  • Răspunsuri 12
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • lama

    5

  • Liviu M

    4

  • Elef

    1

  • Th3_uN1Qu3

    1

Top autori în acest subiect

Am pus XC8 si am incercat sa recompilez un proiect(care nerge bine cu 8.9x parca, chiar lasa vre-o 30% din memorie libera) si nu mai am loc in microcontroler.XC8 e in modul free, nu stiu cum e in profesional .....

Link spre comentariu

Din cate am inteles eu de pe forumul uChip (urmaresc evolutia lui mplabx), compilatoarele XC sunt versiunile noi ale hitech-picc. Adica de la un anumit moment compilatoarele hitech nu se mai cheama picc 9.8x, ci XC ver. 1.Asa ca daca picc l-ai folosit tot in modul lite, ar trebui sa nu fie diferente prea mari in "calitatea" codului.

Link spre comentariu

Din cate am inteles eu de pe forumul uChip (urmaresc evolutia lui mplabx), compilatoarele XC sunt versiunile noi ale hitech-picc. Adica de la un anumit moment compilatoarele hitech nu se mai cheama picc 9.8x, ci XC ver. 1.Asa ca daca picc l-ai folosit tot in modul lite, ar trebui sa nu fie diferente prea mari in "calitatea" codului.

hitech-ul nu e liteXC8 e freedar de la 70% ocupare la hitec la lipsa de memorie la XC8 e c-am mult ....Plus ca advisory a ramas
Link spre comentariu

Nu-ti poti activa XC-ul cu licenta de la picc?Pe de alta parte, cred ca XC-ul are perioada de avaluare de 45 zile.Poti face o incercare, sa vezi daca ramane comparabil cu picc-ul.

Link spre comentariu

Orice compilator are setări pentru optimizarea codului.Caută unde sunt setările şi încearcă diferite nivele de optimizare.Optimizarea se poate face preponderent pentru viteză sau preponderent pentru memorie. Între cele două extreme, există mai multe trepte de optimizare. Unele nivele de optimizare fac risipă de memorie în favoarea vitezei de execuţie, altele sacrifică viteza pentru a face economie de memorie.

Link spre comentariu

In varianta free, compilatoarele de la HiTech/Microchip (picc & XC in modul lite) au optimizarile dezactivate. Cand compilezi cu ele, te anunta ca daca ai fi avut versiunea pro codul ar fi fost cu cel putin 40% mai mic si mai rapid.

Link spre comentariu

Chiar de lepadat nu e, ca in suficient de multe cazuri nu e nevoie de "ultima picatura" in materie de resurse. Si daca chiar nu merge altfel, treci la seria mai mare. Eu asa am facut cu controlerul de acvariu - cand n-a mai incaput in 16F877 l-am mutat in 18F452. Codul a functionat (aproape) nemodificat, controlleril a fost cred, curios, chiar mai ieftin...

Link spre comentariu

Chiar de lepadat nu e, ca in suficient de multe cazuri nu e nevoie de "ultima picatura" in materie de resurse. Si daca chiar nu merge altfel, treci la seria mai mare. Eu asa am facut cu controlerul de acvariu - cand n-a mai incaput in 16F877 l-am mutat in 18F452. Codul a functionat (aproape) nemodificat, controlleril a fost cred, curios, chiar mai ieftin...

Chiar asaCind nu a mai incaput in 12f675 ma dus la 12f683La fel si pe 12f628a , am trecut la 12f648aAcuma ma "joc" cu 16f690 (4k) dar am comandat si un 18f2550 (32k) in caz ca raman fara memorie :da
Link spre comentariu

Sincer nu mi-o luati in nume de rau dar pt uC-uri gen 12f675 sau 16f628 cred ca C-ul este o pierdere de timp.Din toate punctele de vedere.Pt uC-uri gen 18f4520 merge C-ul perfect(si aici sunt tot felul de smecherii pt a reduce spatiul consumat care nu tin de compilator ci de tehnica de programare) dar seriile 12f si 16f au prea putina memorie pt C.

Link spre comentariu

Sincer nu mi-o luati in nume de rau dar pt uC-uri gen 12f675 sau 16f628 cred ca C-ul este o pierdere de timp.Din toate punctele de vedere.

Subscriu, am scris 12F675 in ASM si nu am avut probleme. La ce memorie mica are nici nu ma gandeam la C.
Link spre comentariu

Partea prosta pentru mine e ca nu imi place asm.Iar chestia cu C e discutabila Mergeti la Golium pe site si vedeti comparatii.Un C optimizat nu este cu mult mai mare ca un asm.Ne optimizat e imens, intradevar.PS:Daca nu folosesti funciti de tip sprintf e chiar ok. Daca faci greseala gata sa dus distractia(mai ales daca faci ceva cu un float)

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări