Cubie Board 1 A10 及其 qemu 仿真实现源代码架构

发布于:2024-08-16 ⋅ 阅读:(142) ⋅ 点赞:(0)

1,Cubie Board 1 简介

Cubie Board N, 其中 N = 1,2,3,4,5,6,7;

是基于全志 Allwinner 公司的系列 SOC 设计的微型电脑,产品形态和市场都类似树莓派1,2,3,4,5等。

第一代为 Cubie Board 1,基于 Allwinner A10 ARM 芯片设计而成,外观如下图所示:

2,Allwinner A10  soc 的组成结构

从 user mennual看到包括如下模块

各个设备地址映射:

3,物理板 Linux + uboot 移植

尝试构建 cubie board 1 的dibian linux 系统,并在物理板子上跑起来

3.1 构建 debian for cubie board 1

存在版本問題,編譯器版本與u-boot的代碼不match了已經,ubuntu-18.0.4沒有 gcc-4.7-arm-linux-gnueabihf,即,無法正確执行安装动作:

sudo apt-get install gcc-4.7-arm-linux-gnueabihf

代码版本太旧了,故 step 3 先掠过


WORK_DIR=/home/${USER}/develop/cubieboard

sudo apt-get install build-essential libncurses5-dev u-boot-tools \
qemu-user-static debootstrap git binfmt-support libusb-1.0-0-dev pkg-config

sudo apt-get install gcc-arm-linux-gnueabihf



 git clone https://github.com/cubieboard/u-boot-sunxi.git -b cubie/sunxi
 git clone https://github.com/cubieboard/sunxi-tools.git
 git clone https://github.com/cubieboard/sunxi-boards.git
 
 CB1:
git clone https://github.com/cubieboard/linux-sunxi.git -b cubie/sunxi-3.4



sudo debootstrap --foreign --arch armhf bionic .  http://mirrors.ustc.edu.cn/ubuntu-ports/

sudo cp /usr/bin/qemu-arm-static usr/bin/


DEBIAN_FRONTEND=noninteractive && \
DEBCONF_NONINTERACTIVE_SEEN=true && \
LC_ALL=C && \
LANGUAGE=C && \
LANG=C && sudo chroot ./ debootstrap/debootstrap --second-stage


sudo LC_ALL=C LANGUAGE=C LANG=C chroot . dpkg --configure -a

sudo tar jcpvf ../debian-rootfs-armhf-clean.tar.bz2 *


cd $WORK_DIR
sudo make distclean CROSS_COMPILE=arm-linux-gnueabihf-
sudo make cubieboard CROSS_COMPILE=arm-linux-gnueabihf-

sudo apt-get remove gcc-arm-linux-gnueabihf
sudo apt-get install gcc-4.7-arm-linux-gnueabihf
sudo apt-get install gcc-4.7-arm-linux-gnueabihf
sudo ln -s /usr/bin/arm-linux-gnueabihf-gcc-5 			/usr/bin/arm-linux-gnueabihf-gcc && \
sudo ln -s /usr/bin/arm-linux-gnueabihf-gcc-ar-5 		/usr/bin/arm-linux-gnueabihf-gcc-ar && \
sudo ln -s /usr/bin/arm-linux-gnueabihf-gcc-nm-5 		/usr/bin/arm-linux-gnueabihf-gcc-nm && \
sudo ln -s /usr/bin/arm-linux-gnueabihf-gcc-ranlib-5 	/usr/bin/arm-linux-gnueabihf-gcc-ranlib && \
sudo ln -s /usr/bin/arm-linux-gnueabihf-cpp-5 			/usr/bin/arm-linux-gnueabihf-cpp && \
sudo ln -s /usr/bin/arm-linux-gnueabihf-gcov-5 			/usr/bin/arm-linux-gnueabihf-gcov


sudo LC_ALL=C LANGUAGE=C LANG=C chroot . /debootstrap/debootstrap --second-stage



WORK_DIR=/home/${USER}/develop/cubieboard



sudo rm -rf /usr/bin/arm-linux-gnueabihf-gcc && \
sudo rm -rf /usr/bin/arm-linux-gnueabihf-gcc-ar && \
sudo rm -rf /usr/bin/arm-linux-gnueabihf-gcc-nm && \
sudo rm -rf /usr/bin/arm-linux-gnueabihf-gcc-ranlib && \
sudo rm -rf /usr/bin/arm-linux-gnueabihf-cpp && \
sudo rm -rf /usr/bin/arm-linux-gnueabihf-gcov

3.2 刷机

未完待续 。。。

4,qemu 仿真 Cubie Board 1

5,qemu 仿真 Cubie Board 1 的源码架构

6,设备表示

7,添加新设备


网站公告

今日签到

点亮在社区的每一天
去签到