OK, je vois ça et te l'envoi.
C'est pas gênant que le compilateur ne soit pas récent ? genre V1.21
-----
OK, je vois ça et te l'envoi.
C'est pas gênant que le compilateur ne soit pas récent ? genre V1.21
Je t'envoi un lien de mon prog,Je parlais uniquement du 32MZ, le 32MX ne fait pas le SQI.
Si tu t'obstines à intégrer le driver MLA à Harmony, je ne peux rien faire, Harmony est trop complexe, et je ne le connais pas assez bien.
Tu peux regarder là, certains ont modifié le driver SST25 Harmony pour la SST26, mais faut savoir bidouiller le méandre Harmony.
http://www.microchip.com/forums/m888143.aspx
On y apprend que la flash est verrouillée en readonly, semble-t-il à chaque power on.
Si tu as fait un projet Xc32 tout simple NON Harmony, tu peux le joindre en zip, je le regarderais.
https://www.dropbox.com/sh/q2mfi7b2f...pdWMuqrca?dl=0
L'architecture n'est pas forcement dans les règle de l'art, à l'époque je m’entraînais à maîtriser la bête pic32 , en ethernet, usb, et autre I/O.
Mais bon à l'origine ce soft fonctionnait jusqu'au moment ou j'ai mis les fichiers récent dont on parle en ce moment et là je bloque pas mal ):
J'ai rechargé à nouveau mon fichier
En fait, quand j'inclut mon fichier SST ça passe pas encore
Tu ne maitrises pas du tout le spi. Donc tu attends qu'un driver SST26 utilisable sorte, ou tu dessoudes la SST26 et tu mets une SST25 à la place. Il fallait vérifier que la librairie existe avant de sélectionner le composant. Avec une eeprom par exemple, cela aurait été sans doute plus simple. Je peux pas faire une librairie à ta place, et sans avoir le composant en plus, désolé.
Quand on parle des fonctions spi init/put/get, est ce que tu comprends ce que cela veut dire ?
C'est un ancien programme, que je remanie pour l'occasion, j'essai d'y configurer le bus SPI et dois faire un tour sur la docs pour implémenter les registres concernés.
A moins qu'il existe quelque part du code qui me fera accélérer
A la base j'avais pris du sst25, seulement microchip l'a annoncé obselète, donc plus produite c'est pour cette raison que je me suis orienté vers la sst26
Quand on parle des fonctions spi init/put/get, est ce que tu comprends ce que cela veut dire ?
Alors pourquoi tu n'as pas fait les fonctions put() et get(), et GetBuffer() qui est juste une boucle avec get() ?
Tu télécharge xc32 3.40
Tu crées un nouveau projet
Il contient main.c, le_driver.c, my_spi_pic32.c, le_driver.h, my_spi_pic32.h, system.h
et rien d'autres, et tu relis tout ce qui est au dessus calmement.
Bah je suis sur le point de les implémenter avec les fichiers que j'ai envoyé, seulement j'avais des problèmes de compilation à régler, c'est pour cette raison que je n'est pas pu les mettre tout de suite.Alors pourquoi tu n'as pas fait les fonctions put() et get(), et GetBuffer() qui est juste une boucle avec get() ?
Tu télécharge xc32 3.40
Tu crées un nouveau projet
Il contient main.c, le_driver.c, my_spi_pic32.c, le_driver.h, my_spi_pic32.h, system.h
et rien d'autres, et tu relis tout ce qui est au dessus calmement.
Mais après ta raison , je devrais partir d'un nouveau projet , je vois ça
Tu traines des vieux fichiers usb.c, flash.c, et tu t'étonnes d'avoir des erreurs de compil, c'est pas du lego ...
Tu as zappé les 2 ou 3 jours de boulot avant compilation, tu veux apprendre le C, c'est le moment.
Dans le my_spi_pi32.h, tu prototypes tes fonctions de la même façon que le_driver.h
Une fois ton my_spi_pi32.h ok, tu le mets en #include dans le_driver.c, et tu compiles celui-ci tout seul avec un clic droit dessus, et il ne doit y a voir aucune erreur de compilation du fichier.
Ensuite tu implémentes les fonctions dans my_spi_pi32.c
Je suis repartie d'un nouveau projet
https://www.dropbox.com/sh/tx6vi9o35...Z6nakJ2va?dl=0
Seulement j'ai pas l'habitude de partir de rien, et il faut d'abord que je configure le system ,notamment la clock de mon ancien programme que j'ai repris, en reprenant les pragma (dont la notion m'échappe quelque peu, mais ça fonctionnait en tout cas )
des instruction du system ne sont plus reconnu sur le nouveau projet , comme celle-ci :
SYSTEMConfig(SYS_FREQ, SYS_CFG_WAIT_STATES | SYS_CFG_PCACHE);
// enable device multi-vector interrupts
INTEnableSystemMultiVectoredIn t();//ClrWdt();
//Enable multi-vector interrupts
INTConfigureSystem(INT_SYSTEM_ CONFIG_MULT_VECTOR);
qui mettait en fonction l'horloge notamment
Code:#include <xc.h> #pragma config FNOSC = FRCPLL #pragma config FPLLMUL = MUL_20, FPLLIDIV = DIV_2, FPLLODIV = DIV_1, FPBDIV = DIV_1 void main() { DDPCONbits.JTAGEN = 0; // pins jtag off AD1PCFG = 0xffff; // port B numérique _TRISB0 = 0; // led en B0 while (1) { int i; for (i=0; i<200000; i++) ; _LATB0 = !_LATB0; } }
Excuse moi mais, quand tu parles du fichier le_driver.h , tu parle de nvm_flash_spi_sst26vf0xxb.hTu traines des vieux fichiers usb.c, flash.c, et tu t'étonnes d'avoir des erreurs de compil, c'est pas du lego ...
Tu as zappé les 2 ou 3 jours de boulot avant compilation, tu veux apprendre le C, c'est le moment.
Dans le my_spi_pi32.h, tu prototypes tes fonctions de la même façon que le_driver.h
Une fois ton my_spi_pi32.h ok, tu le mets en #include dans le_driver.c, et tu compiles celui-ci tout seul avec un clic droit dessus, et il ne doit y a voir aucune erreur de compilation du fichier.
Ensuite tu implémentes les fonctions dans my_spi_pi32.c
oui
démarre le main, la led doit clignoter toutes les 200ms environ.
ensuite compile le_driveur_qui_va_bien.c SEUL.
OK ça demarre
Le projet avec le main seul, fais-en un zip, il te servira plus tard, pour tester d'autres choses.
Là les 3 horloges citées plus haut sont à 80 MHz.
Bon je sais pas ce que tu veux dire par seul mais j'ai donc introduit le fichier nvm_flash_spi_sst26vf0xxb.c et évidement j'ai des erreurs
Après j'ai mis le nvm_flash_spi_sst26vf0xxb.h mais pour le moment pas plus de succesCode:make -f nbproject/Makefile-default.mk dist/default/production/SST26.X.production.hex make[2]: Entering directory 'C:/microchip/SST26/SST26.X' ../nvm_flash_spi_sst26vf0xxb.c:25:20: fatal error: system.h: No such file or directory "C:\Program Files (x86)\Microchip\xc32\v1.34\bin\xc32-gcc.exe" -g -x c -c -mprocessor=32MX795F512L -MMD -MF build/default/production/_ext/1472/nvm_flash_spi_sst26vf0xxb.o.d -o build/default/production/_ext/1472/nvm_flash_spi_sst26vf0xxb.o ../nvm_flash_spi_sst26vf0xxb.c compilation terminated. nbproject/Makefile-default.mk:141: recipe for target 'build/default/production/_ext/1472/nvm_flash_spi_sst26vf0xxb.o' failed make[2]: *** [build/default/production/_ext/1472/nvm_flash_spi_sst26vf0xxb.o] Error 1 make[2]: *** Waiting for unfinished jobs.... "C:\Program Files (x86)\Microchip\xc32\v1.34\bin\xc32-gcc.exe" -g -x c -c -mprocessor=32MX795F512L -MMD -MF build/default/production/driver.o.d -o build/default/production/driver.o driver.c "C:\Program Files (x86)\Microchip\xc32\v1.34\bin\xc32-gcc.exe" -g -x c -c -mprocessor=32MX795F512L -MMD -MF build/default/production/spi_pic32.o.d -o build/default/production/spi_pic32.o spi_pic32.c "C:\Program Files (x86)\Microchip\xc32\v1.34\bin\xc32-gcc.exe" -g -x c -c -mprocessor=32MX795F512L -MMD -MF build/default/production/main.o.d -o build/default/production/main.o main.c In file included from main.c:13:0: nbproject/Makefile-default.mk:123: recipe for target 'build/default/production/main.o' failed system.h:29:38: fatal error: nvm_flash_spi_sst26vf0xxb.h: No such file or directory make[2]: Leaving directory 'C:/microchip/SST26/SST26.X' nbproject/Makefile-default.mk:78: recipe for target '.build-conf' failed compilation terminated. make[2]: *** [build/default/production/main.o] Error 1 make[1]: Leaving directory 'C:/microchip/SST26/SST26.X' make[1]: *** [.build-conf] Error 2 nbproject/Makefile-impl.mk:39: recipe for target '.build-impl' failed make: *** [.build-impl] Error 2 BUILD FAILED (exit value 2, total time: 604ms)
Tu es fatigant, même en te répétant plusieurs fois, ça passe pas ...
il ya un pokemon "clic droit" dans le coin, cherche le
Désolé mais moi aussi je fatigue pas mal (: et j'ai tendance à m'éparpillé, que veux tu dire à nouveau (:
et entre temps nos messages ce croise apparemment, j'ai pas vu le poste 46
ha on est là , c'est ça autant pour moiDans le my_spi_pi32.h, tu prototypes tes fonctions de la même façon que le_driver.h
Une fois ton my_spi_pi32.h ok, tu le mets en #include dans le_driver.c, et tu compiles celui-ci tout seul avec un clic droit dessus, et il ne doit y a voir aucune erreur de compilation du fichier.
Ensuite tu implémentes les fonctions dans my_spi_pi32.c
je veux surtout dire qu'on est pas sur un chat.
ok , je savais pas que l'on pouvait compiler un seul fichier, ok c'est fait
Code:CLEAN SUCCESSFUL (total time: 51ms) "C:\Program Files (x86)\Microchip\xc32\v1.34\bin\xc32-gcc.exe" -g -x c -c -mprocessor=32MX795F512L -MMD -MF build/default/production/_ext/1472/nvm_flash_spi_sst26vf0xxb.o.d -o build/default/production/_ext/1472/nvm_flash_spi_sst26vf0xxb.o ../nvm_flash_spi_sst26vf0xxb.c In file included from ../nvm_flash_spi_sst26vf0xxb.c:26:0: ../nvm_flash_spi_sst26vf0xxb.h:56:54: error: expected ')' before '*' token nbproject/Makefile-default.mk:141: recipe for target 'build/default/production/_ext/1472/nvm_flash_spi_sst26vf0xxb.o' failed ../nvm_flash_spi_sst26vf0xxb.c:27:23: fatal error: spi_pic32.h: No such file or directory compilation terminated. make: *** [build/default/production/_ext/1472/nvm_flash_spi_sst26vf0xxb.o] Error 1 BUILD FAILED (exit value 2, total time: 302ms)
Le message est très clair, tu sais lire, en plus tu maîtrises l'anglais, donc c'est ton problème.
Tu dois compiler ce fichier tout seul, et tu en as les capacités, mais il semble que tu sois le dernier à en être convaincu.
Bah c'est que j'ai fais, clic droit sur le fichier nvm_flash_spi_sst26vf0xxb.c un fois mis #include spi_pic32.h dedans puis je le compile tout seul
u dois compiler ce fichier tout seul et tout seul
Désolé, mais je t'assure que j'essai de comprendre, mais je me soigne (:
Je zomme un peu plus
y a pas de pokemon
Par contre, une chose : je n'ai encore implémenté les fonctions dans spi_pic32.c , juste dans le .h et laisse en texte dans le .c
Je dois donc les implémenter
j'ai rafraîchie le lien du programme https://www.dropbox.com/sh/gtj185qi5...k3Xndtnda?dl=0 si tu veux jeter un coup d'oeil
Si tu regardes bien l'erreur elle pointe un numéro de ligne et une colonne, et en plus il t'affiche tout ça. On tombe sur une structure, qui n'est pas définie lorsque qu'on compile le fichier driver, alors demande-toi pourquoi tu as touché à ce fichier driver.c beaucoup plus que je t'ai dit de le faire, tu n'as plus qu'à remonter tous les posts, pour trouver ton erreur.
Définir une structure, on a déjà vu ça ensemble.