兜兜转转还是玩上了MangoPi-R3!因为是ARM9的芯片内核架构,所以总觉得过时了的,至少也要整个ARM-A7的架构芯片。
前言
https://mangopi.cc/f1c_mainline https://wiki.dfrobot.com/MangoPi_R3_SKU_DFR0780
介绍
这款微型开发板专为运行 Linux 而设计。尽管机身很小,但它具有所有重要功能。板载F1C200S作为主控芯片,提供多种常用外设端口:GPIO、I2C&SPI、SDIO、Audio port(record,play), Video(RGB565 Display, touch, DVP), USB Host, OTG等. 此外,板卡内置64MB DDR和板载128MB Nand Flash,全面支持Linux生态,运行完整的Python。
目前该产品是完全开源的,用户可以根据自己的需求编译任意模块。但是,它主要面向 Python 开发人员和高级爱好者,因为它上手有点困难。
规格
芯片型号 | F1C100S | F1C200S | F1C500S | F1C600 |
---|
内存 | SIP 32MB DDR1 | 64MB DDR1 | 128MB DDR1 | 256MB DDR1 |
- QFN88封装(10x10mm)
- 板载 128MB Nand Flash
- ARM926EJ-S内核,420MHz系统时钟默认频率,可超频至700MHz及以上
- 丰富的 GPIO 引脚
- 板载 SDIO 接口,用于连接 SD 卡或 SDIO WiFi + BT 模块
- DVP摄像头接口,支持OV2640、GC0328等摄像头。
- RGB565显示接口和6线触摸接口
- 板载麦克风和功率放大器
- 低功耗
- 支持完整的Python运行
芯片优缺点
- 缺点:主频过低,内核太古老(ARM9)
- 优点:便宜,内置DDR,资料丰富(老芯片的优势)
MangoPi的Buildroot一键编译
地址:https://github.com/mangopi-sbc/buildroot-mangopi-r
安装软件包
sudo apt install rsync wget unzip build-essential git bc swig libncurses-dev libpython3-dev libssl-dev
sudo apt install python3-distutils
下载BSP包
git clone https://github.com/mangopi-sbc/buildroot-mangopi-r
第一次编译
注意:构建固件不需要 Root 权限。
应用默认配置
注意:应用 defconfig 会将所有 buildroot 配置重置为默认值。
通常,您只需要应用一次。
cd buildroot-mangopi-r
make widora_mangopi_r3_defconfig
常规编译
make -j16
如果更改了 DTS 或 kenrel 构建
./rebuild-kernel.sh
如果更改了 Uboot,则构建
./rebuild-uboot.sh
加快构建进度
在百度云下载离线的 dl Buildroot 将在编译固件时下载源代码。您可以获取“dl”文件夹的可信存档以加快速度。 https://pan.baidu.com/s/1-5CiMwXMQWjZxsFhsyRC5Q?pwd=1111
.make source
没有搞清楚这里是怎么用的,现在是下载了两个包:
- buildroot-dl-20220130.zip
- buildroot-mangopi-r-master.zip
是不是把buildroot-dl-20220130.zip解压到buildroot-mangopi-r-master目录里面呢?
明白了,把buildroot-dl-20220130.zip解压出来并改名为dl,然后再把dl移动到buildroot-mangopi-r-master.zip解压出来的文件夹目录里面去就行了,编译的好快 啊。
最终编译完成了。
INFO: hdimage(sysimage-sdcard.img): adding partition 'u-boot' (in MBR) from 'u-boot-sunxi-with-spl.bin' ...
INFO: hdimage(sysimage-sdcard.img): adding partition 'boot' (in MBR) from 'bootfs.vfat' ...
INFO: hdimage(sysimage-sdcard.img): adding partition 'rootfs' (in MBR) from 'rootfs.ext4' ...
INFO: hdimage(sysimage-sdcard.img): writing MBR
board/allwinner/generic/genimage-nor.cfg:33: no sub-section title/index for 'config'
INFO: cmd: "mkdir -p "/home/liefyuan/Liefyuan/mangopi-r/buildroot-mangopi-r-master/output/build/genimage.tmp"" (stderr):
INFO: cmd: "rm -rf "/home/liefyuan/Liefyuan/mangopi-r/buildroot-mangopi-r-master/output/build/genimage.tmp"/*" (stderr):
INFO: cmd: "mkdir -p "/home/liefyuan/Liefyuan/mangopi-r/buildroot-mangopi-r-master/output/build/genimage.tmp"" (stderr):
INFO: cmd: "cp -a "/tmp/tmp.kqghzcncg8" "/home/liefyuan/Liefyuan/mangopi-r/buildroot-mangopi-r-master/output/build/genimage.tmp/root"" (stderr):
INFO: cmd: "find '/home/liefyuan/Liefyuan/mangopi-r/buildroot-mangopi-r-master/output/build/genimage.tmp/root' -depth -type d -printf '%P\0' | xargs -0 -I {} touch -r '/tmp/tmp.kqghzcncg8/{}' '/home/liefyuan/Liefyuan/mangopi-r/buildroot-mangopi-r-master/output/build/genimage.tmp/root/{}'" (stderr):
INFO: cmd: "mkdir -p "/home/liefyuan/Liefyuan/mangopi-r/buildroot-mangopi-r-master/output/images"" (stderr):
INFO: flash(sysimage-nor.img): writing image partition 'u-boot' (0x80000@0x0)
INFO: flash(sysimage-nor.img): writing image partition 'splash' (0x80000@0x80000)
INFO: flash(sysimage-nor.img): writing image partition 'kernel' (0x500000@0x100000)
INFO: flash(sysimage-nor.img): writing image partition 'rom' (0xa00000@0x600000)
board/allwinner/generic/genimage-nand.cfg:39: no sub-section title/index for 'config'
INFO: cmd: "mkdir -p "/home/liefyuan/Liefyuan/mangopi-r/buildroot-mangopi-r-master/output/build/genimage.tmp"" (stderr):
INFO: cmd: "rm -rf "/home/liefyuan/Liefyuan/mangopi-r/buildroot-mangopi-r-master/output/build/genimage.tmp"/*" (stderr):
INFO: cmd: "mkdir -p "/home/liefyuan/Liefyuan/mangopi-r/buildroot-mangopi-r-master/output/build/genimage.tmp"" (stderr):
INFO: cmd: "cp -a "/tmp/tmp.cjWlxAkEjg" "/home/liefyuan/Liefyuan/mangopi-r/buildroot-mangopi-r-master/output/build/genimage.tmp/root"" (stderr):
INFO: cmd: "find '/home/liefyuan/Liefyuan/mangopi-r/buildroot-mangopi-r-master/output/build/genimage.tmp/root' -depth -type d -printf '%P\0' | xargs -0 -I {} touch -r '/tmp/tmp.cjWlxAkEjg/{}' '/home/liefyuan/Liefyuan/mangopi-r/buildroot-mangopi-r-master/output/build/genimage.tmp/root/{}'" (stderr):
INFO: cmd: "mkdir -p "/home/liefyuan/Liefyuan/mangopi-r/buildroot-mangopi-r-master/output/images"" (stderr):
INFO: flash(sysimage-nand.img): writing image partition 'u-boot' (0x80000@0x0)
INFO: flash(sysimage-nand.img): writing image partition 'splash' (0x80000@0x80000)
INFO: flash(sysimage-nand.img): writing image partition 'kernel' (0x500000@0x100000)
INFO: flash(sysimage-nand.img): writing image partition 'rom' (0x7700000@0x600000)
real 20m23.669s
user 93m8.759s
sys 31m2.006s
编译出来的文件:buildroot-mangopi-r-master/output/images
一步到位,所有版本都编译出来了(牛逼!):
bootfs.vfat rootfs.ext4 sysimage-sdcard.img
devicetree.dtb rootfs.squashfs u-boot.bin
kernel.itb rootfs.tar u-boot-sunxi-with-nand-spl.bin
rootfs.cpio splash.bmp u-boot-sunxi-with-spl.bin
rootfs.cpio.gz sysimage-nand.img zImage
rootfs.ext2 sysimage-nor.img
刷固件
指导说明文档:https://github.com/mangopi-sbc/buildroot-mangopi-r/blob/master/flashutils/README.md
|