cargo build --target riscv64imac-unknown-none-elf --release
cargo blri elf2bin ./target/riscv64imac-unknown-none-elf/release/bouffaloader
cargo blri patch ./target/riscv64imac-unknown-none-elf/release/bouffaloader.bin
cargo blri flash ./target/riscv64imac-unknown-none-elf/release/bouffaloader.bin
rustup target install riscv64imac-unknown-none-elf
cargo build --target riscv64imac-unknown-none-elf --release
cargo install cargo-binutils
rustup component add llvm-tools-preview
rust-objcopy .\target\riscv64imac-unknown-none-elf\release\bouffaloader -O binary .\target\riscv64imac-unknown-none-elf\release\bouffaloader.bin
Flash the binary file to the board with Bouffalo Lab Dev Cube on Windows
-
Connect the board to the computer via UART (Here takes M1s Dock as an example):
- Normally, you can see 2 new serial ports. If not, visit Burn onboard bl702 for help.
-
Run the
BLDevCube.exe
, chooseBL808
, and clickFinish
. -
In MCU page, browse
target\riscv64imac-unknown-none-elf\release\bouffaloader.bin
as the target ofD0 Group
. Choose the bigger number serial port, and set uart rate 2000000. -
Press BOOT and RST on the board, then release RST first and BOOT after to be into UART burning mode.
-
Click
Create & Download
, wait for flash the binary file to success.
After flashing, repower the board and open the serial port monitor to see the output and interact with the CLI:
-
help
: print out all commands. -
hello
: print out 'Hello world!'. -
led [<none>|on|off|switch]
: operate on LED. -
reload
: reload from sdcard. -
read <addr>
: fetch data from address. -
write <addr> <val>
: write value to address. -
boot
: boot M-mode firmware. -
bootargs get|set <val>
: print or set the bootargs in memory. -
print
: print the configs.bootargs.