FAQ

Allwinner A133 — Firmware Work

Allwinner A133 — Firmware Work

The Allwinner A133 is a quad-core 64-bit Cortex-A53 application processor typically used in mainstream Android tablets and Human-Machine Interface (HMI) applications. Firmware development and operation for this SoC involves several critical layers, from low-level bootloaders to high-level operating system drivers. 1. Boot Process and Bootloaders

The A133 follows a standard multi-stage boot sequence common to Allwinner chips:

BROM (Boot ROM): The first code executed upon power-on, hard-coded into the SoC. It attempts to load the initial boot code from various storage media (eMMC, NAND, SPI Flash) or enters FEL mode (a low-level USB recovery mode) if no bootable image is found.

SPL (Secondary Program Loader): Part of U-Boot that fits into the internal SRAM. Its primary job is to initialize the DRAM controller.

U-Boot: The main bootloader responsible for loading the operating system kernel. Community efforts have worked on mainline U-Boot support for the A133, which allows for more flexible booting compared to the original vendor BSP (Board Support Package). 2. Operating System and Drivers

Kernel Support: The A133 generally runs Android (often Android 10 or 11 "Go edition") or Linux. Firmware must include drivers for its integrated modules, such as the Imagination PowerVR GE8300 GPU allwinner a133 firmware work

for 3D acceleration and various display interfaces (MIPI-DSI, RGB, LVDS, eDP).

HMI Support: For industrial applications, firmware often includes specific drivers for touch technologies (infrared, capacitive, acoustic wave) and communication protocols like UART and I2S. 3. Firmware Tools and Modification

PhoenixSuit: The standard Allwinner tool for flashing original firmware images (.img files) to devices via USB in FEL mode.

Sunxi-tools: A collection of open-source utilities like sunxi-fel, which is used to interact with the A133 for low-level tasks such as reading the SoC ID or testing experimental bootloaders.

Extraction & Rooting: Firmware can be extracted from devices via UART access in U-Boot. Once a boot image is obtained, tools like Magisk can be used to patch it for root access. 4. Technical Resources The Allwinner A133 is a quad-core 64-bit Cortex-A53

Detailed technical specifications can be found in the official documentation:

A133 User Manual: Covers feature descriptions, logical structures, and register details for all hardware modules.

A133 Datasheet: Contains pin definitions, electrical parameters, and package dimensions.

Shenzhen Huidu Technology Co., Ltd.—Allwinner A133:HD-133TE

Allwinner A133 1.6GHz quad-core 64-bit processor. Supports eDP display interface. Supports LVDS, MIPI, and eDP display interfaces; Shenzhen Huidu Technology Co., Ltd. Runs at EL3, provides secure monitor calls (SMCs)

Allwinner A133 is not detected in sunxi-fel v1.4.2-182-ge3f41d4 #219


2.2 ATF (ARM Trusted Firmware)

Inside the Allwinner A133: A Guide to Firmware Development and Boot Sequencing

The Allwinner A133 is a widely used applications processor in the tablet, smart display, and embedded industrial markets. While it is often overshadowed by its high-performance competitors, the A133 offers a compelling balance of power efficiency, cost-effectiveness, and robust multimedia features. However, for firmware engineers and system integrators, working with the A133 requires a deep understanding of its proprietary boot process, hardware initialization, and firmware customization.

This article explores the architecture, boot flow, and practical considerations for developing firmware on the Allwinner A133 platform.

Task 2: Signing Firmware for Secure Boot

Many commercial tablets enable secure boot. The A133 uses RSA2048 keys. You must:

  1. Generate rootkey.pem using Allwinner’s SignTool.
  2. Append the key to boot0.
  3. Enable CONFIG_SUNXI_SECURE_BOOT in U-Boot. Without the correct keys, the device will reject the firmware.

7. Essential Tools for A133 Firmware Work

| Tool | Purpose | Availability | | :--- | :--- | :--- | | sunxi-fel | Low-level RAM & flash access via USB | Open source | | PhoenixSuit | Full firmware burning (Windows) | Allwinner (binary) | | LiveSuit | Linux flasher | Allwinner (binary) | | dragonboard | USB download mode client | SDK only | | awpack | Packing .fex images into .img | SDK only | | bin2fex / fex2bin | Edit Allwinner script.bin | Open source |