Skip to content

Commit

Permalink
STM32F2 and Particle Electron board support
Browse files Browse the repository at this point in the history
CL: STM32F2 and Particle Electron board support

PUBLISHED_FROM=20dede6546e9f99d2829508177924790d87e985a
  • Loading branch information
Deomid Ryabkov authored and cesantabot committed Feb 12, 2019
1 parent a0dc988 commit 2fc1e3f
Show file tree
Hide file tree
Showing 19 changed files with 733 additions and 22 deletions.
50 changes: 50 additions & 0 deletions common/platforms/arm/arm_nsleep100_m3.S
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
/*
* Copyright (c) 2014-2019 Cesanta Software Limited
* All rights reserved
*
* Licensed under the Apache License, Version 2.0 (the ""License"");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an ""AS IS"" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

.arch armv7e-m
.syntax unified
.thumb

/* These are required to satisfy TI linker. */
.eabi_attribute Tag_ABI_align_needed, 1
.eabi_attribute Tag_ABI_align_preserved, 1

.global mgos_nsleep100_impl
.global mgos_nsleep100_loop_count

#ifdef STM32
.section .RamFunc.mgos_nsleep100_impl
#else
.section .iram.mgos_nsleep100_impl
#endif
.type mgos_nsleep100_impl, %function
.align 4

mgos_nsleep100_impl:
ldr r3, =mgos_nsleep100_loop_count
ldr r3, [r3]
mul r0, r3
mov r1, #6
udiv r0, r0, r1
cbz r0, xxx
lxx:
subs r0, #1
bne lxx
xxx:
bx lr
.align 4
.size mgos_nsleep100_impl, . - mgos_nsleep100_impl
6 changes: 2 additions & 4 deletions fw/platforms/stm32/Makefile.build
Original file line number Diff line number Diff line change
Expand Up @@ -185,13 +185,11 @@ MGOS_SRCS += $(notdir $(MGOS_CONFIG_C)) $(notdir $(MGOS_RO_VARS_C)) \

STM32_IPATH += $(STM32CUBE_PATH)/Drivers/CMSIS/Include \
$(FREERTOS_PATH)/Source/include \
$(FREERTOS_PATH)/Source/CMSIS_RTOS \
$(FREERTOS_PATH)/Source/portable/GCC/ARM_CM7/r0p1
$(FREERTOS_PATH)/Source/CMSIS_RTOS

STM32_VPATH += $(FREERTOS_PATH)/Source \
$(FREERTOS_PATH)/Source/CMSIS_RTOS \
$(FREERTOS_PATH)/Source/portable/MemMang \
$(FREERTOS_PATH)/Source/portable/GCC/ARM_CM7/r0p1
$(FREERTOS_PATH)/Source/portable/MemMang

STM32_SRCS += $(notdir $(wildcard $(FREERTOS_PATH)/Source/*.c) port.c heap_3.c cmsis_os.c)

Expand Down
Binary file added fw/platforms/stm32/bin/bootloader-Electron.bin
Binary file not shown.
5 changes: 4 additions & 1 deletion fw/platforms/stm32/include/stm32_sdk_hal.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,10 @@
#ifndef CS_FW_PLATFORMS_STM32_INCLUDE_STM32_SDK_HAL_H_
#define CS_FW_PLATFORMS_STM32_INCLUDE_STM32_SDK_HAL_H_

#if defined(STM32F4)
#if defined(STM32F2)
#include "stm32f2xx_hal.h"
#include "stm32f2xx_ll_utils.h"
#elif defined(STM32F4)
#include "stm32f4xx_hal.h"
#include "stm32f4xx_ll_utils.h"
#elif defined(STM32L4)
Expand Down
Loading

0 comments on commit 2fc1e3f

Please sign in to comment.