Sipeed MAIX-Dock Board
======================
The Sipeed MAXI-Dock board is a dual-core RISC-V 64-bits board based on the
Canaan Kendryte K210 SoC.
Prerequisite
------------
In order to use the kflash utility to program this board, the user must have
access to the board USB serial device file. The simplest way to do this is to
add your user to the same group as this device file. Assume the device file is
/dev/ttyUSB0, first identify the device group name. In most cases, it is
either "dialout" or "uucp". Also verify that read-write access is enabled for
the group:
```
$ ls -l /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 0 May 26 13:48 /dev/ttyUSB0
```
Then add yourself to that group (dialout in this example):
```
$ sudo usermod -a -G dialout $(whoami)
```
To enable the above, it is sometimes necessary to logout and login again.
Buildroot Configuration
-----------------------
Two buildroot configuration files are provided:
(1) Direct Linux Kernel Boot
This is defined by the sipeed_maix_dock_defconfig configuration. This
configuration allows building a bootable kernel image with a built-in initramfs
root file system (the board SD card is not used). The built kernel image can be
flashed directly to the board ROM for direct booting. No boot loader is
required.
(2) U-Boot SD-Card Boot
The sipeed_maix_dock_sdcard_defconfig configuration allows building a kernel
image with the root file system on the board SD card. U-Boot is used as the
boot loader.
Note: U-Boot does not natively support the Sipeed MAIX-Dock board. However, the
board and device tree differences with the Sipeed MAIX-Bit board are small
enough for U-Boot to work.
Both configuration files will also compile the pyserial-miniterm host tool open
a serial terminal console for the board.
Direct Linux Kernel Boot
-------------------------
Using the sipeed_maix_dock_defconfig configuration, the bootable kernel binary
image is built as follows.
```
$ make sipeed_maix_dock_defconfig
$ make
```
Both configuration files will also compile and install the kflash and
pyserial-miniterm host utilities to program bootable image files to the board
and open a serial terminal console.
```
$ output/host/bin/kflash -b 1500000 -p /dev/ttyUSB0 -t output/images/loader.bin
```
Once the kernel image file is fully programmed, a terminal console is open and
the board can be rebooted by pressing the reset button on the board (if it does
not reboot automatically).
The output will be similar to the following.
```
[ 0.000000] Linux version 5.18.0 (foo@bar.com) (riscv64-buildroot-linux-uclibc-gcc.br_real (Buildroot 2022.02-560-g6a2b542a09-dirty) 10.3.0, GNU ld (GNU Binutils) 2.32) #2 SMP Thu Apr 21 15:47:42 JST 2022
[ 0.000000] Machine model: SiPeed MAIX Dock
[ 0.000000] earlycon: sifive0 at MMIO 0x0000000038000000 (options '115200n8')
[ 0.000000] printk: bootconsole [sifive0] enabled
[ 0.000000] Zone ranges:
[ 0.000000] DMA32 [mem 0x0000000080000000-0x00000000807fffff]
[ 0.000000] Normal empty
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000080000000-0x00000000807fffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000807fffff]
[ 0.000000] riscv: ISA extensions acdfim
[ 0.000000] riscv: ELF capabilities acdfim
[ 0.000000] percpu: max_distance=0x16000 too large for vmalloc space 0x0
[ 0.000000] percpu: Embedded 11 pages/cpu s15264 r0 d29792 u45056
[ 0.000000] percpu: wasting 10 pages per chunk
[ 0.000000] Built 1 zonelists, mobility grouping off. Total pages: 2020
[ 0.000000] Kernel command line: earlycon console=ttySIF0
[ 0.000000] Dentry cache hash table entries: 1024 (order: 1, 8192 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 512 (order: 0, 4096 bytes, linear)
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] Memory: 5980K/8192K available (964K kernel code, 137K rwdata, 205K rodata, 546K init, 66K bss, 2212K reserved, 0K cma-reserved)
[ 0.000000] rcu: Hierarchical RCU implementation.
[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[ 0.000000] riscv-intc: 64 local interrupts mapped
[ 0.000000] plic: interrupt-controller@c000000: mapped 65 interrupts with 2 handlers for 4 contexts.
[ 0.000000] k210-clk: clock-controller: CPU running at 390 MHz
[ 0.000000] clint: timer@2000000: timer running at 7800000 Hz
[ 0.000000] clocksource: clint_clocksource: mask: 0xffffffffffffffff max_cycles: 0x3990be68b, max_idle_ns: 881590404272 ns
[ 0.000001] sched_clock: 64 bits at 7MHz, resolution 128ns, wraps every 4398046511054ns
[ 0.008187] Calibrating delay loop (skipped), value calculated using timer frequency.. 15.60 BogoMIPS (lpj=31200)
[ 0.018250] pid_max: default: 4096 minimum: 301
[ 0.022859] Mount-cache hash table entries: 512 (order: 0, 4096 bytes, linear)
[ 0.029971] Mountpoint-cache hash table entries: 512 (order: 0, 4096 bytes, linear)
[ 0.040238] rcu: Hierarchical SRCU implementation.
[ 0.045110] smp: Bringing up secondary CPUs ...
[ 0.050215] smp: Brought up 1 node, 2 CPUs
[ 0.054345] devtmpfs: initialized
[ 0.071112] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[ 0.080182] pinctrl core: initialized pinctrl subsystem
[ 0.120689] clocksource: Switched to clocksource clint_clocksource
[ 0.133165] workingset: timestamp_bits=62 max_order=11 bucket_order=0
[ 0.181750] k210-sysctl 50440000.syscon: K210 system controller
[ 0.198612] k210-rst 50440000.syscon:reset-controller: K210 reset controller
[ 0.206644] cacheinfo: Unable to detect cache hierarchy for CPU 0
[ 0.216569] i2c_dev: i2c /dev entries driver
[ 0.225905] k210-fpioa 502b0000.pinmux: K210 FPIOA pin controller
[ 0.238866] 38000000.serial: ttySIF0 at MMIO 0x38000000 (irq = 1, base_baud = 115200) is a SiFive UART v0
[ 0.247778] printk: console [ttySIF0] enabled
[ 0.247778] printk: console [ttySIF0] enabled
[ 0.256459] printk: bootconsole [sifive0] disabled
[ 0.256459] printk: bootconsole [sifive0] disabled
[ 0.268225] panel@0 enforce active low on chipselect handle
[ 0.285238] Freeing unused kernel image (initmem) memory: 540K
[ 0.290372] This architecture does not have kernel memory protection.
[ 0.296807] Run /init as init process
__ _
/ / (_) ____ _ _ __ __
/ / | || _ \ | | | |\ \/ /
/ /___| || | | || |_| | > <
/_____/|_||_| |_| \____|/_/\_\
64-bits RISC-V Kendryte K210 NOMMU
/ #
```
To open a terminal console without re-flashing the board, the pyserial-miniterm
host tool can be used.
```
$ output/host/bin/pyserial-miniterm --raw --eol=LF /dev/ttyUSB0 115200
```
The options "--raw" and "--eol=LF" are added here to avoid a double carriage
return each time a command is entered.
U-Boot SD-Card Boot
-------------------
The build procedure is similar to the built-in initramfs case.
```
$ make sipeed_maix_dock_sdcard_defconfig
$ make
```
The build process will generate two files under the output/images directory.
* sdcard.img: The image file for the SD card filesystem. This image has 2
partitions. The first partition is a vfat partition containing the kernel
uImage and the board device tree binary. The second partition is the root
filesystem with busybox installed. The second partition is formatted using
ext2 (rev1).
* uboot.bin: U-Boot bootable binary to load and boot the kernel from the SD
card.
The SD card can be prepared by writing the sdcard.img file, as follows.
```
$ sudo dd if=output/images/sdcard.img of=/dev/sdX bs=1M
$ sync
$ eject /dev/sdX
```
Where /dev/sdX is the device file name of the SD card. Once completed, the SD
card can be inserted into the board and the U-Boot binary image written to the
board boot flash using t
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
该项目是构建于Makefile的Buildroot项目设计源码,总计包含13725个文件,涵盖多种编程语言和文件类型,主要包括3319个Makefile文件、3191个哈希文件、3128个输入文件、1562个补丁文件、402个Python文件、258个文本文件、149个Shell脚本文件、142个配置文件、135个配置文件、126个主机相关文件及其他类型文件。该项目的设计源码综合运用了多种技术,适用于各类系统构建和开发。
资源推荐
资源详情
资源评论
收起资源包目录
基于Makefile构建的Buildroot项目设计源码 (2000个子文件)
aarch64_efi_defconfig 885B
acmesystems_acqua_a5_256mb_defconfig 999B
acmesystems_acqua_a5_512mb_defconfig 999B
acmesystems_aria_g25_128mb_defconfig 1KB
acmesystems_aria_g25_256mb_defconfig 1KB
acmesystems_arietta_g25_128mb_defconfig 1KB
acmesystems_arietta_g25_256mb_defconfig 1KB
add-custom-hashes 3KB
adding-packages-generic.adoc 31KB
contribute.adoc 31KB
adding-packages-directory.adoc 24KB
configure.adoc 20KB
customize-outside-br.adoc 16KB
common-usage.adoc 15KB
faq-troubleshooting.adoc 12KB
adding-packages-python.adoc 10KB
adding-packages-tips.adoc 9KB
customize-rootfs.adoc 7KB
adding-packages-autotools.adoc 7KB
adding-packages-cmake.adoc 7KB
rebuilding-packages.adoc 7KB
patch-policy.adoc 7KB
writing-rules.adoc 6KB
legal-notice.adoc 6KB
adding-packages-linux-kernel-spec-infra.adoc 6KB
adding-packages-meson.adoc 6KB
adding-packages-golang.adoc 5KB
adding-packages-asciidoc.adoc 5KB
adding-packages-perl.adoc 5KB
using-buildroot-development.adoc 5KB
adding-packages-kernel-module.adoc 5KB
quickstart.adoc 5KB
migrating.adoc 5KB
adding-packages-virtual.adoc 4KB
adding-packages-kconfig.adoc 4KB
adding-packages-rebar.adoc 4KB
adding-packages-luarocks.adoc 4KB
makeusers-syntax.adoc 4KB
make-tips.adoc 4KB
makedev-syntax.adoc 4KB
adding-packages-cargo.adoc 4KB
customize-directory-structure.adoc 4KB
customize-patches.adoc 3KB
customize-quick-guide.adoc 3KB
adding-board-support.adoc 3KB
adding-packages-waf.adoc 3KB
package-make-target.adoc 3KB
integration-selinux-support.adoc 3KB
adding-packages-qmake.adoc 3KB
adding-packages-hooks.adoc 3KB
customize-configuration.adoc 3KB
ccache-support.adoc 3KB
adding-packages-gettext.adoc 3KB
resources.adoc 3KB
how-buildroot-works.adoc 3KB
prerequisite.adoc 3KB
customize-packages.adoc 2KB
using-buildroot-toolchain.adoc 2KB
customize.adoc 2KB
configure-other-components.adoc 2KB
developers.adoc 2KB
using-buildroot-debugger.adoc 2KB
beyond-buildroot.adoc 2KB
customize-post-image.adoc 2KB
debugging-buildroot.adoc 1KB
manual.adoc 1KB
adding-packages.adoc 1KB
customize-device-permission-tables.adoc 1KB
release-engineering.adoc 1KB
integration-systemd.adoc 1KB
getting.adoc 1KB
introduction.adoc 1KB
download-location.adoc 1KB
customize-users-tables.adoc 752B
known-issues.adoc 491B
adding-packages-conclusion.adoc 425B
integration.adoc 414B
advanced.adoc 304B
appendix.adoc 141B
download-infra.adoc 104B
am574x_idk_defconfig 1KB
amarula_vyasa_rk3288_defconfig 1KB
andes_ae350_45_defconfig 2KB
arcturus_ucls1012a_defconfig 1KB
arcturus_ucp1020_defconfig 933B
arm_foundationv8_defconfig 783B
armadeus_apf27_defconfig 959B
armadeus_apf28_defconfig 757B
armadeus_apf51_defconfig 769B
aspeed_ast2500evb_defconfig 1KB
aspeed_ast2600evb_defconfig 1KB
asus_tinker-s_rk3288_defconfig 1KB
asus_tinker_rk3288_defconfig 1KB
at91sam9260eknf_defconfig 954B
at91sam9g20dfc_defconfig 1KB
at91sam9g45m10ek_defconfig 1002B
at91sam9rlek_defconfig 990B
at91sam9x5ek_defconfig 1KB
at91sam9x5ek_dev_defconfig 3KB
at91sam9x5ek_mmc_defconfig 2KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
wjs2024
- 粉丝: 2056
- 资源: 5419
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 用Python实现,PySide构建GUI界面的“井字棋”游戏 具备学习功能(源码)
- 系统测试报告模板 测试目的、测试依据、测试准备、测试内容、测试结果及分析、总结
- Python基础入门-待办事项列表.pdf
- 240301031刘炳炎咖啡网站导航.psd
- 数据集【YOLO目标检测】道路油污检测数据集 170 张,YOLO/VOC格式标注!
- 基于Robot FrameWork框架的自动化测试
- Qt5与Python混合开发,调用Python脚本定义的函数方法(源码)
- 【Unity屏幕空间全局光照插件】MFSSGI URP Screen Space Global Illumination
- 中国行政划分省市区县城市代码树形结构
- python做个植物大战僵尸(源码)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功