Skip to content

nor-split: Hi3516CV300 and Hi3516EV100; Goke pages on the -nor U-Boot - #612

Merged
widgetii merged 2 commits into
masterfrom
nor-split-hi3516cv300
Oct 21, 2026
Merged

widgetii merged 2 commits into
masterfrom
nor-split-hi3516cv300

Conversation

@widgetii

Copy link
Copy Markdown
Member

Checked in qemu-hisilicon (gk7205v200, blank 16 MB flash, the published -nor U-Boot and today's ultimate package): rootfs to 0x350000, kernel to 0x50000, Found RootFS at 0x00350000, login prompt.

- nor-split-layout: Hi3516CV300 and Hi3516EV100 ship the split layout
  (firmware#2645, linux#127, u-boot#42), with the fixed-slot package
  beside it. Their older U-Boot 2010.06 boots the split image unchanged,
  as a Hi3516CV300 board with its 16 MB env did; the scanning
  u-boot-<soc>-nor.bin adds fwupd and SD/USB recovery.
- fpv, IPC-RM1-BLK7202V3: u-boot-<soc>-nor.bin in place of the 2016.11
  -universal image, which falls back to the 8 MB slots once its env is
  wiped (firmware#2646). defib burn loads it, and `run ur; run uk`
  replaces setnor16m + uknor16m/urnor16m, which that U-Boot does not
  have: checked in qemu-hisilicon (gk7205v200, blank 16 MB flash, the
  -nor U-Boot and today's ultimate package): rootfs to 0x350000, kernel
  to 0x50000, "Found RootFS at 0x00350000", login.
@qodo-free-for-open-source-projects

Copy link
Copy Markdown

PR Summary by Qodo

Document NOR split support and updated Goke flashing procedures

📝 Documentation 🕐 10-20 Minutes

Grey Divider

AI Description

• Document split and fixed-slot packages for Hi3516CV300 and Hi3516EV100, including legacy
 bootloader compatibility.
• Replace Goke universal U-Boot flashing instructions with the NOR bootloader and defib.
• Explain rootfs-first flashing and automatic 16 MB slot detection for FPV boards.
Diagram

graph TD
  D["defib burn"] --> U["NOR U-Boot"] --> R["Write rootfs"] --> K["Write kernel"] --> S["Scan flash"] --> B["Boot firmware"]
  L["Legacy U-Boot"] --> I["Split image"] --> B
Loading
High-Level Assessment

Documenting the NOR bootloader for new Goke flashes while retaining the verified legacy boot path for Hi3516CV300 and Hi3516EV100 is appropriate. Continuing to recommend the universal Goke image was considered but rejected because a wiped environment can restore 8 MB slots.

Files changed (3) +24 / -11

Documentation (3) +24 / -11
device-IPC-RM1-BLK7202V3-M43A-WIFI.mdRecommend defib and NOR U-Boot for board recovery +1/-1

Recommend defib and NOR U-Boot for board recovery

• Replaces the burn and universal-image recommendation with a defib command that loads the GK7202V300 NOR U-Boot image. The subsequent serial or SD-card firmware transfer options remain unchanged.

en/device-IPC-RM1-BLK7202V3-M43A-WIFI.md

fpv.mdRevise FPV 16 MB flash installation instructions +12/-8

Revise FPV 16 MB flash installation instructions

• Points programmer and defib workflows to the GK7205V200 NOR U-Boot image. Replaces universal-bootloader environment commands with rootfs-first 'run ur; run uk' instructions and explains automatic 16 MB slot selection.

en/fpv.md

nor-split-layout.mdAdd Hi3516CV300 and Hi3516EV100 split-layout guidance +11/-2

Add Hi3516CV300 and Hi3516EV100 split-layout guidance

• Lists both SoCs as supporting split and fixed-slot packages. Explains why their older OpenIPC U-Boot boots split images unchanged, when to install the scanning NOR bootloader, and how to return to fixed slots.

en/nor-split-layout.md

@qodo-free-for-open-source-projects

qodo-free-for-open-source-projects Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0) 🎨 UX issues (0) 🔗 Cross-repo conflicts (0) 📜 Skill insights (0)

Grey Divider


Action required

1. Flash replacement cannot install firmware ✓ Resolved
Description
The flash-replacement procedure now installs u-boot-gk7205v200-nor.bin, but its subsequent steps
still run setnor16m, uknor16m, and urnor16m, which the page says this bootloader does not
provide. An operator following that procedure on a new 16 MB chip reaches those commands instead of
writing the kernel and root filesystem.
Code

en/fpv.md[138]

+* Fill [U-Boot](https://github.com/OpenIPC/firmware/releases/download/latest/u-boot-gk7205v200-nor.bin) into a new 16 megabyte flash (at the beginning of the memory) and solder it to the board. Verify that U-Boot starts and you get to the prompt.
Evidence
The newly selected bootloader at line 138 is followed by the old commands at lines 144–146. The
page's other installation path uses the same NOR bootloader but instead runs ur and uk and
explicitly says there is no setnor16m to run.

en/fpv.md[138-146]
en/fpv.md[261-279]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The flash-replacement procedure installs the new NOR bootloader but still invokes commands from the former bootloader, so firmware is not written.
## Fix Focus Areas
- en/fpv.md[138-146]
- en/fpv.md[266-279]
## Recommended Fix
Update the flash-replacement procedure to use the new bootloader's firmware-writing commands, including any required prompt interruption after a reset, and keep both installation paths consistent.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Remediation recommended

2. Recovery can boot past the console ✓ Resolved
Description
The new defib burn commands omit the flags that interrupt autoboot and open a console after the
bootloader is uploaded to RAM. When the uploaded bootloader autoboots before the operator reaches
its prompt, the FPV recovery flow can lose its RAM-only bootloader on reset, while the device-page
flow cannot proceed to its proposed firmware upload.
Code

en/fpv.md[253]

+defib burn -c gk7205v200 -p /dev/ttyUSB0 ; screen -L /dev/ttyUSB0 115200
Evidence
The U-Boot recovery guide explains that -b sends Ctrl-C, -t opens the console, and an autoboot
reset discards the RAM-loaded bootloader. Neither newly documented defib command includes those
flags; the device-page command also provides no power-cycle timing.

en/help-uboot.md[462-476]
en/fpv.md[248-255]
en/device-IPC-RM1-BLK7202V3-M43A-WIFI.md[148-151]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
Both newly documented defib commands omit the console and autoboot-interruption flags needed to retain access to the RAM-loaded bootloader.
## Fix Focus Areas
- en/fpv.md[250-255]
- en/device-IPC-RM1-BLK7202V3-M43A-WIFI.md[148-151]
## Recommended Fix
Use defib's documented `-b -t` options in both commands and tell operators to start defib before powering on or power-cycling the board.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


3. Two chips are missing from upgrade guidance ✓ Resolved
Description
The new split-layout table adds Hi3516CV300 and Hi3516EV100, but the upgrade guide's list of chips
for which sysupgrade -k -r installs the split layout still omits both. Readers starting from the
upgrade guide do not see the newly documented split-package path for either chip, even though the
split-layout page directs readers to that upgrade method.
Code

en/nor-split-layout.md[19]

+| Hi3516CV300, Hi3516EV100 | 256K boot + 64K env | `0x50000` | `u-boot-<soc>-nor.bin` | `-split` and the fixed-slot one |
Evidence
The new row lists both chips and their split packages. The split-layout procedure describes
sysupgrade fetching that package, whereas the upgrade guide's explicit chip list does not include
them.

en/nor-split-layout.md[16-20]
en/nor-split-layout.md[140-152]
en/sysupgrade.md[24-32]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The split-layout page adds two chips without updating the upgrade guide's enumeration of chips covered by its split-upgrade instructions.
## Fix Focus Areas
- en/nor-split-layout.md[16-20]
- en/sysupgrade.md[24-32]
## Recommended Fix
Update the upgrade guide's chip list and any necessary first-upgrade qualification so it accurately describes the split upgrade path for Hi3516CV300 and Hi3516EV100.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Tip of the day
💡 Did you know, you can start a comment with 'qodo' or '@qodo' to chat about any finding

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

Comment thread en/fpv.md
Comment thread en/fpv.md Outdated
Comment thread en/nor-split-layout.md
…v100 in the upgrade guide

From review:
- fpv's flash-replacement steps also ran setnor16m and uknor16m/urnor16m,
  which u-boot-gk7205v200-nor.bin does not have: run ur; run uk there
  too, as already checked in qemu-hisilicon.
- defib burn gets -b (Ctrl-C after the upload) and -t (console), started
  before the board is powered, so the RAM-only U-Boot is not booted past.
- sysupgrade.md lists Hi3516CV300 and Hi3516EV100: sysupgrade -k -r takes
  the -split package whenever the release carries one, and their U-Boot
  2010.06 boots it as well (it reads 3 MiB from 0x50000).
@widgetii
widgetii merged commit 74d71fa into master Oct 21, 2026
@widgetii
widgetii deleted the nor-split-hi3516cv300 branch October 21, 2026 07:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant