Integrating NOR flash quickly and securely

Artificial intelligence is making its way into all electronic devices, and we depend ON these devices to work every time, all the time. Moreover, everything that is connected is a potential cyberattack target. These considerations drive the need for safety, security, and reliability in real-time IoT applications. The development of richer features and better security protections involves complex software architectures and sophisticated system integration. In this environment, system designers must be proficient in both hardware and software, and they need tools and resources that simplify the development process.

Embedded systems rely on nonvolatile flash memory to store application/boot code and system/user data. To help developers get to market faster, Infineon’s SEMPER Solutions Hub provides all the necessary building blocks to successfully integrate SEMPER NOR flash (see Figure 1). It contains:

  • Software development kits (SDKs)
  • Hardware development platforms
  • Support for a variety of integrated development environments (IDEs)
  • Linux/U-Boot support
Integrating NOR flash quickly and securely

Figure 1: The SEMPER Solutions Hub provides the software, hardware, development tools, and boot support that developers need to successfully integrate NOR flash into their applications. Click for a larger image. (Source: Infineon Technologies)

Rapid prototyping and evaluation

Infineon’s SEMPER SDK includes a complete set of device drivers, hardware abstraction layers (HALs), and application code examples that help customers quickly adopt and integrate SEMPER, Infineon’s latest flash memory portfolio. SEMPER has disrupted the market with its industry-leading safety and security features. Customers can access the easy-to-use features of the SDK for all SEMPER products (SEMPER, SEMPER Secure, and SEMPER Nano), alongside comprehensive guidance about the product as well as software development for it.

The SDK is an easy-to-use software package that is proven to work across multiple development platforms, simplifying and accelerating application development with SEMPER NOR flash memories. SEMPER SDK provides ready-to-use, production-grade MISRA-C–compliant reference drivers for supporting SEMPER functional safety and security features. SEMPER SDK comes with several examples and use cases out of the box to help customers get started. In addition, the SDK comes with a plethora of tools that customers can use to develop their own solutions (see Figure 2).

Integrating NOR flash quickly and securely

Figure 2: Block diagram of the SEMPER SDK architecture. Click for a larger image. (Source: Infineon Technologies)

One of the biggest challenges in any hardware-software co-development is the ability to rapidly prototype and evaluate a concept. Especially in the early development stages, developers typically do not have a fully designed board to work with. Sometimes they don’t even have a fully defined architecture yet.

With the SEMPER SDK, concept evaluation and development can begin even without a prototype. The SDK offers:

  • Production-grade and MISRA-C–compliant reference drivers for flash, security, and functional safety
  • HALs for all hardware interfaces to simplify system integration
  • Multiple code examples and reference HAL implementations
  • Cross-platform support for multiple development environments, toolchains, and IDEs
  • Starter kits and flash memory modules
  • Virtual SDK for hardware-independent software development based on a C-based memory model
  • Crypto algorithm validation module based on CAVP test vectors to ensure host compatibility with SEMPER Secure
  • Pre-integrated crypto software library based on wolfSSL’s wolfCrypt and mbedTLS as an example
  • Preconfigured setup to run SEMPER Secure application examples out of the box on Linux without additional hardware

The SEMPER SDK also includes the following quick-start examples to further accelerate development:

Security examples

  • Provisioning: This is the first step when it comes to setting up a secure device in the field to ensure that the host and SEMPER flash can identify each other and that the interface is fully secured every time the system boots up.
  • Secured storage: As a memory device, storage is the most common use case. The secured storage example outlines all the critical steps that are needed to perform such an operation.
  • Secure boot: The traditional usage of a NOR flash is to store boot code. Secure boot protects a system from malicious code execution during boot.
  • RMA: Protecting memory contents during a return material authorization (RMA) is a critical security measure. The RMA example explains how to set up a SEMPER Secure device for a return.

Functional safety examples

  • Safe boot: Failsafe power-up is essential for functional safety. Even more important is the ability to detect failures when they happen. The safe boot example takes advantage of SEMPER features to perform proper reporting of boot process.
  • CRC operations & ECC check: SEMPER NOR flash can perform CRC as well as ECC over a block of memory. The SEMPER SDK provides ready-to-use drivers to take advantage of these features and helps customers abstract nitty-gritty hardware implementation.

Flash examples

  • SEMPER SDK comes with a few basic flash examples for register read/write and memory program/erase/read operations.

Hardware development platforms

Developers can quickly get started on SEMPER SDK using any of the Infineon AURI or PSo kits, which come pre-integrated with SEMPER NOR flash. Alternatively, developers can select a standard Raspberry Pi or NVIDIA Jetson Nano System and use a SEMPER memory module to create a development platform.

PSoC 64 “Secure Boot” prototyping kits are low-cost hardware platforms that enable developers to evaluate and develop applications using the PSoC 64 line of secure microcontrollers (MCUs). The CY8CPROTO-064B0S3 (PSoC 64Bx family) and CY8CPROTO-064S1-SB (PSoC 65Sx family) allow provisioning of the PSoC 64 Secure MCU with unique keys and security policies so that only signed code can be executed on the processor.

The AURIX TC375 lite kit is equipped with the 32-bit single-chip AURIX TC375 TriCore-based MCU. It can be used with a range of development tools, including the AURIX Development Studio, Infineon’s free-of-charge Eclipse-based IDE, or the Eclipse-based “FreeEntryToolchain” from Hightec/PLS/Infineon.

SEMPER software also runs on standard third-party platforms, such as Raspberry Pi and NVIDIA Jetson Nano. SEMPER NOR flash memory can be integrated quickly with a MikroElektronika SEMPER FLASH 2 CLICK.

Pmod-compatible modules are offered for popular SEMPER memory configurations. For example, the Infineon S25HL512TDPBHI010 Pmod-compatible Memory Module is a 3.3-V, 512-Mb quad SPI SEMPER NOR flash in a Pmod form factor.

SEMPER Solutions Hub also support popular design environments, including Infineon ModusToolbox, AURIX Development Studio, and Microsoft Visual Studio Code.

Infineon also works with various developer communities to embed all its NOR flash drivers in open-source operating systems. The latest information and current download links are provided in two categories: open-source mainstream and chipset-specific. Linux and U-Boot patches are developed and maintained by Infineon to officially support SEMPER NOR flash memory. Chipset-specific patches are also maintained for Xilinx FPGA, Linux, and U-Boot systems.

Infineon SEMPER NOR flash meets or exceeds automotive quality requirements and is ISO 26262 ASIL B–compliant, ASIL D–ready, and AEC-Q100–qualified. The device is also IEC-61508 SIL 2–ready for industrial applications. The devices leverage Infineon’s proprietary MIRRORBIT technology to store 2 bits per cell, enabling higher-density devices.

With up to 400-MB/s bandwidth, SEMPER NOR flash offers the performance necessary for instant-on applications, including automotive instrument clusters and industrial HMI systems. Infineon’s endurance flex architecture also allows individual partitions to be configured for 25 years’ data retention or for 1+ million P/E cycles. This allows a single device to be optimized for code storage, system data storage, and data logging.

Increasing system complexity sharpens the focus on tools and resources that simplify the development process, especially where first-to-market players win more market share. NOR flash memory can be used to store boot code and system data in virtually any application, and Infineon SEMPER Solutions Hub provides all the necessary building blocks to successfully integrate SEMPER NOR flash into your design. For additional support, visit the Solutions Hub page or contact [email protected]

about Infineon Technologies