Fc7300DemoBoard

Introduction

The FC7300Fxx product family features multiple ARM® Cortex®-M7 application cores with ASIL-D certification.

The FC7300Fxx product family is a high-performance automotive-grade HPU (Hyper Processing Unit) based on multiple Cortex-M7 cores, supporting multi-core configurations with ASIL-D + ASIL-B functional safety levels. It runs at up to 300 MHz, with 10 CAN-FD interfaces, 1 Gigabit Ethernet interface with TSN support. The chip integrates 8 MB of Flash and 1.1 MB of SRAM. The FC7300 product family supports EVITA Full+ HSM information security functionality. The product is certified to AEC-Q100 Grade 1.

FC7300.jpg

The board used in this project is the official Fc7300DemoBoard.

Fc7300DemoBoard_3DTop.jpg FC7300DemoBoard_3DBottom.jpg

Development Environment Setup Guide

Source Code Structure

SourceCode.png

  • App: RTOS applications
  • AutosarCp: Autosar Classic Platform
    • asw: Application components for AutosarCp
    • bsw: System components for AutosarCp, including EcuM, BswM, CanIf, CanNm, Nm, CanSM, ComM, PduR, CanTp, Com, LdCom, Csm, CryIf, Nvm, MemIf, Dcm, Dem, …
    • integration: Code for system integration
    • memmap: AutosarCp Memmap
    • os: Tasks created based on the XWOS AutosarCp OS compatibility layer
    • rte: AutosarCp Rte
  • Board: Board directory
  • Component: RTOS system middleware
  • Mcal: AutosarCp standard Mcal drivers
    • generated: Generated driver configuration
    • integration: Code for system integration
    • lib: Mcal driver library
    • xwds: XWOS device stack driver compatibility layer
  • openspec: OpenSpec configuration
  • Out: Build output
  • Project: Project configuration
    • FcIde: FC IDE project files
    • Mcal: EB Tresos Studio project files
    • AutosarCp: AutosarCp configuration tool project files
  • Ut: Unit tests
  • XWOS: RTOS kernel
  • .git: Git data directory
  • .js: Some JavaScript tools
  • .opencode: AI Agent configuration
  • .vscode: VS Code configuration
  • AGENTS.md: AI Agent configuration
  • .clang-format: Code style configuration
  • .gitattributes: Git file attributes configuration
  • .gitemplate: Git commit template
  • .gitignore: Git ignore list
  • .gitmodules: Git submodule

Mcal Configuration Tool

  • Install the version of EB Tresos Studio officially recommended by Flagchip
  • Install the official Flagchip Mcal plugin. Create Fc7300.link under EB Tresos Studio installation directory/links with the following content:
path=C:/Mcal_path (use forward slashes)
  • In EB Tresos Studio, select File –> Import –> General –> Existing Projects into Workspace then click Next >
  • Click Browse... and select the Project/Mcal directory in the source code

Ebtresos-Import.png

  • Click Finish to complete the import

Ebtresos.png

  • After configuration, right-click on the project and select Generate Project. The generated drivers will be at: Mcal/generated

Installing the Toolchain

xwtc is a collection of tools for compiling XWOS. It can be downloaded from Baidu Cloud Drive and installed following the instructions in the included 说明.md.

If using Ubuntu 24.04 as the development environment, some additional tools need to be installed:

sudo dpkg-reconfigure dash # select "No"
sudo apt install build-essential
sudo apt install emacs # for headless server environments, use emacs-nox instead

Debug Tools

  • Download JLink software from the Segger website: https://www.segger.com/downloads/jlink/
  • Download the official Flagchip JLink plugin JLink_Patch_vX.XX.7z
  • Installation:
    • Linux: Copy the contents of the JLink directory to ~/.config/SEGGER/JLinkDevices/
    • Windows: Copy the contents of the JLink directory to C:\Users\<username>\AppData\Roaming\SEGGER\JLinkDevices

Official IDE: FC IDE

  • Select File –> Open Projects from file system...
  • Click Directory... and select the Project/FcIde directory in the source code
  • Click Finish to complete the import

FcIde.png

  • Build: Right-click on the project –> Build Project
  • Debug:
    • Click Run –> Debug Configurations..., choose based on your platform
    • Linux_JLink_P+D: Linux, flash programming & Core0 debug
    • Linux_JLink_Core0_D: Linux, attach Core0 debug
    • Linux_JLink_Core1_D: Linux, attach Core1 debug
    • Linux_JLink_Core2_D: Linux, attach Core2 debug
    • Windows_JLink_P+D: Windows, flash programming & Core0 debug
    • Windows_JLink_Core0_D: Windows, attach Core0 debug
    • Windows_JLink_Core1_D: Windows, attach Core1 debug
    • Windows_JLink_Core2_D: Windows, attach Core2 debug

VS Code

  • Install VS Code
  • Install extensions:
    • Cortex-Debug
    • C/C++
    • Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code
  • Build: In VS Code, select Terminal –> Run Task
    • Build: build
    • Clean: clean
  • Debug: From the Run and Debug panel
    • Linux
      • Linux-AllCores-Program-Debug: Program and debug
      • Linux-AllCores-Debug: Attach debug
    • Windows
      • Windows-AllCores-Program-Debug: Program and debug
      • Windows-AllCores-Debug: Attach debug
  • Debug Tips
    • Using Program-Debug may cause incorrect startup timing. If so:
      • Click Continue on Cpu0 first
      • Then click Restart on the other CPUs
      • Click Continue on Cpu0 again
      • Click Continue on each CPU in turn

vscode.png

Serial Terminal

The USB-C port on the development board is actually a serial port, which can be used for command-line terminal and log output.

  • Connect the board’s USB-C port to the computer using a Type-C USB cable
  • Open a terminal tool and set the baud rate to: 1500000 BPS

console.png