STM32MP157CAA3 Development: From Setup and Configuration to Advanced Features Implementation

UTMEL

Published: 28 May 2025 | Last Updated: 07 June 2025

787

STM32MP157CAA3

STM32MP157CAA3

STMicroelectronics

ARM® Cortex®-A7 Microprocessor STM32MP1 Series 448-LFBGA

Purchase Guide

ARM® Cortex®-A7 Microprocessor STM32MP1 Series 448-LFBGA

Master STM32MP157CAA3 development with guides on setup, tools like STM32CubeMX, and advanced features for efficient embedded system projects.

Product Introduction

The STM32MP157CAA3 plays a vital role in modern embedded systems. Its dual-core architecture and advanced features make it a preferred choice for applications requiring high performance and flexibility. Understanding its development process ensures you can harness its full potential.

Mastering this process offers several benefits:

  • Achieve faster time-to-market with streamlined software porting.

  • Enhance performance using versatile peripherals.

  • Ensure compliance with certified security services.

  • Access a broad third-party ecosystem for additional tools and resources.

A well-rounded guide can help you unlock these advantages and create robust solutions for your projects.

Overview of STM32MP157CAA3 and STM32MP1 Series   

Features and specifications of STM32MP157CAA3

The STM32MP157CAA3 stands out in the stm32 series of microcontrollers due to its powerful features and versatility. It combines dual Cortex-A7 cores running at up to 800 MHz with a Cortex-M4 core operating at 209 MHz. This heterogeneous architecture enables efficient multitasking and real-time processing.

Here’s a quick look at its key specifications:

FeatureSpecification
Core ArchitectureDual Cortex-A7 cores up to 800 MHz
Additional CoreCortex-M4 core at 209 MHz
GPU3D GPU
Display InterfaceDSI display interface
Communication ProtocolCAN FD
Energy OptimizationSTM32MP13x product line
Heterogeneous ProcessingSTM32MP15x product line
Temperature RangeExtended junction temperature up to 125°
Application AreasIndustry 4.0, smart city, smart home

These features make the STM32MP157CAA3 ideal for applications requiring high performance, such as the osd32mp1-red development platform.

Architecture of STM32 Arm Cortex MCUs

The stm32 arm cortex mcus are designed for high efficiency and performance. For example, the STM32L432KC uses a multilayer AHB Bus Matrix. This matrix includes five masters, such as the Cortex-M4 core and DMA units, and seven slaves, including internal Flash and SRAM.

Key architectural highlights include:

  • Concurrent communication between multiple masters and slaves for better performance.

  • The ART Accelerator™, which optimizes memory access and achieves near 100 DMIPS performance at 80 MHz.

This architecture ensures that devices like the osd32mp15x can handle complex tasks with ease.

Development tools and STM32MP1 ecosystem

The stm32mp1 ecosystem simplifies development with its comprehensive toolset. It includes an open-source Linux distribution with Android support, making it easier to port application software. Tools like STM32CubeMX and STM32CubeProgrammer allow you to configure and debug the DRAM subsystem efficiently.

Additionally, the ecosystem benefits from third-party partners offering system-on-modules, secure software, and training services. These resources enhance platforms like the osd32mp15x and provide developers with everything needed to succeed.

Getting Started with STM32MP157CAA3 Development

Hardware and software prerequisites

Before diving into STM32MP157CAA3 development, you need to prepare the essential hardware and software. This ensures a smooth start and avoids common pitfalls.

Hardware Requirements:

  • STM32MP157CAA3 Development Board: Choose a reliable platform like the osd32mp15x for testing and prototyping.

  • Power Supply: Ensure a stable power source for your board.

  • USB Cable: Use it to connect the board to your computer for programming and debugging.

  • Debugging Tools: Consider tools like ST-LINK or JTAG for advanced debugging.

Software Requirements:

  • Operating System: A Linux-based OS is recommended for STM32MP1 development. Ubuntu is a popular choice.

  • Development Tools: Install STM32CubeMX, STM32CubeIDE, and STM32CubeProgrammer. These tools simplify configuration, coding, and debugging.

  • Compiler: Use GCC for compiling initialization C code and other projects.

Tip: Double-check your hardware connections and software installations before proceeding. This avoids troubleshooting delays during the setup phase.

Installing STM32CubeMX and other tools

STM32CubeMX is a cornerstone of STM32MP157CAA3 development. It simplifies peripheral configuration and generates initialization C code for your projects. Follow these steps to install STM32CubeMX and other tools:

  1. Download STM32CubeMX: Visit STMicroelectronics' official website and download the latest version of STM32CubeMX.

  2. Install STM32CubeMX: Run the installer and follow the on-screen instructions. Ensure you select the correct installation directory.

  3. Install STM32CubeIDE: This Eclipse-based IDE supports STM32MP1 development. It integrates debugging and code editing features.

  4. Set Up STM32CubeProgrammer: Use this tool for flashing firmware onto the osd32mp15x board. It also helps with memory management.

  5. Verify Installation: Open each tool to confirm successful installation. Check for updates to ensure compatibility with your STM32MP157CAA3 board.

Note: Users have reported challenges with importing U-Boot ELF files into STM32CubeIDE during board bring-up. Familiarize yourself with the STM32 MPU forum for troubleshooting tips.

Initial setup and configuration of STM32MP157CAA3

Once you have the hardware and tools ready, you can begin the initial setup of your STM32MP157CAA3 board. This step involves configuring the board and preparing it for development.

Step-by-Step Guide:

  1. Connect the Board: Use a USB cable to connect the osd32mp15x board to your computer. Ensure the power supply is stable.

  2. Launch STM32CubeMX: Open STM32CubeMX and create a new project. Select STM32MP157CAA3 as your target device.

  3. Configure Peripherals: Use the graphical interface to enable peripherals like GPIO, UART, and SPI. This generates initialization C code for your project.

  4. Set Clock Settings: Configure the clock tree to optimize performance and power consumption.

  5. Export Project: Save the configuration and export the project to STM32CubeIDE for further development.

  6. Flash Firmware: Use STM32CubeProgrammer to flash the firmware onto the osd32mp15x board. Verify the flashing process to ensure proper functionality.

Tip: Start with a minimal configuration to test basic functionality. Gradually add peripherals and features as your project progresses.

By following this guide, you can streamline the process of getting started with STM32MP157CAA3 development. This ensures your board is ready for advanced applications and testing.

STM32MP1 CubeMX Tutorial and Essential Configurations      

Clock settings and power management

Configuring the clock settings and power management is a critical step in your stm32mp1 development journey. Proper clock settings ensure that your osd32mp15x board operates efficiently, while power management optimizes energy consumption for your project.

To begin, open the cubemx software tool and navigate to the "Clock Configuration" tab. Here, you can set the frequencies for the Cortex-A7 and Cortex-M4 cores. Adjust the PLL (Phase-Locked Loop) settings to match your application's performance requirements. For example, you might configure the Cortex-A7 cores to run at 800 MHz for high-performance tasks.

Power management involves enabling low-power modes and configuring voltage scaling. In the "Power Configuration" tab, you can activate features like Standby and Sleep modes. These modes reduce power consumption when the system is idle. Additionally, you can use the STM32CubeMX tool to enable Dynamic Voltage Scaling (DVS), which adjusts the voltage based on the workload.

Tip: Always test your clock and power settings on the osd32mp15x board to ensure stability and efficiency.

Device tree and memory configurations

The device tree and memory configurations define how your stm32mp1 hardware interacts with the software. These settings are essential for ensuring that your project runs smoothly on the osd32mp15x platform.

In STM32MP1 CubeMX, the device tree configuration involves defining hardware components like GPIOs, UARTs, and memory interfaces. Navigate to the "Device Tree Configuration" tab and enable the peripherals required for your project. For example, you might enable the DDR controller for external memory access.

Memory configuration focuses on setting up the DDR (Double Data Rate) memory. Use the DDR Test Suite to validate the STM32MPU-DRAM connection. This suite provides methods for running tests via JTAG or STM32CubeProgrammer CLI. Additionally, refer to the UM1718 documentation for guidance on generating device tree files for the DDR controller.

Here’s a summary of validation tools and resources:

SourceDescription
DDR Test SuiteProvides instructions for validating the STM32MPU-DRAM connection, including methods for running tests via JTAG or STM32CubeProgrammer CLI.
UM1718Documentation on device tree file generation for configuring the STM32MPU DDR controller, including instructions for running DDR tests.
AN5168Application note detailing configuration parameters for the STM32MP1 family DDR controller.

Note: Accurate device tree and memory configurations prevent runtime errors and improve system performance.

Building and deploying a minimal project

Once you’ve completed the cubemx configuration, you can build and deploy a minimal project to test your stm32mp1 setup. This step ensures that your osd32mp15x board is ready for more complex applications.

  1. Generate Code: In STM32CubeMX, click the "Generate Code" button. This action creates the cubemx project files, including initialization code for your peripherals.

  2. Open in STM32CubeIDE: Import the generated project into STM32CubeIDE. Verify that all files are correctly loaded.

  3. Write Application Code: Add a simple application to test basic functionality. For example, you can toggle an LED or send data over UART.

  4. Build the Project: Compile the project using the STM32CubeIDE build tools. Ensure there are no errors or warnings.

  5. Deploy to the Board: Use STM32CubeProgrammer to flash the firmware onto the osd32mp15x board. Connect the board to your computer via USB and follow the on-screen instructions.

  6. Test the Application: Run the application on the board and verify its functionality. Check the LED or UART output to confirm that the project works as expected.

Pro Tip: Start with a minimal project to familiarize yourself with the tools and workflow. Gradually add features as you gain confidence.

By following this stm32mp1 cubemx tutorial, you can streamline the process of generating code using cubemx and deploying it to your osd32mp15x board. This approach ensures a solid foundation for your development projects.

Practical Development with STM32MP157CAA3

Flashing firmware and debugging

Flashing firmware onto the STM32MP157CAA3 is a crucial step in your project. It allows you to test and validate your code on the osd32mp15x board. Start by connecting the board to your computer using a USB cable. Open STM32CubeProgrammer, select the correct target device, and load the firmware file. Follow the on-screen instructions to flash the firmware.

Debugging ensures that your project runs as expected. Use STM32CubeIDE for debugging. Connect the osd32mp15x board to your computer and launch the debugger. Set breakpoints in your code to monitor execution. Use the debugging tools to inspect variables, check memory usage, and identify errors. This process helps you refine your configuration and improve your project’s performance.

Tip: Always verify the firmware after flashing to ensure it was uploaded correctly.

Testing applications on STM32MP1

Testing your applications on the STM32MP1 platform ensures they function as intended. Begin by deploying your application to the osd32mp15x board. Use STM32CubeProgrammer to load the application binary. Once deployed, run the application and monitor its behavior.

For example, if your project involves toggling an LED, observe the LED’s response. If it doesn’t work as expected, revisit your configuration and code. Use the debugging tools to identify and fix issues. Testing also involves checking the application’s performance under different conditions. This step ensures your project meets its requirements.

Pro Tip: Test each feature of your project individually before integrating them. This approach simplifies troubleshooting.

Exploring advanced features and use cases

The STM32MP157CAA3 offers advanced features that enhance your project. These include functional safety, secure boot, and hardware encryption. To explore these features, refer to the detailed documentation available for the STM32MP1 series.

Document TypeDescription
User ManualInformation on safety manuals and self-test libraries.
Security BulletinDetails on EUCLEAK protection and physical attack prevention.
Product PresentationOverview of functional safety packages and development tools.
Application NoteGuidelines for oscillator design, audio generation, and more.
Reference ManualAdvanced details on the STM32MP157 microprocessor.

These resources provide valuable insights into advanced configurations and innovative use cases. For instance, you can implement secure boot to protect your project from unauthorized access. You can also use hardware encryption to enhance data security.

Note: Always test advanced features on the osd32mp15x board to ensure compatibility with your project.

Resources for STM32MP157CAA3 Development

Official documentation and guides

Accessing official documentation is essential for mastering STM32MP157CAA3. These guides provide detailed insights into configuration, tools, and project workflows. You can explore the STM32MP157 documentation, which includes user manuals, reference guides, and application notes. These resources cover everything from basic setup to advanced configurations.

Here are some key resources to get you started:

These guides ensure you have a solid foundation for your project. For example, the cubemx user manual explains how to configure peripherals and generate initialization code.

Tip: Bookmark these resources for quick access during your development journey.

Community forums and GitHub repositories

Community forums and GitHub repositories are invaluable for troubleshooting and collaboration. The STM32 MCU Community is a vibrant platform where you can ask questions, share experiences, and find solutions to common challenges.

GitHub repositories host open-source projects, libraries, and tutorials for STM32MP1. These repositories often include sample code and configuration files that you can adapt for your project. Exploring these resources can save you time and effort.

Some useful links include:

Pro Tip: Engage with the community to stay updated on the latest tools and techniques.

Training materials and advanced tutorials

Training materials and tutorials help you deepen your understanding of STM32MP1. STMicroelectronics and its partners offer webinars, video tutorials, and hands-on workshops. These resources cover topics like advanced configuration, secure boot, and hardware encryption.

For example, you can find training on development boards and hardware tools from partners. These sessions often include practical exercises that enhance your skills. Additionally, advanced tutorials guide you through complex use cases, such as implementing functional safety or optimizing power management.

Explore these resources to expand your expertise:

  • Development boards from partners: Link

  • Training from partners: Link

Note: Regularly update your knowledge by attending training sessions and reviewing new tutorials.


Mastering STM32MP157CAA3 development begins with a solid foundation. You start by preparing the hardware and software, installing essential tools like STM32CubeMX, and configuring the board for your project. Each step builds your confidence and ensures your setup is ready for advanced applications.

Leveraging tools and resources accelerates your progress. The STM32 ecosystem offers fast time-to-market, open-source Linux support, and Android compatibility. STM32Cube firmware and embedded libraries simplify your workflow, making it easier to port software and optimize your project.

Exploring advanced features unlocks the full potential of STM32MP157CAA3. Functional safety, secure boot, and hardware encryption enhance your project’s capabilities. Dive into these features to create innovative solutions that stand out in embedded systems.

Tip: Stay curious and keep experimenting. Each project is an opportunity to learn and grow as a developer.

FAQ

What makes the STM32MP157CAA3 suitable for your project?

The STM32MP157CAA3 offers dual-core processing, a Cortex-M4 core, and advanced peripherals. These features make it ideal for multitasking and real-time applications. Its compatibility with the STM32MP1 ecosystem simplifies development, ensuring your project benefits from robust tools and resources.


How do you debug your project on the STM32MP157CAA3?

You can debug your project using STM32CubeIDE. Connect your board to the computer, set breakpoints, and monitor code execution. This process helps you identify and fix issues efficiently, ensuring your project runs smoothly.


Can you use STM32MP157CAA3 for industrial projects?

Yes, the STM32MP157CAA3 supports industrial applications like Industry 4.0 and smart city solutions. Its extended temperature range and secure boot features make it reliable for demanding environments, ensuring your project meets industrial standards.


What tools simplify STM32MP157CAA3 development?

Tools like STM32CubeMX, STM32CubeIDE, and STM32CubeProgrammer simplify development. They help you configure peripherals, write code, and flash firmware. These tools streamline your workflow, saving time and improving your project’s efficiency.


How do you optimize power consumption in your project?

Use STM32CubeMX to configure low-power modes and dynamic voltage scaling. These settings reduce energy usage during idle periods. Testing these configurations on your board ensures your project achieves optimal power efficiency.

Specifications

STMicroelectronics STM32MP157CAA3 technical specifications, attributes, parameters and parts with similar specifications to STMicroelectronics STM32MP157CAA3.
  • Type
    Parameter
  • Factory Lead Time
    10 Weeks
  • Package / Case

    refers to the protective housing that encases an electronic component, providing mechanical support, electrical connections, and thermal management.

    448-LFBGA
  • Operating Temperature

    The operating temperature is the range of ambient temperature within which a power supply, or any other electrical equipment, operate in. This ranges from a minimum operating temperature, to a peak or maximum operating temperature, outside which, the power supply may fail.

    -40°C~125°C TA
  • Packaging

    Semiconductor package is a carrier / shell used to contain and cover one or more semiconductor components or integrated circuits. The material of the shell can be metal, plastic, glass or ceramic.

    Tray
  • Series

    In electronic components, the "Series" refers to a group of products that share similar characteristics, designs, or functionalities, often produced by the same manufacturer. These components within a series typically have common specifications but may vary in terms of voltage, power, or packaging to meet different application needs. The series name helps identify and differentiate between various product lines within a manufacturer's catalog.

    STM32MP1
  • Part Status

    Parts can have many statuses as they progress through the configuration, analysis, review, and approval stages.

    Active
  • Moisture Sensitivity Level (MSL)

    Moisture Sensitivity Level (MSL) is a standardized rating that indicates the susceptibility of electronic components, particularly semiconductors, to moisture-induced damage during storage and the soldering process, defining the allowable exposure time to ambient conditions before they require special handling or baking to prevent failures

    3 (168 Hours)
  • Reach Compliance Code

    Reach Compliance Code refers to a designation indicating that electronic components meet the requirements set by the Registration, Evaluation, Authorization, and Restriction of Chemicals (REACH) regulation in the European Union. It signifies that the manufacturer has assessed and managed the chemical substances within the components to ensure safety and environmental protection. This code is vital for compliance with regulations aimed at minimizing risks associated with hazardous substances in electronic products.

    compliant
  • Speed

    In electronic components, "Speed" typically refers to the rate at which data can be processed or transferred within the component. It is a measure of how quickly the component can perform its functions, such as executing instructions or transmitting signals. Speed is often specified in terms of frequency, such as clock speed in processors or data transfer rate in memory modules. Higher speed components can perform tasks more quickly, leading to improved overall performance in electronic devices. It is an important parameter to consider when designing or selecting electronic components for specific applications.

    209MHz, 650MHz
  • Core Processor

    The term "Core Processor" typically refers to the central processing unit (CPU) of a computer or electronic device. It is the primary component responsible for executing instructions, performing calculations, and managing data within the system. The core processor is often considered the brain of the device, as it controls the overall operation and functionality. It is crucial for determining the speed and performance capabilities of the device, as well as its ability to handle various tasks and applications efficiently. In modern devices, core processors can have multiple cores, allowing for parallel processing and improved multitasking capabilities.

    ARM® Cortex®-A7
  • Voltage - I/O

    Voltage - I/O is a parameter that refers to the voltage levels at the input and output pins of an electronic component, such as an integrated circuit or a semiconductor device. It specifies the range of voltages that the component can accept at its input pins and the voltages it will output at its output pins under normal operating conditions. This parameter is crucial for ensuring proper functionality and compatibility with other components in a circuit. It helps designers determine the appropriate voltage levels to use when interfacing with the component to prevent damage and ensure reliable operation.

    2.5V 3.3V
  • Ethernet

    Ethernet is a widely used networking technology that allows devices to communicate with each other over a local area network (LAN). It is a set of standards that define how data is transmitted over a physical medium, typically using twisted-pair cables or fiber optics. Ethernet specifies the protocols for data transmission, addressing, and error detection, ensuring reliable and efficient communication between devices. It is commonly used in homes, businesses, and data centers to connect computers, printers, routers, and other networked devices. Ethernet has evolved over the years to support faster speeds and improved performance, making it a fundamental component of modern networking infrastructure.

    10/100Mbps (1)
  • Number of Cores/Bus Width
    2 Core 32-Bit
  • Graphics Acceleration

    Graphics accelerators speed up the displaying of images on the monitor making it possible to achieve effects not otherwise possible - for example, the presentation of very large images or of interactive games in which images need to change quickly in response to user input.

    Yes
  • RAM Controllers

    RAM controllers are electronic components responsible for managing the flow of data to and from random access memory (RAM) in a computer system. They control the timing and data transfer between the CPU and RAM, ensuring efficient communication and data access. RAM controllers play a crucial role in determining the speed and performance of a computer system by optimizing memory access and utilization. These controllers are typically integrated into the motherboard or processor and are essential for the overall functioning of the system's memory subsystem.

    LPDDR2, LPDDR3, DDR3, DDR3L
  • USB

    USB stands for Universal Serial Bus, which is a common interface used for connecting various electronic devices to a computer or other host device. It allows for the transfer of data, power, and communication between devices. USB ports are found on a wide range of devices such as computers, smartphones, printers, cameras, and more. The USB standard has evolved over the years to include different versions with varying data transfer speeds and power delivery capabilities. Overall, USB has become a widely adopted and versatile standard for connecting and interacting with electronic components.

    USB 2.0 (2), USB 2.0 OTG+ PHY (3)
  • Additional Interfaces

    Additional Interfaces in electronic components refer to the extra connections or ports that allow the component to interact with other devices or systems. These interfaces can include various types of communication protocols such as USB, HDMI, Ethernet, or wireless connections like Bluetooth or Wi-Fi. The presence of additional interfaces expands the functionality and versatility of the electronic component, enabling it to send and receive data, signals, or power to and from external devices. Designers and users can utilize these interfaces to enhance the capabilities and connectivity of the electronic component within a larger system or network.

    CAN, Ethernet, I2C, MMC/SD/SDIO, SPDIF, SPI, UART, USB
  • Co-Processors/DSP

    Co-processors and Digital Signal Processors (DSPs) are specialized electronic components designed to handle specific types of computation tasks more efficiently than a general-purpose CPU. Co-processors assist the main processor by executing complex mathematical calculations or processing data in parallel, often enhancing performance for applications like graphics rendering or scientific computations. DSPs, on the other hand, are optimized for processing digital signals in real-time, making them ideal for applications in audio processing, telecommunications, and image processing. Together, these components enable more efficient data handling and improved system performance in various electronic devices.

    ARM® Cortex®-M4
  • Security Features

    Security features include authentication of both users and devices as well as authorization of access to different resources such as IoT data, DM, and other system features.

    ARM TZ
  • Display & Interface Controllers

    A unit in a computer system consisting of channels and associated control circuitry that connect a number of visual display units with a central processor.

    HDMI, LCD
  • RoHS Status

    RoHS means “Restriction of Certain Hazardous Substances” in the “Hazardous Substances Directive” in electrical and electronic equipment.

    RoHS Compliant
0 Similar Products Remaining

Datasheet PDF

Download datasheets and manufacturer documentation for STMicroelectronics STM32MP157CAA3.
STM32MP157CAA3

STMicroelectronics

In Stock: 50

United States

China

Canada

Japan

Russia

Germany

United Kingdom

Singapore

Italy

Hong Kong(China)

Taiwan(China)

France

Korea

Mexico

Netherlands

Malaysia

Austria

Spain

Switzerland

Poland

Thailand

Vietnam

India

United Arab Emirates

Afghanistan

Åland Islands

Albania

Algeria

American Samoa

Andorra

Angola

Anguilla

Antigua & Barbuda

Argentina

Armenia

Aruba

Australia

Azerbaijan

Bahamas

Bahrain

Bangladesh

Barbados

Belarus

Belgium

Belize

Benin

Bermuda

Bhutan

Bolivia

Bonaire, Sint Eustatius and Saba

Bosnia & Herzegovina

Botswana

Brazil

British Indian Ocean Territory

British Virgin Islands

Brunei

Bulgaria

Burkina Faso

Burundi

Cabo Verde

Cambodia

Cameroon

Cayman Islands

Central African Republic

Chad

Chile

Christmas Island

Cocos (Keeling) Islands

Colombia

Comoros

Congo

Congo (DRC)

Cook Islands

Costa Rica

Côte d’Ivoire

Croatia

Cuba

Curaçao

Cyprus

Czechia

Denmark

Djibouti

Dominica

Dominican Republic

Ecuador

Egypt

El Salvador

Equatorial Guinea

Eritrea

Estonia

Eswatini

Ethiopia

Falkland Islands

Faroe Islands

Fiji

Finland

French Guiana

French Polynesia

Gabon

Gambia

Georgia

Ghana

Gibraltar

Greece

Greenland

Grenada

Guadeloupe

Guam

Guatemala

Guernsey

Guinea

Guinea-Bissau

Guyana

Haiti

Honduras

Hungary

Iceland

Indonesia

Iran

Iraq

Ireland

Isle of Man

Israel

Jamaica

Jersey

Jordan

Kazakhstan

Kenya

Kiribati

Kosovo

Kuwait

Kyrgyzstan

Laos

Latvia

Lebanon

Lesotho

Liberia

Libya

Liechtenstein

Lithuania

Luxembourg

Macao(China)

Madagascar

Malawi

Maldives

Mali

Malta

Marshall Islands

Martinique

Mauritania

Mauritius

Mayotte

Micronesia

Moldova

Monaco

Mongolia

Montenegro

Montserrat

Morocco

Mozambique

Myanmar

Namibia

Nauru

Nepal

New Caledonia

New Zealand

Nicaragua

Niger

Nigeria

Niue

Norfolk Island

North Korea

North Macedonia

Northern Mariana Islands

Norway

Oman

Pakistan

Palau

Palestinian Authority

Panama

Papua New Guinea

Paraguay

Peru

Philippines

Pitcairn Islands

Portugal

Puerto Rico

Qatar

Réunion

Romania

Rwanda

Samoa

San Marino

São Tomé & Príncipe

Saudi Arabia

Senegal

Serbia

Seychelles

Sierra Leone

Sint Maarten

Slovakia

Slovenia

Solomon Islands

Somalia

South Africa

South Sudan

Sri Lanka

St Helena, Ascension, Tristan da Cunha

St. Barthélemy

St. Kitts & Nevis

St. Lucia

St. Martin

St. Pierre & Miquelon

St. Vincent & Grenadines

Sudan

Suriname

Svalbard & Jan Mayen

Sweden

Syria

Tajikistan

Tanzania

Timor-Leste

Togo

Tokelau

Tonga

Trinidad & Tobago

Tunisia

Turkey

Turkmenistan

Turks & Caicos Islands

Tuvalu

U.S. Outlying Islands

U.S. Virgin Islands

Uganda

Ukraine

Uruguay

Uzbekistan

Vanuatu

Vatican City

Venezuela

Wallis & Futuna

Yemen

Zambia

Zimbabwe

Related Parts More