Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/Test_Alif_E7.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ jobs:
- name: Run on simulator
working-directory: ${{env.DIR}}
run: |
FVP_Corstone_SSE-300_Ethos-U55 -f ./Board/Corstone-300/fvp_config.txt -a ./out/AlgorithmTest/SSE-300-U55/Debug/AlgorithmTest.hex --simlimit 120 || true
FVP_Corstone_SSE-300_Ethos-U55 -f ./Board/Corstone-300/fvp_config_u55.txt -a ./out/AlgorithmTest/SSE-300-U55/Debug/AlgorithmTest.hex --simlimit 120 || true

- name: Print sdsio.log file
working-directory: ${{env.DIR}}/algorithm/SDS Recordings
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/Test_ST_KeywordSpotting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ jobs:
- name: Run on simulator
working-directory: ${{env.DIR}}
run: |
FVP_Corstone_SSE-300_Ethos-U55 -f ./Board/Corstone-300/fvp_config.txt -a ./out/AlgorithmTest/SSE-300-U55/Debug/AlgorithmTest.hex --simlimit 120 || true
FVP_Corstone_SSE-300_Ethos-U55 -f ./Board/Corstone-300/fvp_config_u55.txt -a ./out/AlgorithmTest/SSE-300-U55/Debug/AlgorithmTest.hex --simlimit 120 || true

- name: Print sdsio.log file
working-directory: ${{env.DIR}}/algorithm/SDS Recordings
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/Test_ST_MotionRecognition.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ jobs:
- name: Run on simulator
working-directory: ${{env.DIR}}
run: |
FVP_Corstone_SSE-300_Ethos-U55 -f ./Board/Corstone-300/fvp_config.txt -a ./out/AlgorithmTest/SSE-300-U55/Debug/AlgorithmTest.hex --simlimit 120 || true
FVP_Corstone_SSE-300_Ethos-U55 -f ./Board/Corstone-300/fvp_config_u55.txt -a ./out/AlgorithmTest/SSE-300-U55/Debug/AlgorithmTest.hex --simlimit 120 || true

- name: Print sdsio.log file
working-directory: ${{env.DIR}}/algorithm/SDS Recordings
Expand Down
31 changes: 17 additions & 14 deletions Alif/AppKit-E7_USB/Board/Corstone-300/Board-U55.clayer.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
layer:
type: Board
description: Board setup for AI/ML with Ethos U55
description: Base configuration of SSE-300 FVP with Ethos U55
for-board: ARM::V2M-MPS3-SSE-300-FVP
for-device: ARM::SSE-300-MPS3

Expand All @@ -12,18 +12,18 @@ layer:
- STDIN
- STDOUT
- STDERR
- Heap: 786432
- Heap: 98304
consumes:
- CMSIS-RTOS2

define:
- CMSIS_target_header: \"Corstone-300.h\"
- ETHOSU55
- CORSTONE300_FVP
- ARM_MODEL_USE_PMU_COUNTERS

packs:
- pack: ARM::CMSIS
- pack: ARM::CMSIS-Compiler@^2.1.0
- pack: ARM::ethos-u-core-driver@^1.25.2
- pack: ARM::CMSIS-Compiler@^2.3.0
- pack: ARM::CMSIS-Ethos-U@^1.0.0
- pack: ARM::V2M_MPS3_SSE_300_BSP@1.5.0

components:
Expand All @@ -33,9 +33,9 @@ layer:
- component: CMSIS Driver:VIO

- component: CMSIS-Compiler:CORE
- component: CMSIS-Compiler:STDERR:Custom
- component: CMSIS-Compiler:STDIN:Custom
- component: CMSIS-Compiler:STDOUT:Custom
- component: CMSIS-Compiler:STDERR:UART&CMSIS
- component: CMSIS-Compiler:STDIN:UART&CMSIS
- component: CMSIS-Compiler:STDOUT:UART&CMSIS

- component: Device:Definition
- component: Device:Startup&C Startup
Expand All @@ -46,14 +46,17 @@ layer:
- component: Device:Native Driver:UART

- component: Machine Learning:NPU Support:Ethos-U Driver&Generic U55
define:
- ETHOSU_MACS: 256

groups:
- group: Board
files:
- file: ./main.c
- file: ./main.h
- file: ./ethos_setup.c
- file: ./retarget_stdio.c
- file: main.c
- file: main.h
- file: ethos_setup.c
- file: ethosu_os_rtos2.c
- file: ethosu_dcache.c

linker:
- regions: ./regions_SSE-300.h
- regions: RTE/Device/SSE-300-MPS3/regions_SSE-300.h
31 changes: 17 additions & 14 deletions Alif/AppKit-E7_USB/Board/Corstone-300/Board-U65.clayer.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
layer:
type: Board
description: Board setup for AI/ML with Ethos U65
description: Base configuration of SSE-300 FVP with Ethos U65
for-board: ARM::V2M-MPS3-SSE-300-FVP
for-device: ARM::SSE-300-MPS3

Expand All @@ -12,18 +12,18 @@ layer:
- STDIN
- STDOUT
- STDERR
- Heap: 786432
- Heap: 98304
consumes:
- CMSIS-RTOS2

define:
- CMSIS_target_header: \"Corstone-300.h\"
- ETHOSU65
- CORSTONE300_FVP
- ARM_MODEL_USE_PMU_COUNTERS

packs:
- pack: ARM::CMSIS
- pack: ARM::CMSIS-Compiler@^2.1.0
- pack: ARM::ethos-u-core-driver@^1.25.2
- pack: ARM::CMSIS-Compiler@^2.3.0
- pack: ARM::CMSIS-Ethos-U@^1.0.0
- pack: ARM::V2M_MPS3_SSE_300_BSP@1.5.0

components:
Expand All @@ -33,9 +33,9 @@ layer:
- component: CMSIS Driver:VIO

- component: CMSIS-Compiler:CORE
- component: CMSIS-Compiler:STDERR:Custom
- component: CMSIS-Compiler:STDIN:Custom
- component: CMSIS-Compiler:STDOUT:Custom
- component: CMSIS-Compiler:STDERR:UART&CMSIS
- component: CMSIS-Compiler:STDIN:UART&CMSIS
- component: CMSIS-Compiler:STDOUT:UART&CMSIS

- component: Device:Definition
- component: Device:Startup&C Startup
Expand All @@ -46,14 +46,17 @@ layer:
- component: Device:Native Driver:UART

- component: Machine Learning:NPU Support:Ethos-U Driver&Generic U65
define:
- ETHOSU_MACS: 256

groups:
- group: Board
files:
- file: ./main.c
- file: ./main.h
- file: ./ethos_setup.c
- file: ./retarget_stdio.c
- file: main.c
- file: main.h
- file: ethos_setup.c
- file: ethosu_os_rtos2.c
- file: ethosu_dcache.c

linker:
- regions: ./regions_SSE-300.h
- regions: RTE/Device/SSE-300-MPS3/regions_SSE-300.h
20 changes: 9 additions & 11 deletions Alif/AppKit-E7_USB/Board/Corstone-300/Board.clayer.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
layer:
type: Board
description: Board setup for AI/ML
description: Base configuration of SSE-300 FVP
for-board: ARM::V2M-MPS3-SSE-300-FVP
for-device: ARM::SSE-300-MPS3

Expand All @@ -12,16 +12,15 @@ layer:
- STDIN
- STDOUT
- STDERR
- Heap: 786432
- Heap: 98304

define:
- CMSIS_target_header: \"Corstone-300.h\"
- CORSTONE300_FVP
- ARM_MODEL_USE_PMU_COUNTERS

packs:
- pack: ARM::CMSIS
- pack: ARM::CMSIS-Compiler@^2.1.0
- pack: ARM::CMSIS-Compiler@^2.3.0
- pack: ARM::V2M_MPS3_SSE_300_BSP@1.5.0

components:
Expand All @@ -31,9 +30,9 @@ layer:
- component: CMSIS Driver:VIO

- component: CMSIS-Compiler:CORE
- component: CMSIS-Compiler:STDERR:Custom
- component: CMSIS-Compiler:STDIN:Custom
- component: CMSIS-Compiler:STDOUT:Custom
- component: CMSIS-Compiler:STDERR:UART&CMSIS
- component: CMSIS-Compiler:STDIN:UART&CMSIS
- component: CMSIS-Compiler:STDOUT:UART&CMSIS

- component: Device:Definition
- component: Device:Startup&C Startup
Expand All @@ -46,9 +45,8 @@ layer:
groups:
- group: Board
files:
- file: ./main.c
- file: ./main.h
- file: ./retarget_stdio.c
- file: main.c
- file: main.h

linker:
- regions: ./regions_SSE-300.h
- regions: RTE/Device/SSE-300-MPS3/regions_SSE-300.h
8 changes: 4 additions & 4 deletions Alif/AppKit-E7_USB/Board/Corstone-300/Corstone-300.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*---------------------------------------------------------------------------
* Copyright (c) 2025 Arm Limited (or its affiliates).
* All rights reserved.
/*
* Copyright 2025-2026 Arm Limited and/or its affiliates.
*
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the License); you may
Expand All @@ -14,7 +14,7 @@
* 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 CORSTONE_300_H_
#define CORSTONE_300_H_
Expand Down
22 changes: 17 additions & 5 deletions Alif/AppKit-E7_USB/Board/Corstone-300/README.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,30 @@
# Board: Arm V2M-MPS3-SSE-300-FVP

## Board Layer for Corstone-300 FVP
## Board Layers for Corstone-300 FVP

This layer works for:
These layers work for:

```yml
board: ARM::V2M-MPS3-SSE-300-FVP
device: ARM::SSE-300-MPS3
```

Select one layer matching the application's NPU requirements:

| Layer file | Use in Application
|:---------------------|:------------------------
| Board.clayer.yml | Without Ethos-U support
| Board-U55.clayer.yml | With Ethos-U55 support
| Board-U65.clayer.yml | With Ethos-U65 support

Use the corresponding FVP configuration file listed below.

### System Configuration

| System Component | Setting
|:------------------------|:----------------------------------
| Heap | 768 kB (configured in linker file)
| Stack (MSP) | 32 kB (configured in linker file)
| Heap | 96 kB (configured in regions header)
| Stack (MSP) | 4 kB (configured in regions header)

### STDIO mapping

Expand All @@ -41,4 +51,6 @@ interface for SDS data files using a [Virtual Streaming Interface](https://arm-s

| File | Description
|:-------------------|:-------------
| fvp_config.txt | Corstone-300 FVP without Ethos-U or with Ethos-U55/U65
| fvp_config.txt | Corstone-300 FVP without Ethos-U
| fvp_config_u55.txt | Corstone-300 FVP with an Ethos-U55-256
| fvp_config_u65.txt | Corstone-300 FVP with an Ethos-U65-256
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
/*---------------------------------------------------------------------------
* Copyright (c) 2026 Arm Limited (or its affiliates).
* All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
* Licensed 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
*
* 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.
* --------------------------------------------------------------------------
*
* Purpose: Configure STDERR to CMSIS-Driver USART retarget implementation
* Revision: V1.0.0
*
* --------------------------------------------------------------------------*/

#ifndef STDERR_CMSIS_UART_CONFIG_H_
#define STDERR_CMSIS_UART_CONFIG_H_

//-------- <<< Use Configuration Wizard in Context Menu >>> --------------------
//------ With VS Code: Open Preview for Configuration Wizard -------------------

// <o>UART STDERR Buffer Size
// <i> UART STDERR buffer is used to store STDERR data before sending it via UART
// <i> Default: 0 (unbuffered)
#ifndef STDERR_UART_BUFFER_SIZE
#define STDERR_UART_BUFFER_SIZE 0
#endif

// <s>UART STDERR Buffer Section Name
// <i> Specify the memory section name for UART STDERR buffer
// <i> Default: .stderr_uart_buf
#ifndef STDERR_UART_BUFFER_SECTION
#define STDERR_UART_BUFFER_SECTION ".stderr_uart_buf"
#endif

// <o>UART STDERR Buffer Alignment
// <i> Define the STDERR buffer alignment in bytes
// <i> Default: 32
#ifndef STDERR_UART_BUFFER_ALIGNMENT
#define STDERR_UART_BUFFER_ALIGNMENT 32
#endif

// <q>Convert LF to CRLF
// <i> If enabled, LF characters are preceded by CR characters on output
// <i> Default: 0
#ifndef STDERR_CR_LF
#define STDERR_CR_LF 1
#endif

#endif /* STDERR_CMSIS_UART_CONFIG_H_ */
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
/*---------------------------------------------------------------------------
* Copyright (c) 2026 Arm Limited (or its affiliates).
* All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
* Licensed 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
*
* 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.
* --------------------------------------------------------------------------
*
* Purpose: Configure STDERR to CMSIS-Driver USART retarget implementation
* Revision: V1.0.0
*
* --------------------------------------------------------------------------*/

#ifndef STDERR_CMSIS_UART_CONFIG_H_
#define STDERR_CMSIS_UART_CONFIG_H_

//-------- <<< Use Configuration Wizard in Context Menu >>> --------------------
//------ With VS Code: Open Preview for Configuration Wizard -------------------

// <o>UART STDERR Buffer Size
// <i> UART STDERR buffer is used to store STDERR data before sending it via UART
// <i> Default: 0 (unbuffered)
#ifndef STDERR_UART_BUFFER_SIZE
#define STDERR_UART_BUFFER_SIZE 0
#endif

// <s>UART STDERR Buffer Section Name
// <i> Specify the memory section name for UART STDERR buffer
// <i> Default: .stderr_uart_buf
#ifndef STDERR_UART_BUFFER_SECTION
#define STDERR_UART_BUFFER_SECTION ".stderr_uart_buf"
#endif

// <o>UART STDERR Buffer Alignment
// <i> Define the STDERR buffer alignment in bytes
// <i> Default: 32
#ifndef STDERR_UART_BUFFER_ALIGNMENT
#define STDERR_UART_BUFFER_ALIGNMENT 32
#endif

// <q>Convert LF to CRLF
// <i> If enabled, LF characters are preceded by CR characters on output
// <i> Default: 0
#ifndef STDERR_CR_LF
#define STDERR_CR_LF 0
#endif

#endif /* STDERR_CMSIS_UART_CONFIG_H_ */
Loading
Loading