WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
memory_config_common.h
浏览该文件的文档.
1/*
2 * Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2021-2021. All rights reserved.
3 * Description: Default memory configurations
4 *
5 * Create: 2021-06-16
6 */
7
8#ifndef MEMORY_CONFIG_COMMON_H
9#define MEMORY_CONFIG_COMMON_H
10
17#if defined(CONFIG_RADAR_SENSOR_RX_MEM_8K)
18#define RADAR_SENSOR_RX_MEM_SIZE 0x2000
19#elif defined(CONFIG_RADAR_SENSOR_RX_MEM_16K)
20#define RADAR_SENSOR_RX_MEM_SIZE 0x4000
21#elif defined(CONFIG_RADAR_SENSOR_RX_MEM_24K)
22#define RADAR_SENSOR_RX_MEM_SIZE 0x6000
23#elif defined(CONFIG_RADAR_SENSOR_RX_MEM_32K)
24#define RADAR_SENSOR_RX_MEM_SIZE 0x8000
25#else
26#define RADAR_SENSOR_RX_MEM_SIZE 0x2000 /* default 8K */
27#endif
28
29/* Bootrom config */
30#define BOOTROM_START 0x100000
31#define BOOTROM_LENGTH 0x9000 /* 36K */
32
33/* ROM config */
34#define ROM_START 0x109000
35#define ROM_LENGTH 0x43000 /* 268K = 304K - 36K(bootrom) */
36
37/* APP ITCM config */
38#define APP_ITCM_ORIGIN 0x14C000
39#define APP_ITCM_REGION_LEN 0x34000 /* 208K */
40
41/* APP DTCM config */
42#define APP_DTCM_ORIGIN 0x180000
43#define APP_DTCM_REGION_LEN 0x48000 /* 288K */
44
45#define PRESERVED_REGION_LENGTH (0x100)
46
47/* APP share_ram config */
48#define APP_SRAM_ORIGIN 0xA00000
49
50#if defined(CONFIG_BGLE_RAM_SIZE_16K) && defined(WIFI_TCM_OPTIMIZE)
51// pkt_ram 512K itcm: 64K dtcm: 16K bgle: 16K
52#define APP_ITCM_LENGTH 0x10000 /* 64K */
53#define APP_DTCM_LENGTH 0x4000 /* 16K */
54#define APP_SRAM_LENGTH (0x80000 - RADAR_SENSOR_RX_MEM_SIZE - PRESERVED_REGION_LENGTH) /* 512K - RADAR - PRESERVED */
55
56#elif defined(CONFIG_BGLE_RAM_SIZE_16K)
57// pkt_ram 544K itcm: 32K dtcm: 16K bgle: 16K
58#define APP_ITCM_LENGTH 0x4000 /* 16K */
59#define APP_DTCM_LENGTH 0x8000 /* 32K */
60#define APP_SRAM_LENGTH (0x88000 - RADAR_SENSOR_RX_MEM_SIZE - PRESERVED_REGION_LENGTH) /* 544K - RADAR - PRESERVED */
61
62#elif defined(CONFIG_BGLE_RAM_SIZE_32K)
63// pkt_ram 544K itcm: 16K dtcm: 16K bgle: 32K
64#define APP_ITCM_LENGTH 0x4000 /* 16K */
65#define APP_DTCM_LENGTH 0x4000 /* 16K */
66#define APP_SRAM_LENGTH (0x88000 - RADAR_SENSOR_RX_MEM_SIZE - PRESERVED_REGION_LENGTH) /* 544K - RADAR - PRESERVED */
67
68#elif defined(CONFIG_BGLE_RAM_SIZE_64K) // btc-only target
69// pkt_ram 448K itcm: 32K dtcm: 64K bgle: 64K
70#define APP_ITCM_LENGTH 0x8000 /* 32K */
71#define APP_DTCM_LENGTH 0x10000 /* 64K */
72#define APP_SRAM_LENGTH (0x70000 - RADAR_SENSOR_RX_MEM_SIZE - PRESERVED_REGION_LENGTH) /* 448K - RADAR - PRESERVED */
73
74#elif defined(WIFI_TCM_OPTIMIZE) // wifi-only target
75// pkt_ram 512K itcm: 64K dtcm: 32K bgle: 0K
76#define APP_ITCM_LENGTH 0x10000 /* 64K */
77#define APP_DTCM_LENGTH 0x8000 /* 32K */
78#define APP_SRAM_LENGTH (0x80000 - RADAR_SENSOR_RX_MEM_SIZE - PRESERVED_REGION_LENGTH) /* 512K - RADAR - PRESERVED */
79
80#else
81// pkt_ram 576K itcm: 16K dtcm: 16K bgle: 0K
82#define APP_ITCM_LENGTH 0x4000 /* 16K */
83#define APP_DTCM_LENGTH 0x4000 /* 16K */
84#define APP_SRAM_LENGTH (0x90000 - RADAR_SENSOR_RX_MEM_SIZE - PRESERVED_REGION_LENGTH) /* 576K - RADAR - PRESERVED */
85#endif
86
87#define PRESERVED_REGION_ORIGIN (APP_SRAM_ORIGIN + APP_SRAM_LENGTH)
88
89#define RADAR_SENSOR_RX_MEM_START (APP_SRAM_ORIGIN + APP_SRAM_LENGTH + PRESERVED_REGION_LENGTH)
90#define RADAR_SENSOR_RX_MEM_END (RADAR_SENSOR_RX_MEM_START + RADAR_SENSOR_RX_MEM_SIZE)
91
92/* Flash config */
93#define FLASH_START 0x200000
94#define FLASH_LEN 0x800000 /* 8M */
95#define FLASH_MAX_END (FLASH_START + FLASH_LEN)
96
97#define APP_PROGRAM_ORIGIN (0x230000 + 0x300)
98#ifdef CONFIG_SUPPORT_HILINK_INDIE_UPGRADE
99#define APP_PROGRAM_LENGTH (0x240000 - 0x300)
100#elif defined(CONFIG_MIDDLEWARE_SUPPORT_UPG_AB)
101#define APP_PROGRAM_LENGTH (0x1E1000 - 0x300)
102#else
103#define APP_PROGRAM_LENGTH (0x240000 - 0x300)
104#endif
105
106#ifdef CONFIG_SUPPORT_HILINK_INDIE_UPGRADE
107#define HILINK_SRAM_LENGTH (0x16000 - 36 * 1024)
108#define HILINK_STARTUP_LENGTH 0x6A000
109#else
110#define HILINK_SRAM_LENGTH 0x0
111#define HILINK_STARTUP_LENGTH 0x0
112#endif
113
114#define HILINK_SRAM_ORIGIN (APP_SRAM_ORIGIN + APP_SRAM_LENGTH - HILINK_SRAM_LENGTH)
115#define HILINK_STARTUP_ORIGIN (APP_PROGRAM_ORIGIN + APP_PROGRAM_LENGTH - HILINK_STARTUP_LENGTH)
116
117#define HILINK_PROGRAM_ORIGIN (HILINK_STARTUP_ORIGIN + 0x300)
118#define HILINK_PROGRAM_LENGTH (HILINK_STARTUP_LENGTH - 0x300)
119
120/* ----------------------------------------------------------------------------------------------------------------- */
121/* APP RAM defines
122 * APP has base 512K ITCM (Instruction TCM) for code
123 * 256K DTCM (Data TCM) for DATA.
124 * APP ITCM VECTORS TABLE
125 * RAM TEXT
126 *
127 * APP DTCM STACK
128 * RAM
129 */
130/* 256K DTCM for APP core data */
131/* stack for normal 8k */
132#define APP_USER_STACK_BASEADDR APP_SRAM_ORIGIN
133#define APP_USER_STACK_LEN 0x1000
134#define APP_USER_STACK_LIMIT (APP_USER_STACK_BASEADDR + APP_USER_STACK_LEN)
135
136/* stack for irq 1k */
137#define APP_IRQ_STACK_BASEADDR APP_USER_STACK_LIMIT
138#define APP_IRQ_STACK_LEN 0x800
139#define APP_IRQ_STACK_LIMIT (APP_IRQ_STACK_BASEADDR + APP_IRQ_STACK_LEN)
140
141/* stack for exception 1k */
142#define APP_EXCP_STACK_BASEADDR APP_IRQ_STACK_LIMIT
143#define APP_EXCP_STACK_LEN 0x800
144#define APP_EXCP_STACK_LIMIT (APP_EXCP_STACK_BASEADDR + APP_EXCP_STACK_LEN)
145
146/* stack for nmi 1k */
147#define APP_NMI_STACK_BASEADDR APP_EXCP_STACK_LIMIT
148#define APP_NMI_STACK_LEN 0x400
149#define APP_NMI_STACK_LIMIT (APP_NMI_STACK_BASEADDR + APP_NMI_STACK_LEN)
150
151#define APP_RAM_ORIGIN (APP_NMI_STACK_LIMIT)
152#define APP_RAM_END (APP_SRAM_ORIGIN + APP_SRAM_LENGTH)
153#define APP_RAM_LENGTH (APP_RAM_END - APP_RAM_ORIGIN)
154
155#define SHARED_MEM_START 0
156#define SHARED_MEM_LENGTH 0
157#define MCPU_TRACE_MEM_REGION_START 0
158#define CPU_TRACE_MEM_REGION_LENGTH 0
159#define BT_RAM_ORIGIN_APP_MAPPING 0
160#define BT_RAM_ORIGIN_APP_MAPPING_LENGTH 0
161#define BCPU_TRACE_MEM_REGION_START 0
162#define CPU_TRACE_MEM_REGION_LENGTH 0
163
164#ifdef CONFIG_MEMORY_CUSTOMIZE_RSV
165#define APP_PROGRAM_MEM_RSV_ORIGIN 0x5FA000 // must be 4K aligned
166#endif
167
171#endif