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/07/07 23:36]
hyphop [KBI (Khadas Bootloader Instructions)]
products:sbc:common:development:kbi [2026/02/02 00:44] (current)
gray update by using AI
Line 1: Line 1:
-====== Khadas Bootloader Instructions - KBI ======+====== KBI - Khadas Bootloader Instructions ======
  
-===== Introduction ===== +This page introduces KBI. You will learn how to manage the status of Khadas SBC through KBI.
- +
-This document mainly introduces KBI. You will learn what is KBI and how to control the status of Khadas SBC through KBI.+
  
 <WRAP important > <WRAP important >
-KBI is an abbreviation for Khadas Bootloader Instructions, which is developed to fulfill the following purposes+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 VIM2/VIM3/Edge +  * Enable developers to utilize all the features of Khadas SBCs. </WRAP>
-</WRAP>+
  
 <WRAP info > <WRAP info >
-This document uses 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:
  
-```sh+```shell
 normal power off normal power off
 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'':
  
-```sh+```shell
 kvim2# kbi kvim2# kbi
 kbi - Khadas Bootloader Instructions sub-system kbi - Khadas Bootloader Instructions sub-system
Line 53: Line 52:
 ``` ```
  
-==== KBI Command ==== +==== MCU Verison ====
- +
-=== MCU Verison ===+
  
 Get the MCU firmware version: Get the MCU firmware version:
  
-```sh+```shell
 kvim2# kbi version kvim2# kbi version
 version: 03 version: 03
 ``` ```
  
-=== Initialize ===+==== Initialize ====
  
 Initialize the KBI: Initialize the KBI:
  
-```sh+```shell
 kvim2# kbi init kvim2# kbi init
 ``` ```
  
-=== Serial number ===+==== Serial number ====
  
 Get the device serial number: Get the device serial number:
  
-```sh+```shell
 kvim2# kbi usid kvim2# kbi usid
 usid: 000000 usid: 000000
 ``` ```
  
-=== ADC ===+==== ADC ====
  
 Get ADC value: Get ADC value:
-```sh+```shell
 kvim2# kbi adc kvim2# kbi adc
 adc: 0x236 adc: 0x236
 ``` ```
  
-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: 
-```sh+```shell
 kvim2# kbi poweroff kvim2# kbi poweroff
 ``` ```
  
-=== MAC Address ===+==== MAC Address ====
  
 Get the Ethernet MAC address: Get the Ethernet MAC address:
-```sh+```shell
 kvim2# kbi ethmac kvim2# kbi ethmac
 mac address: 98:aa:fc:60:44:c0 mac address: 98:aa:fc:60:44:c0
 ``` ```
  
-=== 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:
  
-```sh+```shell
 kvim2# kbi led systemoff r kvim2# kbi led systemoff r
 led mode: breathe  [systemoff] led mode: breathe  [systemoff]
 ``` ```
  
-To check the blue LED’s setting for ''system on'' / working status:+Check the blue LED setting for ''system on'' / working status:
  
-```sh+```shell
 kvim2# kbi led systemon r kvim2# kbi led systemon r
 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
-```sh+
 kvim2# kbi led systemon w breathe kvim2# kbi led systemon w breathe
 ``` ```
Line 143: Line 139:
 You can also change the setting for ''system on'' / working status: You can also change the setting for ''system on'' / working status:
  
-```sh+```shell
 kvim2# kbi led systemon w Heartbeat kvim2# kbi led systemon w Heartbeat
 ``` ```
  
-=== 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.+
  
-To set the default boot media as SPI flash:+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.
  
-```sh+Set the default boot media to SPI flash: 
 +```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:
  
-```sh+```shell
 kvim2# kbi bootmode w emmc kvim2# kbi bootmode w emmc
 ``` ```
  
-You can check the default boot media by running:+You can check the current default boot media setting:
  
-```sh+```shell
 kvim2# kbi bootmode r kvim2# kbi bootmode r
 bootmode: emmc bootmode: emmc
 ``` ```
  
-=== 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: \\ ```sh+  * 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\\ ```sh+  * 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: \\ ```sh+  * 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/07/07 23:36 by hyphop