Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
Modérateur : Jérémy
OLED GC9A01 et SPI Hardw 18F27K42
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
Encore mieux avec saut du test flag SPI1RXIF
j'ai quand meme gardé un NOP !
(11:23:20.907) Test duree Ecran Noir (SPI 8MHz!)
(11:23:21.046) Stop. SMT1=2131367 ,soit 133210 uS 133mS .... 292mS at 8MHz
(11:23:21.056)
(11:23:28.833) Test Duree de Chargement image Voltmetre.bmp
(11:23:29.068) Stop. SMT1=3787218 ,soit 236701 uS 237mS .. 395ms at 8MHz
(11:23:29.080) ..fin Affichage Image voltmetre
sans le NOP
le comportement de L'OLED reste OK !!!
(11:30:12.774) Test duree Ecran Noir (SPI 8MHz!)
(11:30:12.908) Stop. SMT1=2016156 ,soit 126009 uS 126mS
(11:30:20.668) Test Duree de Chargement image Voltmetre.bmp
(11:30:20.885) Stop. SMT1=3672018 ,soit 229501 uS 229mS
(11:30:20.899) ..fin Affichage Image voltmetre
la lecture
c = SPI1RXB;
semble indispensable ...
Code : Tout sélectionner
void SendData(Byte c) // SS low par LATC2=0 ayant été fait au préalable
{
_DC = 1;
SPI1TXB = c;
__asm("NOP");
// while (!PIR2bits.SPI1RXIF) { };
c = SPI1RXB;
}
void SendCmd(Byte c) // SS low par LATC2=0 ayant été fait au préalable
{
_DC = 0;
SPI1TXB = c;
__asm("NOP");
// while (!PIR2bits.SPI1RXIF) { };
c = SPI1RXB;
}
j'ai quand meme gardé un NOP !
(11:23:20.907) Test duree Ecran Noir (SPI 8MHz!)
(11:23:21.046) Stop. SMT1=2131367 ,soit 133210 uS 133mS .... 292mS at 8MHz
(11:23:21.056)
(11:23:28.833) Test Duree de Chargement image Voltmetre.bmp
(11:23:29.068) Stop. SMT1=3787218 ,soit 236701 uS 237mS .. 395ms at 8MHz
(11:23:29.080) ..fin Affichage Image voltmetre
sans le NOP
le comportement de L'OLED reste OK !!!
(11:30:12.774) Test duree Ecran Noir (SPI 8MHz!)
(11:30:12.908) Stop. SMT1=2016156 ,soit 126009 uS 126mS
(11:30:20.668) Test Duree de Chargement image Voltmetre.bmp
(11:30:20.885) Stop. SMT1=3672018 ,soit 229501 uS 229mS
(11:30:20.899) ..fin Affichage Image voltmetre
la lecture
c = SPI1RXB;
semble indispensable ...
OLED GC9A01 et SPI Hardw 18F27K42
Et pourquoi c'est indispensable ?
Tu avais commencé en Transmit Only, pourquoi ne pas y revenir ?
J'ai dit une énormité, à 16MHz le temps d'envoi d'un octet SPI est 8 fois plus grand que la durée d'une instruction !
C'est le C qui ralentit, fais une routine asm avec le nombre optimal de nop.
A 16Mhz la période SPI est 62,5ns, donc octet envoyé en 8*62,5 = 0,5us
Une fois le registre écrit, pas la peine d'attendre, on repart sur la lecture d'une autre data. Si ça va trop vite ça se verra sur le lcd, et on ajoute à chaque fois un nop. Si on teste le bit fin d'envoi on ne travaille pas en temps masqué. En moins barbare et sans nop, on teste le bit adéquat avant écriture du registre.
Tu avais commencé en Transmit Only, pourquoi ne pas y revenir ?
J'ai dit une énormité, à 16MHz le temps d'envoi d'un octet SPI est 8 fois plus grand que la durée d'une instruction !
C'est le C qui ralentit, fais une routine asm avec le nombre optimal de nop.
A 16Mhz la période SPI est 62,5ns, donc octet envoyé en 8*62,5 = 0,5us
Une fois le registre écrit, pas la peine d'attendre, on repart sur la lecture d'une autre data. Si ça va trop vite ça se verra sur le lcd, et on ajoute à chaque fois un nop. Si on teste le bit fin d'envoi on ne travaille pas en temps masqué. En moins barbare et sans nop, on teste le bit adéquat avant écriture du registre.
OLED GC9A01 et SPI Hardw 18F27K42
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
satinas a écrit :Une fois le registre écrit, pas la peine d'attendre, on repart sur la lecture d'une autre data
115200*0,5µS => 57,6mS mais il faut rajouter ...
... le temps necessaire pour recuperer la data à envoyer !
et incrementer le compteur ..
on peut eventuellement pour effacer l'ecran
envoyer des rafales de 20 valeurs à zero .. 5760 fois
mais on ne peut pas le faire pour l'envoi du BMP ( data individuelle)
Diminution de la durée Ecran Noir
en divisant le nombre d'iteration par 10
Code : Tout sélectionner
void Ecran_Noir(void)
{ Word i;
SendCmd(0x2A);
SendData(0);SendData(0); SendData(0);SendData(0xEF);
SendCmd(0x2B);
SendData(0);SendData(0); SendData(0);SendData(0xEF);
SendCmd(0x2C);
for (i=0;i<5760;i++)
{ SendData(0x00);SendData(0x00);
SendData(0x00);SendData(0x00);
SendData(0x00);SendData(0x00);
SendData(0x00);SendData(0x00);
SendData(0x00);SendData(0x00);
SendData(0x00);SendData(0x00);
SendData(0x00);SendData(0x00);
SendData(0x00);SendData(0x00);
SendData(0x00);SendData(0x00);
SendData(0x00);SendData(0x00);
}
(13:22:38.885) Test duree Ecran Noir (SPI 32 MHz!)
(13:22:38.991) Stop. SMT1=1561116 ,soit 97569 uS ......98mS
on voit bien ici ,le poids ,en temps gaspillé, de la boucle
satinas a écrit :Et pourquoi c'est indispensable ?
parceque L'OLED ne répond plus ...
OLED GC9A01 et SPI Hardw 18F27K42
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
encore une optimisation via l'usage de pointeurs.....
au detriment d'occupation de taille de code plus important en flash
23/03/2023
(14:22:04.791) Test Duree de Chargement image Voltmetre.bmp
(14:22:04.981) Stop. SMT1=3074432 ,soit 192152 uS 192mS ............. was 229mS
au detriment d'occupation de taille de code plus important en flash
23/03/2023
(14:22:04.791) Test Duree de Chargement image Voltmetre.bmp
(14:22:04.981) Stop. SMT1=3074432 ,soit 192152 uS 192mS ............. was 229mS
Code : Tout sélectionner
Start_SMT1();
i=0;
SQA=1;
p1=&voltmetre_01[0];
for (i=0;i<57600;i=i+16)
{
SendData(*(p1+1)); SendData(*(p1));
SendData(*(p1+3)); SendData(*(p1+2));
SendData(*(p1+5)); SendData(*(p1+4));
SendData(*(p1+7)); SendData(*(p1+6));
SendData(*(p1+9)); SendData(*(p1+8));
SendData(*(p1+11)); SendData(*(p1+10));
SendData(*(p1+13)); SendData(*(p1+12));
SendData(*(p1+15)); SendData(*(p1+14));
p1=p1+16;
}
p2=&voltmetre_02[0];
for (i=0;i<57600;i=i+16)
{
SendData(*(p2+1)); SendData(*(p2));
SendData(*(p2+3)); SendData(*(p2+2));
SendData(*(p2+5)); SendData(*(p2+4));
SendData(*(p2+7)); SendData(*(p2+6));
SendData(*(p2+9)); SendData(*(p2+8));
SendData(*(p2+11)); SendData(*(p2+10));
SendData(*(p2+13)); SendData(*(p2+12));
SendData(*(p2+15)); SendData(*(p2+14));
p2=p2+16;
}
SQA=0;
Stop_SMT1();
OLED GC9A01 et SPI Hardw 18F27K42
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
bonjour à tous,
Grosse galere pour finaliser le transfert appli MikroC OLED -> appli XC8
les fonctions Cercle vide ou plein (buguent) , pourtant en C,
idem pour l'affichage de texte ...
ne se deroulent pas de la meme façon qu'avec MikroC
j'ai vu le document MPLAB® XC8 C COMPILER USER’S GUIDE FOR PIC® MCU
où ils ecrivent des tonnes sur le comportement different entre C90 et C99
sans parler des version XC8 2.32 ou 2.36
et des 4 version Pack 18F-k_DFP !
pourquoi faire simple quand on peut faire compliqué ...
L'init de l'OLED , rectangles plein, droites, sont OK
affichage d'un BMP ..OK
mais c'est l' intégration de la partie
Cercle, et écriture texte avec 8 fontes (en flash) qui coince....
..cela implique l'abandon affichage BMP 240x240 en flash (car pas assez de place avec les 115200 bytes BMP)
rajout gestion zone memoire Heap ... pour stoker en RAM , la fonte caractere choisie ( et donc, en service )
zone affectée ,puis libérée..
De tres nombreux Warning , surtout lié au type de variable
type de variable etant contradictoire suivant les fonctions utilisées..
comparé à MikroC ou on a seulement pour les variables octet 8 bits
char, unsigned char
alors que XC8
char, unsigned char, uint_8, int_8
il ya heureusemenyt l'option compiler -wversion pour warning 373
la declaration de tablaux doit obligatoirement etre declarée en taille ( XC8 ne sait pas compter le nb d'element)
bref , en plus ça bloque déja, meme sur la lidb Stdlib ????
C:\Program Files\Microchip\xc8\v2.32\pic\sources\c90\common\abs.c:4:: error: (1098) conflicting declarations for variable "_abs" (C:/MPLABX_Projects/_18F27K42_OLED_rond_GC9A01_SPI_Hw_2023.X/TFT_GC9A01_SPI_HW_2023.c:146)
--------------------------------------------------------------------------
en version compilo C99
fichier dans
C:\Program Files\Microchip\xc8\v2.32\pic\sources\c99\common\abs.c
Blocages sur malloc
Ou sont definies les fonctions malloc() et free() pour definir un heap memoire de 2510 bytes
(comme avec mikroC ..)
derniere compilation (avec errors)
XC2.32 C99 OIC18F-k_DFP version 1.5.114 --- > FAILLED
========================================================================
avec
XC 2.36 C99 D>Fp 1.6.125
BUILD SUCCESSFUL (total time: 11s)
mais Cercle bad
et affichage texte Bad
le malloc à l'air d'etre bien passé :
::: advisory: (2086) memory for a heap has been reserved in response to the detection of calls to malloc/calloc/realloc/free function(s)
Grosse galere pour finaliser le transfert appli MikroC OLED -> appli XC8
les fonctions Cercle vide ou plein (buguent) , pourtant en C,
idem pour l'affichage de texte ...
ne se deroulent pas de la meme façon qu'avec MikroC
j'ai vu le document MPLAB® XC8 C COMPILER USER’S GUIDE FOR PIC® MCU
où ils ecrivent des tonnes sur le comportement different entre C90 et C99
sans parler des version XC8 2.32 ou 2.36
et des 4 version Pack 18F-k_DFP !
pourquoi faire simple quand on peut faire compliqué ...
Code : Tout sélectionner
XC8 compiler C99 XC3.6
(13:40:46.465) Test SPI Hardw 18F27K42
(13:40:46.492) Projet MPLABX : C:\MPLABX_Projects\18F27K42_TEST_SPI_2023.X\18F27K42_TEST_SPI_20232
(13:40:46.492) Version : 2022-0326
(13:40:46.492) Compile le Mar 26 2023 a 19:17:28 UTC
(13:40:46.492) avec version XC8 : 2360 et PACK PIC18F-K_DFP 1.6.125
(13:40:46.492) Hardware : PIC18F27K42 , FOSC interne =64MHz
(13:40:46.515) UART1 RC6=TX 115200,8,N,1
(13:40:46.515) SPI HARDWARE at 32 MHz:
(13:40:46.515) RC3=SCLK RC5=MOSI SDA RC2=SS , cdes sur PORTB RB0=_RST RB1=_CS RB2=_DC
L'init de l'OLED , rectangles plein, droites, sont OK
affichage d'un BMP ..OK
mais c'est l' intégration de la partie
Cercle, et écriture texte avec 8 fontes (en flash) qui coince....
..cela implique l'abandon affichage BMP 240x240 en flash (car pas assez de place avec les 115200 bytes BMP)
rajout gestion zone memoire Heap ... pour stoker en RAM , la fonte caractere choisie ( et donc, en service )
zone affectée ,puis libérée..
De tres nombreux Warning , surtout lié au type de variable
type de variable etant contradictoire suivant les fonctions utilisées..
comparé à MikroC ou on a seulement pour les variables octet 8 bits
char, unsigned char
alors que XC8
char, unsigned char, uint_8, int_8
il ya heureusemenyt l'option compiler -wversion pour warning 373
la declaration de tablaux doit obligatoirement etre declarée en taille ( XC8 ne sait pas compter le nb d'element)
bref , en plus ça bloque déja, meme sur la lidb Stdlib ????
C:\Program Files\Microchip\xc8\v2.32\pic\sources\c90\common\abs.c:4:: error: (1098) conflicting declarations for variable "_abs" (C:/MPLABX_Projects/_18F27K42_OLED_rond_GC9A01_SPI_Hw_2023.X/TFT_GC9A01_SPI_HW_2023.c:146)
Code : Tout sélectionner
#include <stdlib.h>
int abs(int a)
{
if(a < 0)
return -a;
return a;
}
--------------------------------------------------------------------------
en version compilo C99
fichier dans
C:\Program Files\Microchip\xc8\v2.32\pic\sources\c99\common\abs.c
Code : Tout sélectionner
int abs(int a)
{
return a>0 ? a : -a;
}
Blocages sur malloc
Ou sont definies les fonctions malloc() et free() pour definir un heap memoire de 2510 bytes
(comme avec mikroC ..)
derniere compilation (avec errors)
XC2.32 C99 OIC18F-k_DFP version 1.5.114 --- > FAILLED
Code : Tout sélectionner
CLEAN SUCCESSFUL (total time: 56ms)
make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf
make[1]: Entering directory 'C:/MPLABX_Projects/_18F27K42_OLED_rond_GC9A01_SPI_Hw_2023.X'
make -f nbproject/Makefile-default.mk dist/default/production/_18F27K42_OLED_rond_GC9A01_SPI_Hw_2023.X.production.hex
make[2]: Entering directory 'C:/MPLABX_Projects/_18F27K42_OLED_rond_GC9A01_SPI_Hw_2023.X'
"C:\Program Files\Microchip\xc8\v2.32\bin\xc8-cc.exe" -mcpu=18F27K42 -c -mdfp="C:/Program Files/Microchip/MPLABX/v6.00/packs/Microchip/PIC18F-K_DFP/1.5.114/xc8" -fno-short-double -fno-short-float -memi=bytewrite -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -DXPRJ_default=default -msummary=-psect,-class,+mem,-hex,-file -ginhx32 -Wl,--data-init -mno-keep-startup -mno-download -mno-default-config-bits -std=c99 -gdwarf-3 -mstack=compiled:auto:auto:auto -wconversion -o build/default/production/main.p1 main.c
"C:\Program Files\Microchip\xc8\v2.32\bin\xc8-cc.exe" -mcpu=18F27K42 -c -mdfp="C:/Program Files/Microchip/MPLABX/v6.00/packs/Microchip/PIC18F-K_DFP/1.5.114/xc8" -fno-short-double -fno-short-float -memi=bytewrite -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -DXPRJ_default=default -msummary=-psect,-class,+mem,-hex,-file -ginhx32 -Wl,--data-init -mno-keep-startup -mno-download -mno-default-config-bits -std=c99 -gdwarf-3 -mstack=compiled:auto:auto:auto -wconversion -o build/default/production/Init_GC9A01.p1 Init_GC9A01.c
"C:\Program Files\Microchip\xc8\v2.32\bin\xc8-cc.exe" -mcpu=18F27K42 -c -mdfp="C:/Program Files/Microchip/MPLABX/v6.00/packs/Microchip/PIC18F-K_DFP/1.5.114/xc8" -fno-short-double -fno-short-float -memi=bytewrite -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -DXPRJ_default=default -msummary=-psect,-class,+mem,-hex,-file -ginhx32 -Wl,--data-init -mno-keep-startup -mno-download -mno-default-config-bits -std=c99 -gdwarf-3 -mstack=compiled:auto:auto:auto -wconversion -o build/default/production/_ext/762028128/TFT_GC9A01_SPI_HW_2023.p1 C:/MPLABX_Projects/_18F27K42_OLED_rond_GC9A01_SPI_Hw_2023.X/TFT_GC9A01_SPI_HW_2023.c
"C:\Program Files\Microchip\xc8\v2.32\bin\xc8-cc.exe" -mcpu=18F27K42 -Wl,-Map=dist/default/production/_18F27K42_OLED_rond_GC9A01_SPI_Hw_2023.X.production.map -DXPRJ_default=default -Wl,--defsym=__MPLAB_BUILD=1 -mdfp="C:/Program Files/Microchip/MPLABX/v6.00/packs/Microchip/PIC18F-K_DFP/1.5.114/xc8" -fno-short-double -fno-short-float -memi=bytewrite -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -msummary=-psect,-class,+mem,-hex,-file -ginhx32 -Wl,--data-init -mno-keep-startup -mno-download -mno-default-config-bits -std=c99 -gdwarf-3 -mstack=compiled:auto:auto:auto -Wl,--memorysummary,dist/default/production/memoryfile.xml -o dist/default/production/_18F27K42_OLED_rond_GC9A01_SPI_Hw_2023.X.production.elf build/default/production/main.p1 build/default/production/Init_GC9A01.p1 build/default/production/_ext/762028128/TFT_GC9A01_SPI_HW_2023.p1
Non line specific message::: warning: (1020) unknown attribute "CFGPROG" in chipinfo file "C:/Program Files/Microchip/MPLABX/v6.00/packs/Microchip/PIC18F-K_DFP/1.5.114/xc8\pic\dat\ini\18f27k42.ini" at line 156
Non line specific message::: warning: (1020) unknown attribute "USERIDPROG" in chipinfo file "C:/Program Files/Microchip/MPLABX/v6.00/packs/Microchip/PIC18F-K_DFP/1.5.114/xc8\pic\dat\ini\18f27k42.ini" at line 6424
Non line specific message::: warning: (1020) unknown attribute "CFGPROG" in chipinfo file "C:/Program Files/Microchip/MPLABX/v6.00/packs/Microchip/PIC18F-K_DFP/1.5.114/xc8\pic\dat\ini\18f27k42.ini" at line 156
Non line specific message::: warning: (1020) unknown attribute "USERIDPROG" in chipinfo file "C:/Program Files/Microchip/MPLABX/v6.00/packs/Microchip/PIC18F-K_DFP/1.5.114/xc8\pic\dat\ini\18f27k42.ini" at line 6424
main.c:172:: warning: (520) function "_Interrupt_Init" is never called
main.c:294:: warning: (520) function "__strlen" is never called
...etc ...
C:/MPLABX_Projects/_18F27K42_OLED_rond_GC9A01_SPI_Hw_2023.X/TFT_GC9A01_SPI_HW_2023.c:906:: warning: (1518) direct function call made with an incomplete prototype (malloc)
C:/MPLABX_Projects/_18F27K42_OLED_rond_GC9A01_SPI_Hw_2023.X/TFT_GC9A01_SPI_HW_2023.c:906:: warning: (1464) number of arguments passed to function "_malloc" does not match function's prototype
Non line specific message::: warning: (2028) external declaration for identifier "_km" doesn't indicate storage location
Non line specific message::: warning: (2020) IRQ 0 (SWINT) in vector table @ 0x8 is unassigned, will be programmed with the address of a RESET instruction
... etc ...
Non line specific message::: warning: (2020) IRQ 81 (CLC4) in vector table @ 0x8 is unassigned, will be programmed with the address of a RESET instruction
Non line specific message::: warning: (1020) unknown attribute "CFGPROG" in chipinfo file "C:/Program Files/Microchip/MPLABX/v6.00/packs/Microchip/PIC18F-K_DFP/1.5.114/xc8\pic\dat\ini\18f27k42.ini" at line 156
Non line specific message::: warning: (1020) unknown attribute "USERIDPROG" in chipinfo file "C:/Program Files/Microchip/MPLABX/v6.00/packs/Microchip/PIC18F-K_DFP/1.5.114/xc8\pic\dat\ini\18f27k42.ini" at line 6424
Non line specific message::: warning: (1020) unknown attribute "CFGPROG" in chipinfo file "C:/Program Files/Microchip/MPLABX/v6.00/packs/Microchip/PIC18F-K_DFP/1.5.114/xc8\pic\dat\ini\18f27k42.ini" at line 156
Non line specific message::: warning: (1020) unknown attribute "USERIDPROG" in chipinfo file "C:/Program Files/Microchip/MPLABX/v6.00/packs/Microchip/PIC18F-K_DFP/1.5.114/xc8\pic\dat\ini\18f27k42.ini" at line 6424
:0:: error: (499) undefined symbol:
_malloc(dist/default/production\_18F27K42_OLED_rond_GC9A01_SPI_Hw_2023.X.production.o)
(908) exit status = 1
nbproject/Makefile-default.mk:170: recipe for target 'dist/default/production/_18F27K42_OLED_rond_GC9A01_SPI_Hw_2023.X.production.hex' failed
make[2]: Leaving directory 'C:/MPLABX_Projects/_18F27K42_OLED_rond_GC9A01_SPI_Hw_2023.X'
nbproject/Makefile-default.mk:91: recipe for target '.build-conf' failed
make[1]: Leaving directory 'C:/MPLABX_Projects/_18F27K42_OLED_rond_GC9A01_SPI_Hw_2023.X'
nbproject/Makefile-impl.mk:39: recipe for target '.build-impl' failed
make[2]: *** [dist/default/production/_18F27K42_OLED_rond_GC9A01_SPI_Hw_2023.X.production.hex] Error 1
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2
BUILD FAILED (exit value 2, total time: 9s)
========================================================================
avec
XC 2.36 C99 D>Fp 1.6.125
Code : Tout sélectionner
CLEAN SUCCESSFUL (total time: 17ms)
make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf
make[1]: Entering directory 'C:/MPLABX_Projects/_18F27K42_OLED_rond_GC9A01_SPI_Hw_2023.X'
make -f nbproject/Makefile-default.mk dist/default/production/_18F27K42_OLED_rond_GC9A01_SPI_Hw_2023.X.production.hex
make[2]: Entering directory 'C:/MPLABX_Projects/_18F27K42_OLED_rond_GC9A01_SPI_Hw_2023.X'
"C:\Program Files\Microchip\xc8\v2.36\bin\xc8-cc.exe" -mcpu=18F27K42 -c -mdfp="C:/Users/Paul/.mchp_packs/Microchip/PIC18F-K_DFP/1.6.125/xc8" -fno-short-double -fno-short-float -memi=bytewrite -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -DXPRJ_default=default -msummary=-psect,-class,+mem,-hex,-file -ginhx32 -Wl,--data-init -mno-keep-startup -mno-download -mno-default-config-bits -std=c99 -gdwarf-3 -mstack=compiled:auto:auto:auto -o build/default/production/main.p1 main.c
...
main.c:296:9: warning: initializing 'char *' with an expression of type 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
char * a = s;
^ ~
main.c:303:9: warning: implicit conversion changes signedness: 'size_t' (aka 'unsigned int') to 'int' [-Wsign-conversion]
return (size_t)(s-a);
~~~~~~ ^~~~~~~~~~~~~
C:/MPLABX_Projects/_18F27K42_OLED_rond_GC9A01_SPI_Hw_2023.X/TFT_GC9A01_SPI_HW_2023.c:43:8: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
extern _delay_ms(int x);
~~~~~~ ^
C:/MPLABX_Projects/_18F27K42_OLED_rond_GC9A01_SPI_Hw_2023.X/TFT_GC9A01_SPI_HW_2023.c:82:8: warning: implicit conversion changes signedness: 'int' to 'char' [-Wsign-conversion]
a=x>>8; b=x&0x00FF;
~~^~~
.... etc ...
^
C:/MPLABX_Projects/_18F27K42_OLED_rond_GC9A01_SPI_Hw_2023.X/TFT_GC9A01_SPI_HW_2023.c:1006:7: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
l=_strlen(s);
~^~~~~~~~~~
41 warnings generated.
59 warnings generated.
"C:\Program Files\Microchip\xc8\v2.36\bin\xc8-cc.exe" -mcpu=18F27K42 -Wl,-Map=dist/default/production/_18F27K42_OLED_rond_GC9A01_SPI_Hw_2023.X.production.map -DXPRJ_default=default -Wl,--defsym=__MPLAB_BUILD=1 -mdfp="C:/Users/Paul/.mchp_packs/Microchip/PIC18F-K_DFP/1.6.125/xc8" -fno-short-double -fno-short-float -memi=bytewrite -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -msummary=-psect,-class,+mem,-hex,-file -ginhx32 -Wl,--data-init -mno-keep-startup -mno-download -mno-default-config-bits -std=c99 -gdwarf-3 -mstack=compiled:auto:auto:auto -Wl,--memorysummary,dist/default/production/memoryfile.xml -o dist/default/production/_18F27K42_OLED_rond_GC9A01_SPI_Hw_2023.X.production.elf build/default/production/main.p1 build/default/production/Init_GC9A01.p1 build/default/production/_ext/762028128/TFT_GC9A01_SPI_HW_2023.p1
main.c:172:: warning: (520) function "_Interrupt_Init" is never called
main.c:294:: warning: (520) function "__strlen" is never called
main.c:358:: warning: (520) function "_PrintChar" is never called
C:/MPLABX_Projects/_18F27K42_OLED_rond_GC9A01_SPI_Hw_2023.X/TFT_GC9A01_SPI_HW_2023.c:192:: warning: (520) function "_Set_Scroll" is never called
C:/MPLABX_Projects/_18F27K42_OLED_rond_GC9A01_SPI_Hw_2023.X/TFT_GC9A01_SPI_HW_2023.c:202:: warning: (520) function "_SetOrientation" is never ....... etc ....
C:/MPLABX_Projects/_18F27K42_OLED_rond_GC9A01_SPI_Hw_2023.X/TFT_GC9A01_SPI_HW_2023.c:775:: warning: (1518) direct function call made with an incomplete prototype (CRLF1)
Non line specific message::: warning: (2020) IRQ 0 (SWINT) in vector table @ 0x8 is unassigned, will be programmed with the address of a RESET instruction
......... etc ...
Non line specific message::: warning: (2020) IRQ 81 (CLC4) in vector table @ 0x8 is unassigned, will be programmed with the address of a RESET instruction
::: advisory: (2086) memory for a heap has been reserved in response to the detection of calls to malloc/calloc/realloc/free function(s)
Memory Summary:
Program space used 8E4Bh ( 36427) of 20000h bytes ( 27.8%)
Data space used 328h ( 808) of 2000h bytes ( 9.9%)
Configuration bits used 5h ( 5) of 5h words (100.0%)
EEPROM space used 0h ( 0) of 400h bytes ( 0.0%)
ID Location space used 0h ( 0) of 10h bytes ( 0.0%)
Data heap space used 1C80h ( 7296) of 1C80h bytes (100.0%)
make[2]: Leaving directory 'C:/MPLABX_Projects/_18F27K42_OLED_rond_GC9A01_SPI_Hw_2023.X'
make[1]: Leaving directory 'C:/MPLABX_Projects/_18F27K42_OLED_rond_GC9A01_SPI_Hw_2023.X'
BUILD SUCCESSFUL (total time: 11s)
Loading code from C:/MPLABX_Projects/_18F27K42_OLED_rond_GC9A01_SPI_Hw_2023.X/dist/default/production/_18F27K42_OLED_rond_GC9A01_SPI_Hw_2023.X.production.hex...
Program loaded with pack,PIC18F-K_DFP,1.6.125,Microchip
Loading completed
BUILD SUCCESSFUL (total time: 11s)
mais Cercle bad
et affichage texte Bad
le malloc à l'air d'etre bien passé :
::: advisory: (2086) memory for a heap has been reserved in response to the detection of calls to malloc/calloc/realloc/free function(s)
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 56 invités