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

Commitf45d40f

Browse files
mkalsABOSTM
authored andcommitted
Add Generic L010RB
Supersedestm32duino#1123Signed-off-by: Morten Kals <morten@kals.no>Co-authored-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
1 parent558d1d1 commitf45d40f

File tree

4 files changed

+217
-2
lines changed

4 files changed

+217
-2
lines changed

‎README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -300,6 +300,7 @@ User can add a STM32 based board following this [wiki](https://github.com/stm32d
300300

301301
| Status| Device(s)| Name| Release| Notes|
302302
| :----:| :-------:| ----| :-----:| :----|
303+
|:yellow_heart:| STM32L010RB| Generic Board|**2.0.0**||
303304
|:yellow_heart:| STM32L031K4T<br>STM32L031K6T| Generic Board|**2.0.0**||
304305
|:yellow_heart:| STM32L041K6T| Generic Board|**2.0.0**||
305306
|:yellow_heart:| STM32L051C6<br>STM32L051C8| Generic Board|**2.0.0**||

‎boards.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2951,6 +2951,14 @@ GenL0.menu.pnum.PX_HER0.build.variant_h=variant_{build.board}.h
29512951
GenL0.menu.pnum.PX_HER0.build.variant=STM32L0xx/L072R(B-Z)Tx_L073R(B-Z)Tx_L083R(B-Z)Tx
29522952
GenL0.menu.pnum.PX_HER0.build.peripheral_pins=-DCUSTOM_PERIPHERAL_PINS
29532953

2954+
# Generic L010RBTx
2955+
GenL0.menu.pnum.GENERIC_L010RBTX=Generic L010RBTx
2956+
GenL0.menu.pnum.GENERIC_L010RBTX.upload.maximum_size=131072
2957+
GenL0.menu.pnum.GENERIC_L010RBTX.upload.maximum_data_size=20480
2958+
GenL0.menu.pnum.GENERIC_L010RBTX.build.board=GENERIC_L010RBTX
2959+
GenL0.menu.pnum.GENERIC_L010RBTX.build.product_line=STM32L010xB
2960+
GenL0.menu.pnum.GENERIC_L010RBTX.build.variant=STM32L0xx/L010RBTx
2961+
29542962
# Generic L031K4Tx
29552963
GenL0.menu.pnum.GENERIC_L031K4TX=Generic L031K4Tx
29562964
GenL0.menu.pnum.GENERIC_L031K4TX.upload.maximum_size=16384

‎variants/STM32L0xx/L010RBTx/generic_clock.c

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,37 @@
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+
26+
/** Configure the main internal regulator output voltage
27+
*/
28+
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
29+
/** Initializes the RCC Oscillators according to the specified parameters
30+
* in the RCC_OscInitTypeDef structure.
31+
*/
32+
RCC_OscInitStruct.OscillatorType=RCC_OSCILLATORTYPE_HSI;
33+
RCC_OscInitStruct.HSIState=RCC_HSI_ON;
34+
RCC_OscInitStruct.HSICalibrationValue=RCC_HSICALIBRATION_DEFAULT;
35+
RCC_OscInitStruct.PLL.PLLState=RCC_PLL_ON;
36+
RCC_OscInitStruct.PLL.PLLSource=RCC_PLLSOURCE_HSI;
37+
RCC_OscInitStruct.PLL.PLLMUL=RCC_PLLMUL_4;
38+
RCC_OscInitStruct.PLL.PLLDIV=RCC_PLLDIV_2;
39+
if (HAL_RCC_OscConfig(&RCC_OscInitStruct)!=HAL_OK) {
40+
Error_Handler();
41+
}
42+
/** Initializes the CPU, AHB and APB buses clocks
43+
*/
44+
RCC_ClkInitStruct.ClockType=RCC_CLOCKTYPE_HCLK |RCC_CLOCKTYPE_SYSCLK
45+
|RCC_CLOCKTYPE_PCLK1 |RCC_CLOCKTYPE_PCLK2;
46+
RCC_ClkInitStruct.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK;
47+
RCC_ClkInitStruct.AHBCLKDivider=RCC_SYSCLK_DIV1;
48+
RCC_ClkInitStruct.APB1CLKDivider=RCC_HCLK_DIV1;
49+
RCC_ClkInitStruct.APB2CLKDivider=RCC_HCLK_DIV1;
50+
51+
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct,FLASH_LATENCY_1)!=HAL_OK) {
52+
Error_Handler();
53+
}
2554
}
2655

2756
#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 STM32L010RBTx Device from STM32L0 series
6+
* 128Kbytes FLASH
7+
* 20Kbytes 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