您的项目真正关心的安卓部分。
以下每个方面都已通过 ItempApiPub 系统 API 在我们的固件中开放——定制项目在此基础上扩展。
power电源与定时
定时开机、关机和重启,休眠与唤醒——均可在您的应用中设置。
display显示
亮度、旋转与方向、背光以及 HDMI 输出控制。
kioskKiosk 与锁定
隐藏导航栏和状态栏,控制应用安装,开机启动您的应用。
network网络
静态 IP 或 DHCP、NTP 服务器、Wi-Fi 热点、网络唤醒。
gpioGPIO 与 I/O
通过 GPIO 访问传感器、继电器和外设(引脚细节见 GPIO 参考)。
debug · ota调试与更新
USB 与网络调试、日志抓取,以及面向已部署设备的 OTA 固件更新。
无需平台签名,无需设备所有者模式。
在原生安卓上,普通应用无法隐藏系统栏、定时开关机或设置静态 IP。在 iTEMP 固件上只需一次调用——您的团队可以专注于交付功能,而不是与权限周旋。
// Reboot every night at 04:00 ItempApiPub.setRebootTime(context, "4", "0", true); // Lock the UI to your app ItempApiPub.setNavigationBarHide(context); ItempApiPub.setStatusBarHide(context); // Fixed network settings for the site ItempApiPub.setStaticIp(context, "192.168.1.50", "192.168.1.1", "255.255.255.0", "8.8.8.8", "8.8.4.4");
覆盖七款芯片的主板——也可以为您定制。
我们的 KTM 主板覆盖 RK3588、RK3576、RK3568、RK3566、RK3399、RK3288 和 Amlogic T982。可以从已有文档的主板出发修改接口、尺寸或连接器——也可以全新设计。
- 起点一款已有文档的 KTM 主板——串口定义、引脚表和烧录指南都在 Wiki 中公开。
- 可修改的内容接口组合(RS232/RS485、GPIO、LAN、USB)、显示接口(LVDS、eDP、MIPI、HDMI)、主板尺寸与连接器位置。
- 固件由同一团队完成调试与维护——主板与其安卓镜像一起交付。
从开放式框架到成品显示器。
我们将主板与面板、触摸传感器和盖板玻璃组合,做成开放式框架模组或整机外壳——包括条形、圆形等异形屏。
- 面板LCD 或电子纸,标准、条形或异形。
- 触摸与玻璃与面板和外壳匹配的触摸传感器和盖板玻璃。
- 产品形态带支架的开放式框架以嵌入您的设备,或壁挂、立式、桌面成品。
从第一次沟通到量产。
- 需求沟通
需求梳理、芯片选型与可行性评估。
- 样品
包含您固件修改的工程样品。
- 验证
客户端测试与小批量试产。
- 量产
在深圳工厂生产与测试。
- 上市之后
为您的设备群提供固件更新与文档。
固件相关问题
How do I flash firmware onto an iTEMP Rockchip board?
Use RKDevTool on Windows (or rkdeveloptool on Linux/macOS) with the board connected through its USB OTG / download port, then flash the update.img made for your exact board.
- Install the USB driver: run
DriverInstall.exefrom Driver Assistant → Install Driver (uninstall an older driver first). - Power the board, connect the OTG port with a data cable, press the recovery key or reset until the tool shows Found One LOADER Device.
- Upgrade Firmware → Firmware → choose
update.img→ Upgrade. Wait for Reset Device.
Only use an image built for your board — the same SoC is not enough. Step-by-step with screenshots: Flashing over USB.
What is the difference between Loader mode and MaskRom mode?
Loader mode is the normal way to flash: it needs a working bootloader. MaskRom is the recovery mode burned into the chip itself — it works even when the bootloader is damaged.
- Use Loader mode for routine updates.
- Use MaskRom when the board shows no display, no adb, never appears as a Loader device, or a previous flash was interrupted.
MaskRom does not bypass secure-boot signatures or encryption. Details: MaskRom recovery.
How do I put a board into MaskRom mode?
Hold the board’s MaskRom control while connecting USB, and release it once the tool detects the device.
- Power off and remove any bootable microSD card.
- Hold the MaskRom button, recovery button or short the two MaskRom test pads (depends on the board).
- Connect the OTG port (and power).
- Release when RKDevTool shows Found One MASKROM Device (or
rkdeveloptool ldshowsMode=Maskrom).
Timing is the fiddly part — if it is not detected, power-cycle and try again. In MaskRom you must download the loader .bin that matches the board’s SoC and memory before writing the image.
How do I connect to the serial debug console?
Use a 3.3 V USB-to-TTL adapter on the board’s debug UART: GND to GND, adapter TX to board RX, adapter RX to board TX — leave VCC unconnected.
Rockchip boards use 1,500,000 baud, 8N1, no flow control by default — not 115200, which shows garbage. Some adapters (older PL2303) cannot reach that speed; CH340-based adapters with PuTTY or picocom work well. The debug header location is on your board page.
RKDevTool says “No Devices Found”. What should I check?
Nine times out of ten it is the cable or the port, not the tool.
- Cable: a charge-only USB cable is the #1 cause — use a known data cable.
- Port: connect the board’s OTG / download port, not a host-only USB-A port. Avoid hubs and front-panel PC ports.
- Driver: uninstall, then reinstall with Driver Assistant.
- Mode: the board must actually be in Loader or MaskRom mode.
- Linux: run with
sudoor add a udev rule for USB vendor ID2207(Rockchip). - Flash one board at a time — two boards in download mode confuse the tool.
Is a board that will not boot after a failed update “bricked” for good?
Almost never. A board that stopped mid-update can be recovered through MaskRom mode, because MaskRom lives in the chip and does not depend on anything that was written to storage.
Start with the serial console — the boot log usually says what failed — then follow MaskRom recovery with the loader and image for your exact board. If the board never appears in MaskRom either, contact us: that is when a hardware check makes sense.
What is the difference between update.img and the separate partition images?
update.img is a single packed firmware file — flash it from RKDevTool’s Upgrade Firmware tab. Partition images (boot.img, system.img, … plus a partition table) are flashed individually from the Download Image tab or written to their offsets.
The two are not interchangeable, and both require the loader that matches the SoC and memory configuration. For everyday updates, use the update.img we provide for your board.
Can I flash from Linux or macOS instead of Windows?
Yes — use Rockchip’s open-source rkdeveloptool.
rkdeveloptool ld # list devices
rkdeveloptool db rk35xx_loader_vX.XX.bin # download the matching loader
rkdeveloptool wl 0 update.img # write the image from sector 0
rkdeveloptool rd # reset the device
Run it with sudo, or add a udev rule for USB vendor ID 2207. Use the loader file that ships with your board’s firmware.
Flashing fails at “Download IDB” or “Download boot”. Why?
The loader does not match the board. The loader .bin must match both the SoC and the DDR/memory configuration; a loader from another product with the same chip is not automatically compatible.
| Symptom | Likely cause |
|---|---|
| Download IDB failed | Loader does not match SoC/DDR |
| Download boot failed (MaskRom) | Wrong loader |
| Disconnects while sending the loader | Power or DDR initialisation |
| Detected, then drops mid-flash | Wrong loader or unstable power |
| Flash completes, will not boot | Image for a different board |
Use the loader and image from your board’s firmware package, and a power supply that meets the board’s rating.
Can I update a board in the field with a microSD card?
Yes, if the board still boots from SD. You need an SD-boot image made for that board — not the USB update.img, unless the package says so.
- Write the image with balenaEtcher (or Raspberry Pi Imager /
dd). - Power off, insert the card, power on — the board writes its eMMC.
- Do not remove the card or cut power while it writes.
- Power off, remove the card, power on. Leaving it in can re-flash on every boot.
A board that no longer boots at all needs MaskRom instead. Guide: Flashing from SD.

