Skip to content

Commit

Permalink
cpu/cortexm_common: extend flashpage API
Browse files Browse the repository at this point in the history
  • Loading branch information
Ollrogge committed Oct 19, 2021
1 parent 72d4701 commit d38f6c6
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 0 deletions.
8 changes: 8 additions & 0 deletions cpu/cortexm_common/ldscripts/cortexm_base.ld
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,10 @@ SECTIONS
_sram = ORIGIN(ram);
_eram = ORIGIN(ram) + LENGTH(ram);

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

_sbackup_data_load = LOADADDR(.backup.data);
.backup.data : ALIGN(4) {
_sbackup_data = .;
Expand All @@ -228,4 +232,8 @@ SECTIONS
_sheap1 = . ;
_eheap1 = ORIGIN(bkup_ram) + LENGTH(bkup_ram);
} > bkup_ram

.end_fw (NOLOAD) : ALIGN(4) {
_end_fw = . ;
} > rom
}
37 changes: 37 additions & 0 deletions cpu/cortexm_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_cortexm_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 d38f6c6

Please sign in to comment.