Skip to content

Commit e498687

Browse files
authored
[BSP] Add n32g4frml-stb bsp (#6773)
新增n32g4frml-stb bsp,在n32g4frml-stb 开发板上测试通过。 Add n32g4frml-stb bsp. passed the test on the n32g4frml-stb board.
1 parent 8f0cef3 commit e498687

File tree

125 files changed

+74128
-34
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

125 files changed

+74128
-34
lines changed

.github/workflows/action.yml

+1
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ jobs:
5353
- {RTT_BSP: "n32/n32g45xrl-stb", RTT_TOOL_CHAIN: "sourcery-arm"}
5454
- {RTT_BSP: "n32/n32g45xvl-stb", RTT_TOOL_CHAIN: "sourcery-arm"}
5555
- {RTT_BSP: "n32/n32g457qel-stb", RTT_TOOL_CHAIN: "sourcery-arm"}
56+
- {RTT_BSP: "n32/n32g4frml-stb", RTT_TOOL_CHAIN: "sourcery-arm"}
5657
- {RTT_BSP: "n32/n32l40xcl-stb", RTT_TOOL_CHAIN: "sourcery-arm"}
5758
- {RTT_BSP: "n32/n32l43xml-stb", RTT_TOOL_CHAIN: "sourcery-arm"}
5859
- {RTT_BSP: "n32/n32l43xrl-stb", RTT_TOOL_CHAIN: "sourcery-arm"}

bsp/n32/libraries/Kconfig

+5
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,8 @@ config SOC_SERIES_N32WB452
1515
bool
1616
select ARCH_ARM_CORTEX_M4
1717
select SOC_FAMILY_N32
18+
19+
config SOC_SERIES_N32G4FR
20+
bool
21+
select ARCH_ARM_CORTEX_M4
22+
select SOC_FAMILY_N32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
/* ----------------------------------------------------------------------
2+
* Project: CMSIS DSP Library
3+
* Title: arm_common_tables.h
4+
* Description: Extern declaration for common tables
5+
*
6+
* $Date: 27. January 2017
7+
* $Revision: V.1.5.1
8+
*
9+
* Target Processor: Cortex-M cores
10+
* -------------------------------------------------------------------- */
11+
/*
12+
* Copyright (C) 2010-2017 ARM Limited or its affiliates. All rights reserved.
13+
*
14+
* SPDX-License-Identifier: Apache-2.0
15+
*
16+
* Licensed under the Apache License, Version 2.0 (the License); you may
17+
* not use this file except in compliance with the License.
18+
* You may obtain a copy of the License at
19+
*
20+
* www.apache.org/licenses/LICENSE-2.0
21+
*
22+
* Unless required by applicable law or agreed to in writing, software
23+
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
24+
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
25+
* See the License for the specific language governing permissions and
26+
* limitations under the License.
27+
*/
28+
29+
#ifndef _ARM_COMMON_TABLES_H
30+
#define _ARM_COMMON_TABLES_H
31+
32+
#include "arm_math.h"
33+
34+
extern const uint16_t armBitRevTable[1024];
35+
extern const q15_t armRecipTableQ15[64];
36+
extern const q31_t armRecipTableQ31[64];
37+
extern const float32_t twiddleCoef_16[32];
38+
extern const float32_t twiddleCoef_32[64];
39+
extern const float32_t twiddleCoef_64[128];
40+
extern const float32_t twiddleCoef_128[256];
41+
extern const float32_t twiddleCoef_256[512];
42+
extern const float32_t twiddleCoef_512[1024];
43+
extern const float32_t twiddleCoef_1024[2048];
44+
extern const float32_t twiddleCoef_2048[4096];
45+
extern const float32_t twiddleCoef_4096[8192];
46+
#define twiddleCoef twiddleCoef_4096
47+
extern const q31_t twiddleCoef_16_q31[24];
48+
extern const q31_t twiddleCoef_32_q31[48];
49+
extern const q31_t twiddleCoef_64_q31[96];
50+
extern const q31_t twiddleCoef_128_q31[192];
51+
extern const q31_t twiddleCoef_256_q31[384];
52+
extern const q31_t twiddleCoef_512_q31[768];
53+
extern const q31_t twiddleCoef_1024_q31[1536];
54+
extern const q31_t twiddleCoef_2048_q31[3072];
55+
extern const q31_t twiddleCoef_4096_q31[6144];
56+
extern const q15_t twiddleCoef_16_q15[24];
57+
extern const q15_t twiddleCoef_32_q15[48];
58+
extern const q15_t twiddleCoef_64_q15[96];
59+
extern const q15_t twiddleCoef_128_q15[192];
60+
extern const q15_t twiddleCoef_256_q15[384];
61+
extern const q15_t twiddleCoef_512_q15[768];
62+
extern const q15_t twiddleCoef_1024_q15[1536];
63+
extern const q15_t twiddleCoef_2048_q15[3072];
64+
extern const q15_t twiddleCoef_4096_q15[6144];
65+
extern const float32_t twiddleCoef_rfft_32[32];
66+
extern const float32_t twiddleCoef_rfft_64[64];
67+
extern const float32_t twiddleCoef_rfft_128[128];
68+
extern const float32_t twiddleCoef_rfft_256[256];
69+
extern const float32_t twiddleCoef_rfft_512[512];
70+
extern const float32_t twiddleCoef_rfft_1024[1024];
71+
extern const float32_t twiddleCoef_rfft_2048[2048];
72+
extern const float32_t twiddleCoef_rfft_4096[4096];
73+
74+
/* floating-point bit reversal tables */
75+
#define ARMBITREVINDEXTABLE_16_TABLE_LENGTH ((uint16_t)20)
76+
#define ARMBITREVINDEXTABLE_32_TABLE_LENGTH ((uint16_t)48)
77+
#define ARMBITREVINDEXTABLE_64_TABLE_LENGTH ((uint16_t)56)
78+
#define ARMBITREVINDEXTABLE_128_TABLE_LENGTH ((uint16_t)208)
79+
#define ARMBITREVINDEXTABLE_256_TABLE_LENGTH ((uint16_t)440)
80+
#define ARMBITREVINDEXTABLE_512_TABLE_LENGTH ((uint16_t)448)
81+
#define ARMBITREVINDEXTABLE_1024_TABLE_LENGTH ((uint16_t)1800)
82+
#define ARMBITREVINDEXTABLE_2048_TABLE_LENGTH ((uint16_t)3808)
83+
#define ARMBITREVINDEXTABLE_4096_TABLE_LENGTH ((uint16_t)4032)
84+
85+
extern const uint16_t armBitRevIndexTable16[ARMBITREVINDEXTABLE_16_TABLE_LENGTH];
86+
extern const uint16_t armBitRevIndexTable32[ARMBITREVINDEXTABLE_32_TABLE_LENGTH];
87+
extern const uint16_t armBitRevIndexTable64[ARMBITREVINDEXTABLE_64_TABLE_LENGTH];
88+
extern const uint16_t armBitRevIndexTable128[ARMBITREVINDEXTABLE_128_TABLE_LENGTH];
89+
extern const uint16_t armBitRevIndexTable256[ARMBITREVINDEXTABLE_256_TABLE_LENGTH];
90+
extern const uint16_t armBitRevIndexTable512[ARMBITREVINDEXTABLE_512_TABLE_LENGTH];
91+
extern const uint16_t armBitRevIndexTable1024[ARMBITREVINDEXTABLE_1024_TABLE_LENGTH];
92+
extern const uint16_t armBitRevIndexTable2048[ARMBITREVINDEXTABLE_2048_TABLE_LENGTH];
93+
extern const uint16_t armBitRevIndexTable4096[ARMBITREVINDEXTABLE_4096_TABLE_LENGTH];
94+
95+
/* fixed-point bit reversal tables */
96+
#define ARMBITREVINDEXTABLE_FIXED_16_TABLE_LENGTH ((uint16_t)12)
97+
#define ARMBITREVINDEXTABLE_FIXED_32_TABLE_LENGTH ((uint16_t)24)
98+
#define ARMBITREVINDEXTABLE_FIXED_64_TABLE_LENGTH ((uint16_t)56)
99+
#define ARMBITREVINDEXTABLE_FIXED_128_TABLE_LENGTH ((uint16_t)112)
100+
#define ARMBITREVINDEXTABLE_FIXED_256_TABLE_LENGTH ((uint16_t)240)
101+
#define ARMBITREVINDEXTABLE_FIXED_512_TABLE_LENGTH ((uint16_t)480)
102+
#define ARMBITREVINDEXTABLE_FIXED_1024_TABLE_LENGTH ((uint16_t)992)
103+
#define ARMBITREVINDEXTABLE_FIXED_2048_TABLE_LENGTH ((uint16_t)1984)
104+
#define ARMBITREVINDEXTABLE_FIXED_4096_TABLE_LENGTH ((uint16_t)4032)
105+
106+
extern const uint16_t armBitRevIndexTable_fixed_16[ARMBITREVINDEXTABLE_FIXED_16_TABLE_LENGTH];
107+
extern const uint16_t armBitRevIndexTable_fixed_32[ARMBITREVINDEXTABLE_FIXED_32_TABLE_LENGTH];
108+
extern const uint16_t armBitRevIndexTable_fixed_64[ARMBITREVINDEXTABLE_FIXED_64_TABLE_LENGTH];
109+
extern const uint16_t armBitRevIndexTable_fixed_128[ARMBITREVINDEXTABLE_FIXED_128_TABLE_LENGTH];
110+
extern const uint16_t armBitRevIndexTable_fixed_256[ARMBITREVINDEXTABLE_FIXED_256_TABLE_LENGTH];
111+
extern const uint16_t armBitRevIndexTable_fixed_512[ARMBITREVINDEXTABLE_FIXED_512_TABLE_LENGTH];
112+
extern const uint16_t armBitRevIndexTable_fixed_1024[ARMBITREVINDEXTABLE_FIXED_1024_TABLE_LENGTH];
113+
extern const uint16_t armBitRevIndexTable_fixed_2048[ARMBITREVINDEXTABLE_FIXED_2048_TABLE_LENGTH];
114+
extern const uint16_t armBitRevIndexTable_fixed_4096[ARMBITREVINDEXTABLE_FIXED_4096_TABLE_LENGTH];
115+
116+
/* Tables for Fast Math Sine and Cosine */
117+
extern const float32_t sinTable_f32[FAST_MATH_TABLE_SIZE + 1];
118+
extern const q31_t sinTable_q31[FAST_MATH_TABLE_SIZE + 1];
119+
extern const q15_t sinTable_q15[FAST_MATH_TABLE_SIZE + 1];
120+
121+
#endif /* ARM_COMMON_TABLES_H */
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
/* ----------------------------------------------------------------------
2+
* Project: CMSIS DSP Library
3+
* Title: arm_const_structs.h
4+
* Description: Constant structs that are initialized for user convenience.
5+
* For example, some can be given as arguments to the arm_cfft_f32() function.
6+
*
7+
* $Date: 27. January 2017
8+
* $Revision: V.1.5.1
9+
*
10+
* Target Processor: Cortex-M cores
11+
* -------------------------------------------------------------------- */
12+
/*
13+
* Copyright (C) 2010-2017 ARM Limited or its affiliates. All rights reserved.
14+
*
15+
* SPDX-License-Identifier: Apache-2.0
16+
*
17+
* Licensed under the Apache License, Version 2.0 (the License); you may
18+
* not use this file except in compliance with the License.
19+
* You may obtain a copy of the License at
20+
*
21+
* www.apache.org/licenses/LICENSE-2.0
22+
*
23+
* Unless required by applicable law or agreed to in writing, software
24+
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
25+
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
26+
* See the License for the specific language governing permissions and
27+
* limitations under the License.
28+
*/
29+
30+
#ifndef _ARM_CONST_STRUCTS_H
31+
#define _ARM_CONST_STRUCTS_H
32+
33+
#include "arm_math.h"
34+
#include "arm_common_tables.h"
35+
36+
extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len16;
37+
extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len32;
38+
extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len64;
39+
extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len128;
40+
extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len256;
41+
extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len512;
42+
extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len1024;
43+
extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len2048;
44+
extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len4096;
45+
46+
extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len16;
47+
extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len32;
48+
extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len64;
49+
extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len128;
50+
extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len256;
51+
extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len512;
52+
extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len1024;
53+
extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len2048;
54+
extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len4096;
55+
56+
extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len16;
57+
extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len32;
58+
extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len64;
59+
extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len128;
60+
extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len256;
61+
extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len512;
62+
extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len1024;
63+
extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len2048;
64+
extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len4096;
65+
66+
#endif

0 commit comments

Comments
 (0)