nuttx/boards/xtensa/esp32/esp32-audio-kit/include/board_memorymap.h
Alan Carvalho de Assis b87eb7c82f esp32: Add Ai-Thinker ESP32 Audio Kit board
This commit adds support to Ai-Thinker ESP32 Audio Kit V2.2 A247
board.

There are two modules of this board. The old model uses AC101 audio
and is not supported currently (AFAIK there is no AC101 driver) and
the new version uses the ES8388 audio codec. This model is supported
by this commit.

Just read the documentation to test playing an audio file.
TODO: Test audio recording.
2023-03-28 20:58:36 +03:00

129 lines
4.6 KiB
C

/****************************************************************************
* boards/xtensa/esp32/esp32-audio-kit/include/board_memorymap.h
*
* 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 __BOARDS_XTENSA_ESP32_ESP32_AUDIO_KIT_INCLUDE_BOARD_MEMORYMAP_H
#define __BOARDS_XTENSA_ESP32_ESP32_AUDIO_KIT_INCLUDE_BOARD_MEMORYMAP_H
/****************************************************************************
* Included Files
****************************************************************************/
#include <stdint.h>
/****************************************************************************
* Pre-processor Definitions
****************************************************************************/
/* Kernel ROM */
#define KIROM_START (uintptr_t)__kirom_start
#define KIROM_SIZE (uintptr_t)__kirom_size
#define KDROM_START (uintptr_t)__kdrom_start
#define KDROM_SIZE (uintptr_t)__kdrom_size
/* Kernel RAM */
#define KIRAM_0_START (uintptr_t)__kiram_0_start
#define KIRAM_0_SIZE (uintptr_t)__kiram_0_size
#define KIRAM_0_END (uintptr_t)__kiram_0_end
#define KIRAM_1_START (uintptr_t)__kiram_1_start
#define KIRAM_1_SIZE (uintptr_t)__kiram_1_size
#define KIRAM_1_END (uintptr_t)__kiram_1_end
#define KDRAM_0_START (uintptr_t)__kdram_0_start
#define KDRAM_0_SIZE (uintptr_t)__kdram_0_size
#define KDRAM_0_END (uintptr_t)__kdram_0_end
#define KDRAM_1_START (uintptr_t)__kdram_1_start
#define KDRAM_1_SIZE (uintptr_t)__kdram_1_size
#define KDRAM_1_END (uintptr_t)__kdram_1_end
/* Exception vectors */
#define VECTORS_START (uintptr_t)__vectors_start
#define VECTORS_END (uintptr_t)__vectors_end
/* User ROM */
#define UIROM_START (uintptr_t)__uirom_start
#define UIROM_SIZE (uintptr_t)__uirom_size
#define UIROM_END (uintptr_t)__uirom_end
#define UDROM_START (uintptr_t)__udrom_start
#define UDROM_SIZE (uintptr_t)__udrom_size
#define UDROM_END (uintptr_t)__udrom_end
/* User RAM */
#define UIRAM_START (uintptr_t)__uiram_start
#define UIRAM_SIZE (uintptr_t)__uiram_size
#define UIRAM_END (uintptr_t)__uiram_end
#define UDRAM_START (uintptr_t)__udram_start
#define UDRAM_SIZE (uintptr_t)__udram_size
#define UDRAM_END (uintptr_t)__udram_end
/****************************************************************************
* Public Data
****************************************************************************/
/* Kernel ROM (RX) */
extern uint8_t __kirom_start[];
extern uint8_t __kirom_size[];
extern uint8_t __kdrom_start[];
extern uint8_t __kdrom_size[];
/* Kernel RAM (RW) */
extern uint8_t __kiram_0_start[];
extern uint8_t __kiram_0_size[];
extern uint8_t __kiram_0_end[];
extern uint8_t __kiram_1_start[];
extern uint8_t __kiram_1_size[];
extern uint8_t __kiram_1_end[];
extern uint8_t __kdram_0_start[];
extern uint8_t __kdram_0_size[];
extern uint8_t __kdram_0_end[];
extern uint8_t __kdram_1_start[];
extern uint8_t __kdram_1_size[];
extern uint8_t __kdram_1_end[];
/* Exception vectors */
extern uint8_t __vectors_start[];
extern uint8_t __vectors_end[];
/* User ROM (RX) */
extern uint8_t __uirom_start[];
extern uint8_t __uirom_size[];
extern uint8_t __uirom_end[];
extern uint8_t __udrom_start[];
extern uint8_t __udrom_size[];
extern uint8_t __udrom_end[];
/* User RAM (RW) */
extern uint8_t __uiram_start[];
extern uint8_t __uiram_size[];
extern uint8_t __uiram_end[];
extern uint8_t __udram_start[];
extern uint8_t __udram_size[];
extern uint8_t __udram_end[];
#endif /* __BOARDS_XTENSA_ESP32_ESP32_AUDIO_KIT_INCLUDE_BOARD_MEMORYMAP_H */