Skip to content

Commit

Permalink
cpu/riscv_common: extend flashpage API
Browse files Browse the repository at this point in the history
  • Loading branch information
Ollrogge committed Oct 25, 2021
1 parent 741943f commit 3a11b1f
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 0 deletions.
8 changes: 8 additions & 0 deletions cpu/riscv_common/ldscripts/riscv_base.ld
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,10 @@ SECTIONS
{
__stack_size = DEFINED(__stack_size) ? __stack_size : 256;

/* Populate information about rom size */
_srom = ORIGIN(rom);
_erom = ORIGIN(rom) + LENGTH(rom);

.init :
{
KEEP (*(SORT_NONE(.init)))
Expand Down Expand Up @@ -213,4 +217,8 @@ SECTIONS
. = __stack_size;
PROVIDE( _sp = . );
} >ram AT>ram :ram

.end_fw (NOLOAD) : ALIGN(4) {
_end_fw = . ;
} > rom
}
37 changes: 37 additions & 0 deletions cpu/riscv_common/periph/flashpage.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
/*
* Copyright (C) 2021 Freie Universität Berlin
*
* This file is subject to the terms and conditions of the GNU Lesser
* General Public License v2.1. See the file LICENSE in the top level
* directory for more details.
*/

/**
* @ingroup cpu_riscv_common
* @ingroup drivers_periph_pm
* @{
* @file
* @brief common periph/flashpage functions
*
* @author Nils Ollrogge <nils.ollrogge@fu-berlin.de>
* @}
*/

#include "periph/flashpage.h"

/**
* @brief Memory markers, defined in the linker script
* @{
*/
extern uint32_t _end_fw;
extern uint32_t _erom;

unsigned flashpage_first_free(void)
{
return flashpage_page(&_end_fw) + 1;
}

unsigned flashpage_last_free(void)
{
return flashpage_page(&_erom) - 1;
}

0 comments on commit 3a11b1f

Please sign in to comment.