Khadas Docs

Amazing Khadas, always amazes you!

User Tools

Site Tools


products:sbc:common:development:kbi

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
products:sbc:common:development:kbi [2022/08/09 07:28]
ruby [Introduction]
products:sbc:common:development:kbi [2026/02/02 00:44] (current)
gray update by using AI
Line 1: Line 1:
 ====== KBI - Khadas Bootloader Instructions ====== ====== KBI - Khadas Bootloader Instructions ======
  
-===== Introduction ===== +This page introduces 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.+
  
 <WRAP important > <WRAP important >
-Khadas Bootloader Instructions(KBI) is developed to: +Khadas Bootloader Instructions (KBI) can be used to: 
-  * Manage the programmable MCU +  * Manage the programmable MCU 
-  * Carry out low level hardware management +  * Perform low-level hardware management 
-  * Let developers utilise all the features of Khadas SBCs. +  * Enable developers to utilize all the features of Khadas SBCs. </WRAP>
-</WRAP>+
  
 <WRAP info > <WRAP info >
-This page takes VIM2 as an example, other SBCs are similar.+This page uses VIM2 as an example. 
 </WRAP> </WRAP>
  
-==== Get help ====+===== Uboot usage =====
  
-Before continuingmake sure you have booted into U-Boot:+To get startedensure you have booted into U-Boot:
  
 ```shell ```shell
Line 24: Line 21:
 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 ''kbi'': You can get help information by typing ''kbi'':
Line 53: Line 52:
 ``` ```
  
-==== KBI Command ==== +==== MCU Verison ====
- +
-=== MCU Verison ===+
  
 Get the MCU firmware version: Get the MCU firmware version:
Line 64: Line 61:
 ``` ```
  
-=== Initialize ===+==== Initialize ====
  
 Initialize the KBI: Initialize the KBI:
Line 72: Line 69:
 ``` ```
  
-=== Serial number ===+==== Serial number ====
  
 Get the device serial number: Get the device serial number:
Line 81: Line 78:
 ``` ```
  
-=== ADC ===+==== ADC ====
  
 Get ADC value: Get ADC value:
Line 89: Line 86:
 ``` ```
  
-The ADC value can be used to distinguish different hardware modules.+The ADC value can be used to distinguish between different 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 103:
 ``` ```
  
-=== LED Control ===+==== LED Control ====
  
-Setup the blue LED:+The blue LED has four operating modes''Always Off'', ''Always On'', ''Breathe'', and ''Heartbeat''. It indicates the VIM's operating status.
  
-The blue LED has different working modes: ''Always Off''''Always on''''Breathe'' and ''Heartbeat''These indicate different VIM status-modes.+The MCUwhich handles system power managementcontrols the blue LEDThe CPU controls the white LED. 
 +Therefore, the blue LED continues to function even when the VIM2 is powered off.
  
-The blue LED is controlled by the MCU, and the MCU is in charge of system power management. The white LED is controlled by the CPU; therefore the blue LED still works even after you have powered off your VIM2.+KBI can be used to program the blue LED for two operating modes:
  
-The KBI can be used to program the blue LED for two different status-modes:+  * system off / idle: Power-off status, the CPU is in a power-down mode. 
 +  * system on / workingPower-on status, the CPU is in working mode.
  
-  * system off / idle: power off status, the CPU is powered down. +Example:
-  * system on / working: power on status, the CPU is in working mode. +
- +
-Examples:+
  
 To check the blue LED’s setting for ''system off'' / idle status: To check the blue LED’s setting for ''system off'' / idle status:
Line 128: Line 124:
 ``` ```
  
-To check the blue LED’s setting for ''system on'' / working status:+Check the blue LED setting for ''system on'' / working status:
  
 ```shell ```shell
Line 134: Line 130:
 led mode: off  [systemon] led mode: off  [systemon]
 ``` ```
 +When the VIM2 is powered on, the blue LED is set to ''Always Off'' by default.
  
-The terminal printout above says that the blue LED is to remain ''Always off'' when you power on the VIM2. You could instead change it to the ''breathe'' mode: +You can reset it to ''breathe'' mode: 
 ```shell ```shell
 kvim2# kbi led systemon w breathe kvim2# kbi led systemon w breathe
Line 147: Line 143:
 ``` ```
  
-=== 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 images to either SPI flash or eMMC storage on the VIM2, and use KBI to set one of them as the default boot media.
- +
-To set the default boot media as SPI flash:+
  
 +Set the default boot media to SPI flash:
 ```shell ```shell
 kvim2# kbi bootmode w spi kvim2# kbi bootmode w spi
 ``` ```
  
-To set the default boot media as eMMC storage:+Set default boot media to eMMC storage:
  
 ```shell ```shell
Line 163: Line 158:
 ``` ```
  
-You can check the default boot media by running:+You can check the current default boot media setting:
  
 ```shell ```shell
Line 170: Line 165:
 ``` ```
  
-=== Boot Trigger Events ===+==== Boot Trigger Events ====
  
-VIM2 supports different events for triggering boot-up: +The VIM2 supports several events to trigger boot-up: 
-  * WOL: Wake on Lan+  * WOL: Wake-on-Lan
   * RTC: RTC timer   * RTC: RTC timer
   * IR: IR remote controller   * IR: IR remote controller
Line 179: Line 174:
   * 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, any of the above events can trigger it to power-on; when that trigger event has been set to the ''enabled'' status.+This means any of the above events can trigger the VIM2 to power on, provided that the specific trigger event has been enabled.
  
-Examples:+For example:
  
-  * Get the status for a WOL trigger event: \\ ```shell+  * Get the status of the WOL trigger event: 
 +```shell
 kvim2# kbi trigger wol r kvim2# kbi trigger wol r
 boot wol: disable boot wol: disable
 ``` ```
-  * By default, WOL is disabled for the preinstalled ROM, you can enable it by writing a new value\\ ```shell+  * WOL is disabled by default in the pre-installed ROM. You can enable it: 
 +```shell
 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+  * For security reasons, you may want to disable WOL: reasons. :  
 +```shell
 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>products/edge1/tools/mcu/edge-v_mcu_reg_en.pdf|Edge-V MCU Register Map]] 
-  * [[https://dl.khadas.com/Hardware/VIM2/MCU/VIM2_MCU_REG_EN.pdf|VIM2 MCU Register Map]] +  * [[dl>products/vim2/tools/mcu/vim2_mcu_reg_en.pdf|VIM2 MCU Register Map]] 
-  * [[https://dl.khadas.com/Hardware/VIM3/MCU/VIM3_MCU_REG_EN.pdf|VIM3 MCU Register Map]]+  * [[dl>products/vim3/tools/mcu/vim3_mcu_reg_en.pdf|VIM3 MCU Register Map]]
  
Last modified: 2022/08/09 07:28 by ruby