This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
products:sbc:common:development:kbi [2022/08/09 07:59] ruby [KBI Command] |
products:sbc:common:development:kbi [2025/05/14 22:43] (current) nick |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== KBI - Khadas Bootloader Instructions ====== | ====== KBI - Khadas Bootloader Instructions ====== | ||
| - | |||
| - | ===== Introduction ===== | ||
| This page introduces about KBI. You will learn how to manage the status of Khadas SBC through KBI. | This page introduces about KBI. You will learn how to manage the status of Khadas SBC through KBI. | ||
| Line 13: | Line 11: | ||
| <WRAP info > | <WRAP info > | ||
| - | This page takes VIM2 as an example, other SBCs are similar. | + | This page takes VIM2 as an example. |
| </ | </ | ||
| - | ==== Get help ==== | + | ===== Uboot usage ===== |
| To get started, make sure you have booted into U-Boot: | To get started, make sure you have booted into U-Boot: | ||
| Line 24: | Line 22: | ||
| boot wol: enable | boot wol: enable | ||
| Hit Enter or space or Ctrl+C key to stop autoboot -- : 0 | Hit Enter or space or Ctrl+C key to stop autoboot -- : 0 | ||
| - | kvim2# | + | kvim2# |
| ``` | ``` | ||
| + | |||
| + | ==== Help information ===== | ||
| You can get help information by typing '' | You can get help information by typing '' | ||
| Line 53: | Line 53: | ||
| ``` | ``` | ||
| - | ==== KBI Command ==== | + | ==== MCU Verison |
| - | + | ||
| - | === MCU Verison === | + | |
| Get the MCU firmware version: | Get the MCU firmware version: | ||
| Line 64: | Line 62: | ||
| ``` | ``` | ||
| - | === Initialize === | + | ==== Initialize |
| Initialize the KBI: | Initialize the KBI: | ||
| Line 72: | Line 70: | ||
| ``` | ``` | ||
| - | === Serial number === | + | ==== Serial number |
| Get the device serial number: | Get the device serial number: | ||
| Line 81: | Line 79: | ||
| ``` | ``` | ||
| - | === ADC === | + | ==== ADC ==== |
| Get ADC value: | Get ADC value: | ||
| Line 91: | Line 89: | ||
| The ADC value can distinguish between hardware modules. | The ADC value can distinguish between hardware modules. | ||
| - | === Power Off === | + | ==== Power Off ==== |
| - | Power off device: | + | Power off the device: |
| ```shell | ```shell | ||
| kvim2# kbi poweroff | kvim2# kbi poweroff | ||
| ``` | ``` | ||
| - | === MAC Address === | + | ==== MAC Address |
| Get the Ethernet MAC address: | Get the Ethernet MAC address: | ||
| Line 106: | Line 104: | ||
| ``` | ``` | ||
| - | === LED Control === | + | ==== LED Control |
| Setup the blue LED: | Setup the blue LED: | ||
| - | The blue LED has different | + | The blue LED has 4 working modes: '' |
| The MCU,in charge of system power management, controls the blue LED. The CPU controls the white LED. | The MCU,in charge of system power management, controls the blue LED. The CPU controls the white LED. | ||
| - | The blue LED still work even VIM2 was powered off. | + | In this case, the blue LED still work even VIM2 was powered off. |
| - | The KBI can be used to program the blue LED for two different status-modes: | + | The KBI can be used to program the blue LED for two working |
| - | * system off / idle: power off status, the CPU is powered | + | * system off / idle: power off status, the CPU is in power-down mode. |
| * system on / working: power on status, the CPU is in working mode. | * system on / working: power on status, the CPU is in working mode. | ||
| - | Examples: | + | For example: |
| To check the blue LED’s setting for '' | To check the blue LED’s setting for '' | ||
| Line 135: | Line 133: | ||
| led mode: off [systemon] | led mode: off [systemon] | ||
| ``` | ``` | ||
| + | When VIM2 is powered on,the blue LED is '' | ||
| - | The terminal printout above says that the blue LED is to remain '' | + | You can also reset it to '' |
| ```shell | ```shell | ||
| kvim2# kbi led systemon w breathe | kvim2# kbi led systemon w breathe | ||
| Line 148: | Line 146: | ||
| ``` | ``` | ||
| - | === Boot Mode === | + | ==== Boot Mode ==== |
| - | VIM2 comes with both SPI flash and eMMC Storage. The KBI can be used to setup one of these as the default boot media. | + | You can flash the images |
| - | To set the default boot media as SPI flash: | + | Set the default boot media as the SPI: |
| ```shell | ```shell | ||
| Line 158: | Line 156: | ||
| ``` | ``` | ||
| - | To set the default boot media as eMMC storage: | + | Set default boot media as eMMC storage: |
| ```shell | ```shell | ||
| Line 164: | Line 162: | ||
| ``` | ``` | ||
| - | You can check the default boot media by running: | + | You can take a review on the default boot media by running: |
| ```shell | ```shell | ||
| Line 171: | Line 169: | ||
| ``` | ``` | ||
| - | === Boot Trigger Events === | + | ==== Boot Trigger Events |
| VIM2 supports different events for triggering boot-up: | VIM2 supports different events for triggering boot-up: | ||
| Line 180: | Line 178: | ||
| * Key: Power Key/Button | * Key: Power Key/Button | ||
| * GPIO: External GPIO events | * GPIO: External GPIO events | ||
| - | This means that when your VIM2 is powered-off, | + | It means any of the above events can trigger |
| - | Examples: | + | For example: |
| - | * Get the status | + | * Get the status |
| kvim2# kbi trigger wol r | kvim2# kbi trigger wol r | ||
| boot wol: disable | boot wol: disable | ||
| ``` | ``` | ||
| - | * By default, | + | * WOL is disabled for the pre-installed |
| kvim2# kbi trigger wol w 1 | kvim2# kbi trigger wol w 1 | ||
| set_wol: 1 | set_wol: 1 | ||
| ``` | ``` | ||
| - | * Of course, for security reasons, you might want to disable the WOL: \\ ```shell | + | * In general, you will disable the WOL for security reasons. |
| kvim2# kbi trigger wol w 0 | kvim2# kbi trigger wol w 0 | ||
| set_wol: 0 | set_wol: 0 | ||
| ``` | ``` | ||
| - | ===== See Also ===== | + | ====== Read for reference ====== |
| - | * [[https://dl.khadas.com/Hardware/Edge/MCU/Edge-V_MCU_REG_EN.pdf|Edge-V MCU Register Map]] | + | * [[dl> |
| - | * [[https://dl.khadas.com/Hardware/VIM2/MCU/VIM2_MCU_REG_EN.pdf|VIM2 MCU Register Map]] | + | * [[dl> |
| - | * [[https://dl.khadas.com/Hardware/VIM3/MCU/VIM3_MCU_REG_EN.pdf|VIM3 MCU Register Map]] | + | * [[dl> |