WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
memory_config.h
浏览该文件的文档.
1/*
2 * Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2021-2021. All rights reserved.
3 * Description: Default memory configurations
4 *
5 * Create: 2021-03-09
6 */
7#ifndef MEMORY_CONFIG_H
8#define MEMORY_CONFIG_H
9
10/*
11 * ********************* ROM ALLOCATION ***********************
12 *
13 * Used solely by the Security Core ROM image built into the chip.
14 */
15/* 32K ROM */
16#define ROM_START 0x100000
17#define ROM_LENGTH 0x4C000
18
19#define ROMBOOT_ORIGIN (ROM_START)
20#define ROMBOOT_LENGTH 0x8000
21#define ROMBOOT_END (ROMBOOT_ORIGIN + ROMBOOT_LENGTH)
22/*
23 * ********************* FLASH ALLOCATION *********************
24 * Flash is shared between the cores, and also handles a limited number of
25 * non-volatile storage areas.
26 */
27#define FLASH_START 0x200000
28#define FLASH_LEN 0x800000
29#define FLASH_MAX_END (FLASH_START + FLASH_LEN)
30#define FLASH_PAGE_SIZE 4096
31
32/* ----------------------------------------------------------------------------------------------------------------- */
33#define APP_SHARE_RAM_ORIGIN 0xA00000
34#define APP_SHARE_RAM_LENGTH 0x20000
35
36/* reserve 128KB ram for romboot */
37#define ROMBOOT_RAM_START APP_SHARE_RAM_ORIGIN
38#define ROMBOOT_RAM_LEN 0x20000
39#define ROMBOOT_RAM_END (ROMBOOT_RAM_START + ROMBOOT_RAM_LEN) // 0xA20000 hiburn loaderboot address
40
41#define BOOT_HEAD_LEN 0x300
42
43#define SSB_ORIGIN ROMBOOT_RAM_END
44#define SSB_LENGTH 0x8000
45#define SSB_END (SSB_ORIGIN + SSB_LENGTH) // 0xA28000
46
47#define FLASHBOOT_ORIGIN (SSB_END + BOOT_HEAD_LEN)
48#define FLASHBOOT_LENGTH 0x10000
49#define FLASHBOOT_END (FLASHBOOT_ORIGIN + FLASHBOOT_LENGTH)
50
51/* MCU DTCM config currently use share ram */
52#define MCU_SHARE_RAM_END (APP_SHARE_RAM_ORIGIN + APP_SHARE_RAM_LENGTH)
53
54/* MCU DTCM config currently use share ram */
55#define ROMBOOT_USE_RAM_OFFSET 0x3100
56#define APP_SRAM_ORIGIN (APP_SHARE_RAM_ORIGIN + ROMBOOT_USE_RAM_OFFSET)
57#define APP_SRAM_LENGTH APP_SHARE_RAM_LENGTH
58#define MCU_DTCM_END (APP_SRAM_ORIGIN + APP_SRAM_LENGTH)
59
60/* stack for normal 7k */
61#define USER_STACK_BASEADDR APP_SRAM_ORIGIN
62#define USER_STACK_LEN 0x1c00
63#define USER_STACK_LIMIT (USER_STACK_BASEADDR + USER_STACK_LEN)
64
65/* stack for irq 1k */
66#define IRQ_STACK_BASEADDR USER_STACK_LIMIT
67#define IRQ_STACK_LEN 0x400
68#define IRQ_STACK_LIMIT (IRQ_STACK_BASEADDR + IRQ_STACK_LEN)
69
70/* stack for exception 1k */
71#define EXCP_STACK_BASEADDR IRQ_STACK_LIMIT
72#define EXCP_STACK_LEN 0x400
73#define EXCP_STACK_LIMIT (EXCP_STACK_BASEADDR + EXCP_STACK_LEN)
74
75#define FLASH_STACK_LEN (USER_STACK_LEN + IRQ_STACK_LEN + EXCP_STACK_LEN)
76
77#endif