Bonjour à tous,
Je passe de l'arduino au stm32f103c8. Je pense avoir tout installé correctement sur mon IDE Arduino afin de pouvoir programmer le STM32. J'arrive à injecter le programme blink et ca fonctionne.
J'ai donc décidé de passer à un programme plus lourd et j'ai donc installé toutes les bibliothèques nécessaires. La compilation de déroule sans problème mais quand je tente le téléchargement j'ai toujours l'erreur :" Wrote address 0x08004b00 (87.54%) Got byte 0x22 instead of ACK
Failed to write memory at address 0x08004c00" ce n'est pas non plus un gros programme puisqu'il ne prend que 21932 octets (33%) de l'espace de stockage.
Code C : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101 #include <Adafruit_ILI9341_STM.h> #include <License.h> #include <Font7s.h> #include <Font32.h> #include <Adafruit_GFX_AS.h> #include <Font64.h> #include <Font16.h> #include <Load_fonts.h> /* Compiled under Arduino 1.6.1 2015/04/01 Adafruit code updated to use SPI DMA Sketch uses 29,048 bytes (26%) of program storage space. Maximum is 108,000 bytes. Global variables use 5,288 bytes of dynamic memory. OLD STM Port non-DMA STM Port STM DMA Port ILI9341 Test! Benchmark Time (microseconds) Time (microseconds) Time (microseconds) Screen fill 1,026,635 716,291 174,901 Text 74,910 46,087 65,358 Lines 702,724 400,688 692,868 Horiz/Vert Lines 84,359 57,074 23,342 Rectangles (outline) 54,489 36,604 16,625 Rectangles (filled) 2,132,392 1,487,410 371,832 Circles (filled) 344,984 220,662 181,100 Circles (outline) 306,326 174,199 302,904 Triangles (outline) 222,948 127,154 219,106 Triangles (filled) 715,597 472,077 243,512 Rounded rects (outline) 130,131 78,591 91,564 Rounded rects (filled) 2,331,405 1,615,938 488,708 Done! https://github.com/hwiguna/g33k/blob/master/ArduinoProjects/128x64_OLED/HariChord/HariChord.ino */ #include "SPI.h" // Pinout for Maple Mini (// For the Adafruit shield, these are the default) #define TFT_CS PA0 #define TFT_DC PA2 #define TFT_RST PA1 // Use hardware SPI (on Uno, #13, #12, #11) and the above for CS/DC //Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC); // If using the breakout, change pins as desired //Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_MOSI, TFT_CLK, TFT_RST, TFT_MISO); Adafruit_ILI9341_STM tft = Adafruit_ILI9341_STM(TFT_CS, TFT_DC, TFT_RST); // Use hardware SPI int nFrames = 100; // higher number, slower full-cycle annimation void setup() { tft.begin(); tft.fillScreen(ILI9341_BLACK); } void loop(void) { for (int frame=0; frame < nFrames; frame++) { HariChord(frame); } tft.fillScreen(ILI9341_BLACK); for (int frame=(nFrames-1); frame >= 0; frame--) { HariChord(frame); } tft.fillScreen(ILI9341_BLACK); } void HariChord(int frame) { static boolean flipflop = true; flipflop = !flipflop; int n = 7; int r = frame * 120 / nFrames; // half smaller of 240 or 320 float rot = frame * 2*PI / nFrames; for (int i=0; i<(n-1); i++) { float a = rot + i * 2*PI / n; int x1 = 120 + cos(a) * r; // half 240 int y1 = 160 + sin(a) * r; // half 320 for (int j=i+1; j<n; j++) { a = rot + j * 2*PI / n; int x2 = 120 + cos(a) * r; int y2 = 160 + sin(a) * r; if ( flipflop) tft.drawLine(x1,y1, x2,y2, (long) random(65535)); if (!flipflop) tft.drawLine(x1,y1, x2,y2, (long) random(65535)); } } }
et voici les message de compilation et d'erreur.
Un grand merci à ceux qui pourront jeter un coup d'oeil et m'aider.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98 Le croquis utilise 21932 octets (33%) de l'espace de stockage de programmes. Le maximum est de 65536 octets. Les variables globales utilisent 2888 octets de mémoire dynamique. stm32flash Arduino_STM32_0.9 http://github.com/rogerclarkmelbourne/arduino_stm32 Using Parser : Raw BINARY Interface serial_posix: 230400 8E1 Version : 0x22 Option 1 : 0x00 Option 2 : 0x00 Device ID : 0x0410 (Medium-density) - RAM : 20KiB (512b reserved by bootloader) - Flash : 128KiB (sector size: 4x1024) - Option RAM : 16b - System RAM : 2KiB Write to memory Erasing memory Wrote address 0x08000100 (1.17%) Wrote address 0x08000200 (2.33%) Wrote address 0x08000300 (3.50%) Wrote address 0x08000400 (4.67%) Wrote address 0x08000500 (5.84%) Wrote address 0x08000600 (7.00%) Wrote address 0x08000700 (8.17%) Wrote address 0x08000800 (9.34%) Wrote address 0x08000900 (10.51%) Wrote address 0x08000a00 (11.67%) Wrote address 0x08000b00 (12.84%) Wrote address 0x08000c00 (14.01%) Wrote address 0x08000d00 (15.17%) Wrote address 0x08000e00 (16.34%) Wrote address 0x08000f00 (17.51%) Wrote address 0x08001000 (18.68%) Wrote address 0x08001100 (19.84%) Wrote address 0x08001200 (21.01%) Wrote address 0x08001300 (22.18%) Wrote address 0x08001400 (23.34%) Wrote address 0x08001500 (24.51%) Wrote address 0x08001600 (25.68%) Wrote address 0x08001700 (26.85%) Wrote address 0x08001800 (28.01%) Wrote address 0x08001900 (29.18%) Wrote address 0x08001a00 (30.35%) Wrote address 0x08001b00 (31.52%) Wrote address 0x08001c00 (32.68%) Wrote address 0x08001d00 (33.85%) Wrote address 0x08001e00 (35.02%) Wrote address 0x08001f00 (36.18%) Wrote address 0x08002000 (37.35%) Wrote address 0x08002100 (38.52%) Wrote address 0x08002200 (39.69%) Wrote address 0x08002300 (40.85%) Wrote address 0x08002400 (42.02%) Wrote address 0x08002500 (43.19%) Wrote address 0x08002600 (44.36%) Wrote address 0x08002700 (45.52%) Wrote address 0x08002800 (46.69%) Wrote address 0x08002900 (47.86%) Wrote address 0x08002a00 (49.02%) Wrote address 0x08002b00 (50.19%) Wrote address 0x08002c00 (51.36%) Wrote address 0x08002d00 (52.53%) Wrote address 0x08002e00 (53.69%) Wrote address 0x08002f00 (54.86%) Wrote address 0x08003000 (56.03%) Wrote address 0x08003100 (57.19%) Wrote address 0x08003200 (58.36%) Wrote address 0x08003300 (59.53%) Wrote address 0x08003400 (60.70%) Wrote address 0x08003500 (61.86%) Wrote address 0x08003600 (63.03%) Wrote address 0x08003700 (64.20%) Wrote address 0x08003800 (65.37%) Wrote address 0x08003900 (66.53%) Wrote address 0x08003a00 (67.70%) Wrote address 0x08003b00 (68.87%) Wrote address 0x08003c00 (70.03%) Wrote address 0x08003d00 (71.20%) Wrote address 0x08003e00 (72.37%) Wrote address 0x08003f00 (73.54%) Wrote address 0x08004000 (74.70%) Wrote address 0x08004100 (75.87%) Wrote address 0x08004200 (77.04%) Wrote address 0x08004300 (78.21%) Wrote address 0x08004400 (79.37%) Wrote address 0x08004500 (80.54%) Wrote address 0x08004600 (81.71%) Wrote address 0x08004700 (82.87%) Wrote address 0x08004800 (84.04%) Wrote address 0x08004900 (85.21%) Wrote address 0x08004a00 (86.38%) Wrote address 0x08004b00 (87.54%) Got byte 0x22 instead of ACK Failed to write memory at address 0x08004c00 Wrote address 0x08004c00 (88.71%) Une erreur est survenue lors du transfert du croquis
Partager