Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .rat-excludes
Original file line number Diff line number Diff line change
Expand Up @@ -475,6 +475,9 @@ stm32l0xx
# STM32L4xx SDK - BSD License
stm32l4xx

# STM32WBxx SDK - BSD License
stm32wbxx

# Fanstel EVBT840 BSP linker scripts - BSD License
fanstel-ev-bt840_no_boot.ld
split-fanstel-ev-bt840.ld
Expand Down
29 changes: 29 additions & 0 deletions hw/bsp/p-nucleo-wb55/boot-p-nucleo-wb55.ld
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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.
*/

/* Linker script to configure memory regions. */
MEMORY
{
FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 24K
RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 192K
RAM_SHARED (rwx) : ORIGIN = 0x20030000, LENGTH = 10K
}

/* The bootloader does not contain an image header */
_imghdr_size = 0x0;
66 changes: 66 additions & 0 deletions hw/bsp/p-nucleo-wb55/bsp.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
#

bsp.name: "P-NUCLEO-WB55"
bsp.url: https://www.st.com/en/evaluation-tools/p-nucleo-wb55.html
bsp.maker: "STMicroelectronics"
bsp.arch: cortex_m4
bsp.compiler: compiler/arm-none-eabi-m4
bsp.linkerscript:
- "hw/bsp/p-nucleo-wb55/p-nucleo-wb55.ld"
- "@apache-mynewt-core/hw/mcu/stm/stm32wbxx/stm32wb55.ld"
bsp.linkerscript.BOOT_LOADER.OVERWRITE:
- "hw/bsp/p-nucleo-wb55/boot-p-nucleo-wb55.ld"
- "@apache-mynewt-core/hw/mcu/stm/stm32wbxx/stm32wb55.ld"
bsp.downloadscript: "hw/bsp/p-nucleo-wb55/p-nucleo-wb55_download.sh"
bsp.debugscript: "hw/bsp/p-nucleo-wb55/p-nucleo-wb55_debug.sh"
bsp.downloadscript.WINDOWS.OVERWRITE: "hw/bsp/p-nucleo-wb55/p-nucleo-wb55_download.cmd"
bsp.debugscript.WINDOWS.OVERWRITE: "hw/bsp/p-nucleo-wb55/p-nucleo-wb55_debug.cmd"

bsp.flash_map:
areas:
# System areas.
FLASH_AREA_BOOTLOADER:
device: 0
offset: 0x08000000
size: 24kB
FLASH_AREA_IMAGE_0:
device: 0
offset: 0x08010000
size: 216kB
FLASH_AREA_IMAGE_1:
device: 0
offset: 0x08046000
size: 216kB
FLASH_AREA_IMAGE_SCRATCH:
device: 0
offset: 0x0807c000
size: 16kB

# User areas.
FLASH_AREA_REBOOT_LOG:
user_id: 0
device: 0
offset: 0x08006000
size: 24kB
FLASH_AREA_NFFS:
user_id: 1
device: 0
offset: 0x0800c000
size: 16kB
84 changes: 84 additions & 0 deletions hw/bsp/p-nucleo-wb55/include/bsp/bsp.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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.
*/
#ifndef H_BSP_H
#define H_BSP_H

#include <inttypes.h>
#include <mcu/mcu.h>

#ifdef __cplusplus
extern "C" {
#endif

/* Define special stack sections */
#define sec_data_core __attribute__((section(".data.core")))
#define sec_bss_core __attribute__((section(".bss.core")))
#define sec_bss_nz_core __attribute__((section(".bss.core.nz")))

/* More convenient section placement macros. */
#define bssnz_t sec_bss_nz_core

extern uint8_t _ram_start;

#define RAM_SIZE (192 * 1024)

/* LED pins */
#define LED_BLINK_PIN MCU_GPIO_PORTB(5)
#define LED_2 MCU_GPIO_PORTB(0)

/* UART */
#define UART_CNT 1

/* Arduino pins */
#define ARDUINO_PIN_D0 MCU_GPIO_PORTA(3)
#define ARDUINO_PIN_D1 MCU_GPIO_PORTA(2)
#define ARDUINO_PIN_D2 MCU_GPIO_PORTC(6)
#define ARDUINO_PIN_D3 MCU_GPIO_PORTA(10)
#define ARDUINO_PIN_D4 MCU_GPIO_PORTC(10)
#define ARDUINO_PIN_D5 MCU_GPIO_PORTA(15)
#define ARDUINO_PIN_D6 MCU_GPIO_PORTA(8)
#define ARDUINO_PIN_D7 MCU_GPIO_PORTC(13)
#define ARDUINO_PIN_D8 MCU_GPIO_PORTC(12)
#define ARDUINO_PIN_D9 MCU_GPIO_PORTA(9)
#define ARDUINO_PIN_D10 MCU_GPIO_PORTA(4)
#define ARDUINO_PIN_D11 MCU_GPIO_PORTA(7)
#define ARDUINO_PIN_D12 MCU_GPIO_PORTA(6)
#define ARDUINO_PIN_D13 MCU_GPIO_PORTA(5)
#define ARDUINO_PIN_D14 MCU_GPIO_PORTB(9)
#define ARDUINO_PIN_D15 MCU_GPIO_PORTB(8)

#define ARDUINO_PIN_A0 MCU_GPIO_PORTC(0)
#define ARDUINO_PIN_A1 MCU_GPIO_PORTC(1)
#define ARDUINO_PIN_A2 MCU_GPIO_PORTA(1)
#define ARDUINO_PIN_A3 MCU_GPIO_PORTA(0)
#define ARDUINO_PIN_A4 MCU_GPIO_PORTC(3)
#define ARDUINO_PIN_A5 MCU_GPIO_PORTC(2)

#define ARDUINO_PIN_SCL ARDUINO_PIN_D15
#define ARDUINO_PIN_SDA ARDUINO_PIN_D14

#define ARDUINO_PIN_SCK ARDUINO_PIN_D13
#define ARDUINO_PIN_MISO ARDUINO_PIN_D12
#define ARDUINO_PIN_MOSI ARDUINO_PIN_D11

#ifdef __cplusplus
}
#endif

#endif /* H_BSP_H */
Loading