efm32: created memory map from all base addresses
This commit is contained in:
parent
91732cbb9e
commit
be62115f00
29
include/libopencm3/efm32/memorymap.h
Normal file
29
include/libopencm3/efm32/memorymap.h
Normal file
@ -0,0 +1,29 @@
|
||||
/*
|
||||
* This file is part of the libopencm3 project.
|
||||
*
|
||||
* Copyright (C) 2012 chrysn <chrysn@fsfe.org>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef LIBOPENCM3_EFM32_MEMORYMAP_H
|
||||
#define LIBOPENCM3_EFM32_MEMORYMAP_H
|
||||
|
||||
#ifdef TINYGECKO
|
||||
# include <libopencm3/efm32/tinygecko/memorymap.h>
|
||||
#else
|
||||
# error "efm32 family not defined."
|
||||
#endif
|
||||
|
||||
#endif
|
@ -33,8 +33,7 @@
|
||||
#define LIBOPENCM3_EFM32_TINYGECKO_CMU_H
|
||||
|
||||
#include <libopencm3/cm3/common.h>
|
||||
|
||||
#define CMU_BASE 0x400C8000 /**< Register base address for the CMU according to d0034_efm32tg_reference_manual.pdf figure 5.2. */
|
||||
#include <libopencm3/efm32/memorymap.h>
|
||||
|
||||
/** These definitions reflect d0034_efm32tg_reference_manual.pdf section 11.4.
|
||||
*
|
||||
|
@ -34,8 +34,7 @@
|
||||
#define LIBOPENCM3_EFM32_TINYGECKO_GPIO_H
|
||||
|
||||
#include <libopencm3/cm3/common.h>
|
||||
|
||||
#define GPIO_BASE 0x40006000 /**< Register base address for the GPIO according to d0034_efm32tg_reference_manual.pdf figure 5.2. */
|
||||
#include <libopencm3/efm32/memorymap.h>
|
||||
|
||||
/** These definitions reflect d0034_efm32tg_reference_manual.pdf section 28.4
|
||||
*
|
||||
|
76
include/libopencm3/efm32/tinygecko/memorymap.h
Normal file
76
include/libopencm3/efm32/tinygecko/memorymap.h
Normal file
@ -0,0 +1,76 @@
|
||||
/*
|
||||
* This file is part of the libopencm3 project.
|
||||
*
|
||||
* Copyright (C) 2012 chrysn <chrysn@fsfe.org>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/** @file
|
||||
*
|
||||
* Layout of the system address space of Tiny Gecko devices.
|
||||
*
|
||||
* This reflects d0034_efm32tg_reference_manual.pdf figure 5.2.
|
||||
*/
|
||||
|
||||
/* The common cortex-m3 definitions were verified from
|
||||
* d0034_efm32tg_reference_manual.pdf figure 5.2. The CM3 ROM Table seems to be
|
||||
* missing there. The details (everything based on SCS_BASE) was verified from
|
||||
* d0002_efm32_cortex-m3_reference_manual.pdf table 4.1, and seems to fit, but
|
||||
* there are discrepancies. */
|
||||
#include <libopencm3/cm3/memorymap.h>
|
||||
|
||||
#define CODE_BASE 0x00000000
|
||||
|
||||
#define SRAM_BASE 0x20000000
|
||||
#define SRAM_BASE_BITBAND 0x22000000
|
||||
|
||||
#define PERIPH_BASE 0x40000000
|
||||
#define PERIPH_BASE_BITBAND 0x42000000
|
||||
|
||||
/* Details of the "Code" section */
|
||||
|
||||
#define FLASH_BASE (CODE_BASE + 0x00000000)
|
||||
#define USERDATA_BASE (CODE_BASE + 0x0fe00000)
|
||||
#define LOCKBITS_BASE (CODE_BASE + 0x0fe04000)
|
||||
#define CHIPCONFIG_BASE (CODE_BASE + 0x0fe08000)
|
||||
#define CODESPACESRAM_BASE (CODE_BASE + 0x10000000)
|
||||
|
||||
/* Tiny Gecko peripherial definitions */
|
||||
|
||||
#define VCMP_BASE (PERIPH_BASE + 0x00000000)
|
||||
#define ACMP0_BASE (PERIPH_BASE + 0x00001000)
|
||||
#define ACMP1_BASE (PERIPH_BASE + 0x00001400)
|
||||
#define ADC_BASE (PERIPH_BASE + 0x00002000)
|
||||
#define DAC0_BASE (PERIPH_BASE + 0x00004000)
|
||||
#define GPIO_BASE (PERIPH_BASE + 0x00006000)
|
||||
#define I2C0_BASE (PERIPH_BASE + 0x0000a000)
|
||||
#define USART0_BASE (PERIPH_BASE + 0x0000c000)
|
||||
#define USART1_BASE (PERIPH_BASE + 0x0000c400)
|
||||
#define TIMER0_BASE (PERIPH_BASE + 0x00010000)
|
||||
#define TIMER1_BASE (PERIPH_BASE + 0x00010400)
|
||||
#define RTC_BASE (PERIPH_BASE + 0x00080000)
|
||||
#define LETIMER0_BASE (PERIPH_BASE + 0x00082000)
|
||||
#define LEUART0_BASE (PERIPH_BASE + 0x00084000)
|
||||
#define PCNT0_BASE (PERIPH_BASE + 0x00086000)
|
||||
#define WDOG_BASE (PERIPH_BASE + 0x00088000)
|
||||
#define LCD_BASE (PERIPH_BASE + 0x0008a000)
|
||||
#define LESENSE_BASE (PERIPH_BASE + 0x0008c000)
|
||||
#define MSC_BASE (PERIPH_BASE + 0x000c0000)
|
||||
#define DMA_BASE (PERIPH_BASE + 0x000c2000)
|
||||
#define EMU_BASE (PERIPH_BASE + 0x000c6000)
|
||||
#define CMU_BASE (PERIPH_BASE + 0x000c8000)
|
||||
#define RMU_BASE (PERIPH_BASE + 0x000ca000)
|
||||
#define PRS_BASE (PERIPH_BASE + 0x000cc000)
|
||||
#define AES_BASE (PERIPH_BASE + 0x000e0000)
|
Loading…
x
Reference in New Issue
Block a user