Skip to content

Commit 3c9aa02

Browse files
authored
Merge pull request #940 from fpistm/Fix
Fix F4x7vx definitions
2 parents f1d475a + 20c6173 commit 3c9aa02

File tree

18 files changed

+102
-126
lines changed

18 files changed

+102
-126
lines changed

Diff for: boards.txt

+12-12
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ Nucleo_144.menu.pnum.NUCLEO_F207ZG.build.cmsis_lib_gcc=arm_cortexM3l_math
3737
Nucleo_144.menu.pnum.NUCLEO_F429ZI=Nucleo F429ZI
3838
Nucleo_144.menu.pnum.NUCLEO_F429ZI.node=NODE_F429ZI
3939
Nucleo_144.menu.pnum.NUCLEO_F429ZI.upload.maximum_size=2097152
40-
Nucleo_144.menu.pnum.NUCLEO_F429ZI.upload.maximum_data_size=262144
40+
Nucleo_144.menu.pnum.NUCLEO_F429ZI.upload.maximum_data_size=196608
4141
Nucleo_144.menu.pnum.NUCLEO_F429ZI.build.mcu=cortex-m4
4242
Nucleo_144.menu.pnum.NUCLEO_F429ZI.build.flags.fp=-mfpu=fpv4-sp-d16 -mfloat-abi=hard
4343
Nucleo_144.menu.pnum.NUCLEO_F429ZI.build.board=NUCLEO_F429ZI
@@ -398,7 +398,7 @@ Nucleo_64.menu.pnum.NUCLEO_L476RG.build.cmsis_lib_gcc=arm_cortexM4lf_math
398398

399399
# PNUCLEO_WB55RG board
400400
Nucleo_64.menu.pnum.PNUCLEO_WB55RG=P-Nucleo WB55RG
401-
Nucleo_64.menu.pnum.PNUCLEO_WB55RG.node=NODE_WB55RG
401+
Nucleo_64.menu.pnum.PNUCLEO_WB55RG.node="NODE_WB55RG,NOD_WB55RG"
402402
Nucleo_64.menu.pnum.PNUCLEO_WB55RG.upload.maximum_size=524288
403403
Nucleo_64.menu.pnum.PNUCLEO_WB55RG.upload.maximum_data_size=196604
404404
Nucleo_64.menu.pnum.PNUCLEO_WB55RG.build.mcu=cortex-m4
@@ -571,7 +571,7 @@ Disco.menu.pnum.DISCO_F100RB.build.cmsis_lib_gcc=arm_cortexM3l_math
571571
Disco.menu.pnum.DISCO_F407VG=STM32F407G-DISC1
572572
Disco.menu.pnum.DISCO_F407VG.node=DIS_F407VG
573573
Disco.menu.pnum.DISCO_F407VG.upload.maximum_size=1048576
574-
Disco.menu.pnum.DISCO_F407VG.upload.maximum_data_size=196608
574+
Disco.menu.pnum.DISCO_F407VG.upload.maximum_data_size=131072
575575
Disco.menu.pnum.DISCO_F407VG.build.mcu=cortex-m4
576576
Disco.menu.pnum.DISCO_F407VG.build.flags.fp=-mfpu=fpv4-sp-d16 -mfloat-abi=hard
577577
Disco.menu.pnum.DISCO_F407VG.build.board=DISCO_F407VG
@@ -1137,23 +1137,23 @@ GenF4.menu.pnum.Generic_F423CH.build.variant=Generic_F4x3Cx
11371137
# Generic F417VG
11381138
GenF4.menu.pnum.Generic_F417VG=Generic F417VG
11391139
GenF4.menu.pnum.Generic_F417VG.upload.maximum_size=1048576
1140-
GenF4.menu.pnum.Generic_F417VG.upload.maximum_data_size=196608
1140+
GenF4.menu.pnum.Generic_F417VG.upload.maximum_data_size=131072
11411141
GenF4.menu.pnum.Generic_F417VG.build.board=GENERIC_F417VG
11421142
GenF4.menu.pnum.Generic_F417VG.build.product_line=STM32F417xx
11431143
GenF4.menu.pnum.Generic_F417VG.build.variant=Generic_F4x7Vx
11441144

11451145
# Generic F417VE
11461146
GenF4.menu.pnum.Generic_F417VE=Generic F417VE
11471147
GenF4.menu.pnum.Generic_F417VE.upload.maximum_size=524288
1148-
GenF4.menu.pnum.Generic_F417VE.upload.maximum_data_size=196608
1148+
GenF4.menu.pnum.Generic_F417VE.upload.maximum_data_size=131072
11491149
GenF4.menu.pnum.Generic_F417VE.build.board=GENERIC_F417VE
11501150
GenF4.menu.pnum.Generic_F417VE.build.product_line=STM32F417xx
11511151
GenF4.menu.pnum.Generic_F417VE.build.variant=Generic_F4x7Vx
11521152

11531153
# Generic F415RG
11541154
GenF4.menu.pnum.Generic_F415RG=Generic F415RG
11551155
GenF4.menu.pnum.Generic_F415RG.upload.maximum_size=1048576
1156-
GenF4.menu.pnum.Generic_F415RG.upload.maximum_data_size=196608
1156+
GenF4.menu.pnum.Generic_F415RG.upload.maximum_data_size=131072
11571157
GenF4.menu.pnum.Generic_F415RG.build.board=GENERIC_F415RG
11581158
GenF4.menu.pnum.Generic_F415RG.build.product_line=STM32F415xx
11591159
GenF4.menu.pnum.Generic_F415RG.build.variant=Generic_F4x5RG
@@ -1180,7 +1180,7 @@ GenF4.menu.pnum.Generic_F413CH.upload.maximum_size=1572864
11801180
GenF4.menu.pnum.Generic_F413CH.upload.maximum_data_size=327680
11811181
GenF4.menu.pnum.Generic_F413CH.build.board=GENERIC_F413CH
11821182
GenF4.menu.pnum.Generic_F413CH.build.product_line=STM32F413xx
1183-
GenF4.menu.pnum.Generic_F413CH.build.variant=Generic_F4x3Rx
1183+
GenF4.menu.pnum.Generic_F413CH.build.variant=Generic_F4x3Cx
11841184

11851185
# Generic F413CG
11861186
GenF4.menu.pnum.Generic_F413CG=Generic F413CG
@@ -1289,23 +1289,23 @@ GenF4.menu.pnum.Generic_F410C8.build.variant=Generic_F410Cx
12891289
# Generic F407VG
12901290
GenF4.menu.pnum.Generic_F407VG=Generic F407VG
12911291
GenF4.menu.pnum.Generic_F407VG.upload.maximum_size=1048576
1292-
GenF4.menu.pnum.Generic_F407VG.upload.maximum_data_size=196608
1292+
GenF4.menu.pnum.Generic_F407VG.upload.maximum_data_size=131072
12931293
GenF4.menu.pnum.Generic_F407VG.build.board=GENERIC_F407VG
12941294
GenF4.menu.pnum.Generic_F407VG.build.product_line=STM32F407xx
12951295
GenF4.menu.pnum.Generic_F407VG.build.variant=Generic_F4x7Vx
12961296

12971297
# Generic F407VE
12981298
GenF4.menu.pnum.Generic_F407VE=Generic F407VE
12991299
GenF4.menu.pnum.Generic_F407VE.upload.maximum_size=524288
1300-
GenF4.menu.pnum.Generic_F407VE.upload.maximum_data_size=196608
1300+
GenF4.menu.pnum.Generic_F407VE.upload.maximum_data_size=131072
13011301
GenF4.menu.pnum.Generic_F407VE.build.board=GENERIC_F407VE
13021302
GenF4.menu.pnum.Generic_F407VE.build.product_line=STM32F407xx
13031303
GenF4.menu.pnum.Generic_F407VE.build.variant=Generic_F4x7Vx
13041304

13051305
# Generic F405RG
13061306
GenF4.menu.pnum.Generic_F405RG=Generic F405RG
13071307
GenF4.menu.pnum.Generic_F405RG.upload.maximum_size=1048576
1308-
GenF4.menu.pnum.Generic_F405RG.upload.maximum_data_size=196608
1308+
GenF4.menu.pnum.Generic_F405RG.upload.maximum_data_size=131072
13091309
GenF4.menu.pnum.Generic_F405RG.build.board=GENERIC_F405RG
13101310
GenF4.menu.pnum.Generic_F405RG.build.product_line=STM32F405xx
13111311
GenF4.menu.pnum.Generic_F405RG.build.variant=Generic_F4x5RG
@@ -1613,7 +1613,7 @@ LoRa.menu.upload_method.dfuMethod.upload.tool=stm32CubeProg
16131613
# PRNTR_F407_V1 board
16141614
3dprinter.menu.pnum.PRNTR_F407_V1=PRNTR F407 v1
16151615
3dprinter.menu.pnum.PRNTR_F407_V1.upload.maximum_size=524288
1616-
3dprinter.menu.pnum.PRNTR_F407_V1.upload.maximum_data_size=196608
1616+
3dprinter.menu.pnum.PRNTR_F407_V1.upload.maximum_data_size=131072
16171617
3dprinter.menu.pnum.PRNTR_F407_V1.build.mcu=cortex-m4
16181618
3dprinter.menu.pnum.PRNTR_F407_V1.build.flags.fp=-mfpu=fpv4-sp-d16 -mfloat-abi=hard
16191619
3dprinter.menu.pnum.PRNTR_F407_V1.build.board=PRNTR_F407_V1
@@ -1625,7 +1625,7 @@ LoRa.menu.upload_method.dfuMethod.upload.tool=stm32CubeProg
16251625
# PRNTR_V2 board
16261626
3dprinter.menu.pnum.PRNTR_V2=PRNTR v2
16271627
3dprinter.menu.pnum.PRNTR_V2.upload.maximum_size=524288
1628-
3dprinter.menu.pnum.PRNTR_V2.upload.maximum_data_size=196608
1628+
3dprinter.menu.pnum.PRNTR_V2.upload.maximum_data_size=131072
16291629
3dprinter.menu.pnum.PRNTR_V2.build.mcu=cortex-m4
16301630
3dprinter.menu.pnum.PRNTR_V2.build.flags.fp=-mfpu=fpv4-sp-d16 -mfloat-abi=hard
16311631
3dprinter.menu.pnum.PRNTR_V2.build.board=PRNTR_V2

Diff for: variants/BLACK_F407XX/variant.cpp

+4
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,10 @@ WEAK void SystemClock_Config(void)
222222
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_5) != HAL_OK) {
223223
_Error_Handler(__FILE__, __LINE__);
224224
}
225+
226+
/* Ensure CCM RAM clock is enabled */
227+
__HAL_RCC_CCMDATARAMEN_CLK_ENABLE();
228+
225229
}
226230

227231
#ifdef __cplusplus

Diff for: variants/BLUE_F407VE_Mini/variant.cpp

+4
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,10 @@ WEAK void SystemClock_Config(void)
205205
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_5) != HAL_OK) {
206206
_Error_Handler(__FILE__, __LINE__);
207207
}
208+
209+
/* Ensure CCM RAM clock is enabled */
210+
__HAL_RCC_CCMDATARAMEN_CLK_ENABLE();
211+
208212
}
209213

210214
#ifdef __cplusplus

Diff for: variants/DISCO_F407VG/ldscript.ld

+10-11
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,13 @@
1414
**
1515
** Target : STMicroelectronics STM32
1616
**
17-
**
18-
** Distribution: The file is distributed as is, without any warranty
17+
** Distribution: The file is distributed “as is,” without any warranty
1918
** of any kind.
2019
**
2120
*****************************************************************************
2221
** @attention
2322
**
24-
** <h2><center>&copy; COPYRIGHT(c) 2014 Ac6</center></h2>
23+
** <h2><center>&copy; COPYRIGHT(c) 2019 STMicroelectronics</center></h2>
2524
**
2625
** Redistribution and use in source and binary forms, with or without modification,
2726
** are permitted provided that the following conditions are met:
@@ -30,7 +29,7 @@
3029
** 2. Redistributions in binary form must reproduce the above copyright notice,
3130
** this list of conditions and the following disclaimer in the documentation
3231
** and/or other materials provided with the distribution.
33-
** 3. Neither the name of Ac6 nor the names of its contributors
32+
** 3. Neither the name of STMicroelectronics nor the names of its contributors
3433
** may be used to endorse or promote products derived from this software
3534
** without specific prior written permission.
3635
**
@@ -54,15 +53,15 @@ ENTRY(Reset_Handler)
5453
/* Highest address of the user mode stack */
5554
_estack = 0x20020000; /* end of RAM */
5655
/* Generate a link error if heap and stack don't fit into RAM */
57-
_Min_Heap_Size = 0x200;; /* required amount of heap */
58-
_Min_Stack_Size = 0x400;; /* required amount of stack */
56+
_Min_Heap_Size = 0x200; /* required amount of heap */
57+
_Min_Stack_Size = 0x400; /* required amount of stack */
5958

6059
/* Specify the memory areas */
6160
MEMORY
6261
{
63-
FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 1024K
6462
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K
6563
CCMRAM (rw) : ORIGIN = 0x10000000, LENGTH = 64K
64+
FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 1024K
6665
}
6766

6867
/* Define output sections */
@@ -77,7 +76,7 @@ SECTIONS
7776
} >FLASH
7877

7978
/* The program code and other data goes into FLASH */
80-
.text ALIGN(4):
79+
.text :
8180
{
8281
. = ALIGN(4);
8382
*(.text) /* .text sections (code) */
@@ -94,7 +93,7 @@ SECTIONS
9493
} >FLASH
9594

9695
/* Constant data goes into FLASH */
97-
.rodata ALIGN(4):
96+
.rodata :
9897
{
9998
. = ALIGN(4);
10099
*(.rodata) /* .rodata sections (constants, strings, etc.) */
@@ -184,12 +183,12 @@ SECTIONS
184183
/* User_heap_stack section, used to check that there is enough RAM left */
185184
._user_heap_stack :
186185
{
187-
. = ALIGN(4);
186+
. = ALIGN(8);
188187
PROVIDE ( end = . );
189188
PROVIDE ( _end = . );
190189
. = . + _Min_Heap_Size;
191190
. = . + _Min_Stack_Size;
192-
. = ALIGN(4);
191+
. = ALIGN(8);
193192
} >RAM
194193

195194

Diff for: variants/DISCO_F407VG/variant.cpp

+4
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,10 @@ WEAK void SystemClock_Config(void)
190190
/* Enable the Flash prefetch */
191191
__HAL_FLASH_PREFETCH_BUFFER_ENABLE();
192192
}
193+
194+
/* Ensure CCM RAM clock is enabled */
195+
__HAL_RCC_CCMDATARAMEN_CLK_ENABLE();
196+
193197
}
194198

195199
#ifdef __cplusplus

Diff for: variants/DIYMORE_F407VGT/variant.cpp

+4
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,10 @@ WEAK void SystemClock_Config(void)
206206
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_5) != HAL_OK) {
207207
_Error_Handler(__FILE__, __LINE__);
208208
}
209+
210+
/* Ensure CCM RAM clock is enabled */
211+
__HAL_RCC_CCMDATARAMEN_CLK_ENABLE();
212+
209213
}
210214

211215
#ifdef __cplusplus

Diff for: variants/FEATHER_F405/variant.cpp

+4
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,10 @@ WEAK void SystemClock_Config(void)
132132
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_5) != HAL_OK) {
133133
_Error_Handler(__FILE__, __LINE__);
134134
}
135+
136+
/* Ensure CCM RAM clock is enabled */
137+
__HAL_RCC_CCMDATARAMEN_CLK_ENABLE();
138+
135139
}
136140

137141
#ifdef __cplusplus

Diff for: variants/FK407M1/variant.cpp

+4
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,10 @@ WEAK void SystemClock_Config(void)
153153
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_5) != HAL_OK) {
154154
_Error_Handler(__FILE__, __LINE__);
155155
}
156+
157+
/* Ensure CCM RAM clock is enabled */
158+
__HAL_RCC_CCMDATARAMEN_CLK_ENABLE();
159+
156160
}
157161

158162
#ifdef __cplusplus

Diff for: variants/Generic_F412Cx/ldscript.ld

+2-22
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,6 @@ _Min_Stack_Size = 0x400; /* required amount of stack */
6161
MEMORY
6262
{
6363
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = LD_MAX_DATA_SIZE
64-
CCMRAM (rw) : ORIGIN = 0x10000000, LENGTH = 64K
6564
FLASH (rx) : ORIGIN = 0x8000000 + LD_FLASH_OFFSET, LENGTH = LD_MAX_SIZE - LD_FLASH_OFFSET
6665
}
6766

@@ -77,7 +76,7 @@ SECTIONS
7776
} >FLASH
7877

7978
/* The program code and other data goes into FLASH */
80-
.text ALIGN(8):
79+
.text :
8180
{
8281
. = ALIGN(4);
8382
*(.text) /* .text sections (code) */
@@ -94,7 +93,7 @@ SECTIONS
9493
} >FLASH
9594

9695
/* Constant data goes into FLASH */
97-
.rodata ALIGN(4):
96+
.rodata :
9897
{
9998
. = ALIGN(4);
10099
*(.rodata) /* .rodata sections (constants, strings, etc.) */
@@ -145,25 +144,6 @@ SECTIONS
145144
_edata = .; /* define a global symbol at data end */
146145
} >RAM AT> FLASH
147146

148-
_siccmram = LOADADDR(.ccmram);
149-
150-
/* CCM-RAM section
151-
*
152-
* IMPORTANT NOTE!
153-
* If initialized variables will be placed in this section,
154-
* the startup code needs to be modified to copy the init-values.
155-
*/
156-
.ccmram :
157-
{
158-
. = ALIGN(4);
159-
_sccmram = .; /* create a global symbol at ccmram start */
160-
*(.ccmram)
161-
*(.ccmram*)
162-
163-
. = ALIGN(4);
164-
_eccmram = .; /* create a global symbol at ccmram end */
165-
} >CCMRAM AT> FLASH
166-
167147

168148
/* Uninitialized data section */
169149
. = ALIGN(4);

Diff for: variants/Generic_F412Rx/ldscript.ld

+3-22
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
** File : LinkerScript.ld
66
**
7+
** Author : Auto-generated by System Workbench for STM32
78
**
89
** Abstract : Linker script for STM32F412Rx series
910
** 512/1024Kbytes FLASH and 256Kbytes RAM
@@ -61,7 +62,6 @@ _Min_Stack_Size = 0x400; /* required amount of stack */
6162
MEMORY
6263
{
6364
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = LD_MAX_DATA_SIZE
64-
CCMRAM (rw) : ORIGIN = 0x10000000, LENGTH = 64K
6565
FLASH (rx) : ORIGIN = 0x8000000 + LD_FLASH_OFFSET, LENGTH = LD_MAX_SIZE - LD_FLASH_OFFSET
6666
}
6767

@@ -77,7 +77,7 @@ SECTIONS
7777
} >FLASH
7878

7979
/* The program code and other data goes into FLASH */
80-
.text ALIGN(8):
80+
.text :
8181
{
8282
. = ALIGN(4);
8383
*(.text) /* .text sections (code) */
@@ -94,7 +94,7 @@ SECTIONS
9494
} >FLASH
9595

9696
/* Constant data goes into FLASH */
97-
.rodata ALIGN(4):
97+
.rodata :
9898
{
9999
. = ALIGN(4);
100100
*(.rodata) /* .rodata sections (constants, strings, etc.) */
@@ -145,25 +145,6 @@ SECTIONS
145145
_edata = .; /* define a global symbol at data end */
146146
} >RAM AT> FLASH
147147

148-
_siccmram = LOADADDR(.ccmram);
149-
150-
/* CCM-RAM section
151-
*
152-
* IMPORTANT NOTE!
153-
* If initialized variables will be placed in this section,
154-
* the startup code needs to be modified to copy the init-values.
155-
*/
156-
.ccmram :
157-
{
158-
. = ALIGN(4);
159-
_sccmram = .; /* create a global symbol at ccmram start */
160-
*(.ccmram)
161-
*(.ccmram*)
162-
163-
. = ALIGN(4);
164-
_eccmram = .; /* create a global symbol at ccmram end */
165-
} >CCMRAM AT> FLASH
166-
167148

168149
/* Uninitialized data section */
169150
. = ALIGN(4);

0 commit comments

Comments
 (0)