Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit6a128c6

Browse files
gbmhunterfpistm
andcommitted
Added NUCLEO_F070RB
Supersedestm32duino#1167Signed-off-by: Geoffrey Hunter <gbmhunter@gmail.com>Co-authored-by: Frederic.Pillon <frederic.pillon@st.com>
1 parentbbadf22 commit6a128c6

File tree

6 files changed

+556
-2
lines changed

6 files changed

+556
-2
lines changed

‎README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ User can add a STM32 based board following this [wiki](https://github.com/stm32d
8888
| Status| Device(s)| Name| Release| Notes|
8989
| :----:| :-------:| ----| :-----:| :----|
9090
|:green_heart:| STM32F030R8|[Nucleo F030R8](http://www.st.com/en/evaluation-tools/nucleo-f030r8.html)|*0.2.0*||
91+
|:yellow_heart:| STM32F070RB|[Nucleo F070RB](http://www.st.com/en/evaluation-tools/nucleo-f070rb.html)|**2.0.0**||
9192
|:green_heart:| STM32F072RB|[Nucleo F072RB](http://www.st.com/en/evaluation-tools/nucleo-f072rb.html)|*1.9.0*||
9293
|:green_heart:| STM32F091RC|[Nucleo F091RC](http://www.st.com/en/evaluation-tools/nucleo-f091rc.html)|*0.1.0*||
9394
|:green_heart:| STM32F103RB|[Nucleo F103RB](http://www.st.com/en/evaluation-tools/nucleo-f103rb.html)|*0.2.0*||
@@ -161,6 +162,7 @@ User can add a STM32 based board following this [wiki](https://github.com/stm32d
161162
|:yellow_heart:| STM32F042C4<br>STM32F042C6| Generic Board|**2.0.0**||
162163
|:yellow_heart:| STM32F051K6U<br>STM32F051K8U| Generic Board|**2.0.0**||
163164
|:yellow_heart:| STM32F070CB| Generic Board|**2.0.0**||
165+
|:yellow_heart:| STM32F070RB| Generic Board|**2.0.0**||
164166
|:yellow_heart:| STM32F072C8<br>STM32F072CB| Generic Board|**2.0.0**||
165167
|:yellow_heart:| STM32F072R8<br>STM32F072RB| Generic Board|**2.0.0**||
166168
|:yellow_heart:| STM32F091RB<br>STM32F091RC| Generic Board|**2.0.0**||

‎boards.txt

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,18 @@ Nucleo_64.menu.pnum.NUCLEO_F030R8.build.product_line=STM32F030x8
208208
Nucleo_64.menu.pnum.NUCLEO_F030R8.build.variant=STM32F0xx/F030R8T
209209
Nucleo_64.menu.pnum.NUCLEO_F030R8.build.cmsis_lib_gcc=arm_cortexM0l_math
210210

211+
# NUCLEO_F070RB board
212+
Nucleo_64.menu.pnum.NUCLEO_F070RB=Nucleo F070RB
213+
Nucleo_64.menu.pnum.NUCLEO_F070RB.node="NODE_F070RB,NUCLEO"
214+
Nucleo_64.menu.pnum.NUCLEO_F070RB.upload.maximum_size=131072
215+
Nucleo_64.menu.pnum.NUCLEO_F070RB.upload.maximum_data_size=16384
216+
Nucleo_64.menu.pnum.NUCLEO_F070RB.build.mcu=cortex-m0
217+
Nucleo_64.menu.pnum.NUCLEO_F070RB.build.board=NUCLEO_F070RB
218+
Nucleo_64.menu.pnum.NUCLEO_F070RB.build.series=STM32F0xx
219+
Nucleo_64.menu.pnum.NUCLEO_F070RB.build.product_line=STM32F070xB
220+
Nucleo_64.menu.pnum.NUCLEO_F070RB.build.variant=STM32F0xx/F070RBT
221+
Nucleo_64.menu.pnum.NUCLEO_F070RB.build.cmsis_lib_gcc=arm_cortexM0l_math
222+
211223
# NUCLEO_F072RB board
212224
Nucleo_64.menu.pnum.NUCLEO_F072RB=Nucleo F072RB
213225
Nucleo_64.menu.pnum.NUCLEO_F072RB.node="NODE_F072RB,NUCLEO"
@@ -963,6 +975,14 @@ GenF0.menu.pnum.GENERIC_F070CBTX.build.board=GENERIC_F070CBTX
963975
GenF0.menu.pnum.GENERIC_F070CBTX.build.product_line=STM32F070xB
964976
GenF0.menu.pnum.GENERIC_F070CBTX.build.variant=STM32F0xx/F070CBT
965977

978+
# Generic F070RBTx
979+
GenF0.menu.pnum.GENERIC_F070RBTX=Generic F070RBTx
980+
GenF0.menu.pnum.GENERIC_F070RBTX.upload.maximum_size=131072
981+
GenF0.menu.pnum.GENERIC_F070RBTX.upload.maximum_data_size=16384
982+
GenF0.menu.pnum.GENERIC_F070RBTX.build.board=GENERIC_F070RBTX
983+
GenF0.menu.pnum.GENERIC_F070RBTX.build.product_line=STM32F070xB
984+
GenF0.menu.pnum.GENERIC_F070RBTX.build.variant=STM32F0xx/F070RBT
985+
966986
# Generic F072C8Tx
967987
GenF0.menu.pnum.GENERIC_F072C8TX=Generic F072C8Tx
968988
GenF0.menu.pnum.GENERIC_F072C8TX.upload.maximum_size=65536

‎variants/STM32F0xx/F070RBT/generic_clock.c

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,40 @@
2020
*/
2121
WEAKvoidSystemClock_Config(void)
2222
{
23-
/* SystemClock_Config can be generated by STM32CubeMX */
24-
#warning "SystemClock_Config() is empty. Default clock at reset is used."
23+
RCC_OscInitTypeDefRCC_OscInitStruct= {};
24+
RCC_ClkInitTypeDefRCC_ClkInitStruct= {};
25+
RCC_PeriphCLKInitTypeDefPeriphClkInit= {};
26+
27+
/** Initializes the RCC Oscillators according to the specified parameters
28+
* in the RCC_OscInitTypeDef structure.
29+
*/
30+
RCC_OscInitStruct.OscillatorType=RCC_OSCILLATORTYPE_HSI;
31+
RCC_OscInitStruct.HSIState=RCC_HSI_ON;
32+
RCC_OscInitStruct.HSICalibrationValue=RCC_HSICALIBRATION_DEFAULT;
33+
RCC_OscInitStruct.PLL.PLLState=RCC_PLL_ON;
34+
RCC_OscInitStruct.PLL.PLLSource=RCC_PLLSOURCE_HSI;
35+
RCC_OscInitStruct.PLL.PLLMUL=RCC_PLL_MUL6;
36+
RCC_OscInitStruct.PLL.PREDIV=RCC_PREDIV_DIV1;
37+
if (HAL_RCC_OscConfig(&RCC_OscInitStruct)!=HAL_OK) {
38+
Error_Handler();
39+
}
40+
/** Initializes the CPU, AHB and APB buses clocks
41+
*/
42+
RCC_ClkInitStruct.ClockType=RCC_CLOCKTYPE_HCLK |RCC_CLOCKTYPE_SYSCLK
43+
|RCC_CLOCKTYPE_PCLK1;
44+
RCC_ClkInitStruct.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK;
45+
RCC_ClkInitStruct.AHBCLKDivider=RCC_SYSCLK_DIV1;
46+
RCC_ClkInitStruct.APB1CLKDivider=RCC_HCLK_DIV1;
47+
48+
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct,FLASH_LATENCY_1)!=HAL_OK) {
49+
Error_Handler();
50+
}
51+
PeriphClkInit.PeriphClockSelection=RCC_PERIPHCLK_USB;
52+
PeriphClkInit.UsbClockSelection=RCC_USBCLKSOURCE_PLL;
53+
54+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit)!=HAL_OK) {
55+
Error_Handler();
56+
}
2557
}
2658

2759
#endif/* ARDUINO_GENERIC_* */
Lines changed: 177 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,177 @@
1+
/**
2+
******************************************************************************
3+
* @file LinkerScript.ld
4+
* @author Auto-generated by STM32CubeIDE
5+
* @brief Linker script for STM32F070RBTx Device from STM32F0 series
6+
* 128Kbytes FLASH
7+
* 16Kbytes RAM
8+
*
9+
* Set heap size, stack size and stack location according
10+
* to application requirements.
11+
*
12+
* Set memory bank area and size if external memory is used
13+
******************************************************************************
14+
* @attention
15+
*
16+
* <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
17+
* All rights reserved.</center></h2>
18+
*
19+
* This software component is licensed by ST under BSD 3-Clause license,
20+
* the "License"; You may not use this file except in compliance with the
21+
* License. You may obtain a copy of theLicense at:
22+
* opensource.org/licenses/BSD-3-Clause
23+
*
24+
******************************************************************************
25+
*/
26+
27+
/* Entry Point */
28+
ENTRY(Reset_Handler)
29+
30+
/* Highest address of the user mode stack */
31+
_estack =ORIGIN(RAM) +LENGTH(RAM);/* end of "RAM" Ram type memory */
32+
33+
_Min_Heap_Size = 0x200;/* required amount of heap */
34+
_Min_Stack_Size = 0x400;/* required amount of stack */
35+
36+
/* Memories definition */
37+
MEMORY
38+
{
39+
RAM (xrw) :ORIGIN = 0x20000000,LENGTH = LD_MAX_DATA_SIZE
40+
FLASH (rx) :ORIGIN = 0x8000000 + LD_FLASH_OFFSET,LENGTH = LD_MAX_SIZE - LD_FLASH_OFFSET
41+
}
42+
43+
/* Sections */
44+
SECTIONS
45+
{
46+
/* The startup code into "FLASH" Rom type memory */
47+
.isr_vector :
48+
{
49+
. =ALIGN(4);
50+
KEEP(*(.isr_vector)) /* Startup code */
51+
. =ALIGN(4);
52+
} >FLASH
53+
54+
/* The program code and other data into "FLASH" Rom type memory */
55+
.text :
56+
{
57+
. =ALIGN(4);
58+
*(.text) /* .text sections (code) */
59+
*(.text*) /* .text* sections (code) */
60+
*(.glue_7) /* glue arm to thumb code */
61+
*(.glue_7t) /* glue thumb to arm code */
62+
*(.eh_frame)
63+
64+
KEEP (*(.init))
65+
KEEP (*(.fini))
66+
67+
. =ALIGN(4);
68+
_etext = .; /* define a global symbols at end of code */
69+
} >FLASH
70+
71+
/* Constant data into "FLASH" Rom type memory */
72+
.rodata :
73+
{
74+
. =ALIGN(4);
75+
*(.rodata) /* .rodata sections (constants, strings, etc.) */
76+
*(.rodata*) /* .rodata* sections (constants, strings, etc.) */
77+
. =ALIGN(4);
78+
} >FLASH
79+
80+
.ARM.extab : {
81+
. =ALIGN(4);
82+
*(.ARM.extab* .gnu.linkonce.armextab.*)
83+
. =ALIGN(4);
84+
} >FLASH
85+
86+
.ARM : {
87+
. =ALIGN(4);
88+
__exidx_start = .;
89+
*(.ARM.exidx*)
90+
__exidx_end = .;
91+
. =ALIGN(4);
92+
} >FLASH
93+
94+
.preinit_array :
95+
{
96+
. =ALIGN(4);
97+
PROVIDE_HIDDEN (__preinit_array_start = .);
98+
KEEP (*(.preinit_array*))
99+
PROVIDE_HIDDEN (__preinit_array_end = .);
100+
. =ALIGN(4);
101+
} >FLASH
102+
103+
.init_array :
104+
{
105+
. =ALIGN(4);
106+
PROVIDE_HIDDEN (__init_array_start = .);
107+
KEEP (*(SORT(.init_array.*)))
108+
KEEP (*(.init_array*))
109+
PROVIDE_HIDDEN (__init_array_end = .);
110+
. =ALIGN(4);
111+
} >FLASH
112+
113+
.fini_array :
114+
{
115+
. =ALIGN(4);
116+
PROVIDE_HIDDEN (__fini_array_start = .);
117+
KEEP (*(SORT(.fini_array.*)))
118+
KEEP (*(.fini_array*))
119+
PROVIDE_HIDDEN (__fini_array_end = .);
120+
. =ALIGN(4);
121+
} >FLASH
122+
123+
/* Used by the startup to initialize data */
124+
_sidata =LOADADDR(.data);
125+
126+
/* Initialized data sections into "RAM" Ram type memory */
127+
.data :
128+
{
129+
. =ALIGN(4);
130+
_sdata = .; /* create a global symbol at data start */
131+
*(.data) /* .data sections */
132+
*(.data*) /* .data* sections */
133+
*(.RamFunc) /* .RamFunc sections */
134+
*(.RamFunc*) /* .RamFunc* sections */
135+
136+
. =ALIGN(4);
137+
_edata = .; /* define a global symbol at data end */
138+
139+
} >RAM AT> FLASH
140+
141+
/* Uninitialized data section into "RAM" Ram type memory */
142+
. =ALIGN(4);
143+
.bss :
144+
{
145+
/* This is used by the startup in order to initialize the .bss section */
146+
_sbss = .; /* define a global symbol at bss start */
147+
__bss_start__ = _sbss;
148+
*(.bss)
149+
*(.bss*)
150+
*(COMMON)
151+
152+
. =ALIGN(4);
153+
_ebss = .; /* define a global symbol at bss end */
154+
__bss_end__ = _ebss;
155+
} >RAM
156+
157+
/* User_heap_stack section, used to check that there is enough "RAM" Ram type memory left */
158+
._user_heap_stack :
159+
{
160+
. =ALIGN(8);
161+
PROVIDE ( end = . );
162+
PROVIDE ( _end = . );
163+
. = . + _Min_Heap_Size;
164+
. = . + _Min_Stack_Size;
165+
. =ALIGN(8);
166+
} >RAM
167+
168+
/* Remove information from the compiler libraries */
169+
/DISCARD/ :
170+
{
171+
libc.a ( * )
172+
libm.a ( * )
173+
libgcc.a ( * )
174+
}
175+
176+
.ARM.attributes 0 : { *(.ARM.attributes) }
177+
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp