WhyCan Forum

人过留名,雁过留声,感谢各位朋友不离不弃地支持。 QQ: 516333132 (挖坑网/填坑网) admin@whycan.cn

您尚未登录。

#1 2019-11-03 13:34:50

LinjieGuo
会员
注册时间: 2019-07-24
累计积分: 46

尝试从零构建F1C100s开发环境

本帖是尝试从零开始构建F1C100s开发环境,一步一步操作,记录开发流程方便新人爬楼,并非一下子写完,将包含一下内容:
1、使用虚拟机安装ubuntu
2、根据荔枝派教程搭建开发环境
3、编译uboot
4、编译linux内核
5、编译根文件系统
6、打包出烧写spi flash的bin文件
7、烧写验证
8、编译裸机程序

最近编辑记录 LinjieGuo (2019-11-03 13:40:24)

离线

#2 2019-11-03 13:35:22

LinjieGuo
会员
注册时间: 2019-07-24
累计积分: 46

Re: 尝试从零构建F1C100s开发环境

1、使用虚拟机安装ubuntu
链接:获取ubuntu
链接:获取虚拟机应用
1.1 新建虚拟机向导
(1)    [勾选]安装程序光盘映像文件
(2)    个性化linux:填写自己的linux机器名称,用户名,密码,确认密码
    我这里填写为:book,book,123456,123456
(3) 选择安装位置
(4) 根据自己情况,分配磁盘容量
    我这里分配32GB
(5) 根据自己机器性能,自定义硬件
    内存:
    处理器:
    网络适配器:
        (1)桥接模式,ubuntu相当于一台独立的电脑,可以通过路由器连接外网。
        (2)NAT模式:ubuntu连接windows的网络,可通过windows电脑分享的网络,连接外网。
(6)    进入ubuntu安装界面,按照向导随意配置。

1.2 安装一些便捷的工具
(1) 切换到root
    sudo -i
(2) 更新源:
    apt-get update
(3) 安装ssh服务器
    apt-get install ssh
(4)    命令行输入观察ubuntu的ip:
    ifconfig    (没这个工具的话apt-get install net-tools)
    或
    ip -a
(5)    windows端下载远程工具:putty
链接:获取putty   
(6)    使用putty登陆ubuntu验证ssh服务是否正常

最近编辑记录 LinjieGuo (2019-11-03 15:51:03)

离线

#3 2019-11-03 16:40:25

LinjieGuo
会员
注册时间: 2019-07-24
累计积分: 46

Re: 尝试从零构建F1C100s开发环境

2 根据荔枝派教程搭建开发环境
    链接:荔枝派nano的教程链接
2.1 安装交叉编译工具链
(1)新建一个文件夹存放f1c100s的开发工具
    mkdir f1c100s
    进入该文件夹
    cd f1c100s
(2)获取交叉编译工具链
    wget http://releases.linaro.org/components/toolchain/binaries/7.2-2017.11/arm-linux-gnueabi/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi.tar.xz
(3)解压
    tar -vxJf gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi.tar.xz
(4)安装
    sudo cp -r ./gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi /opt/
(5)修改环境变量
-->1.安装vim:
    sudo apt-get install vim
-->2.使用vim编辑
    sudo vim /etc/bash.bashrc
-->3.在文件末尾 添加以下内容:
    PATH="$PATH:/opt/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi/bin"
-->4.使路径生效
    source /etc/bash.bashrc
-->5.测试
    arm-linux-gnueabi-gcc -v

最近编辑记录 LinjieGuo (2019-11-03 16:58:33)

离线

#4 2019-11-03 17:37:43

LinjieGuo
会员
注册时间: 2019-07-24
累计积分: 46

Re: 尝试从零构建F1C100s开发环境

3  编译uboot
-->安装git工具
    sudo apt-get install git
3.1 获取uboot源码
    荔枝派官方教程里,源码位于git站上,因为国内git过于慢,建议使用下载工具打包下载。
(1)打开链接 https://github.com/Lichee-Pi/u-boot
(2)选择分支:点击Branch->nano-lcd800480
(3)使用下载工具打包下载
3.2 uboot.zip解压
(1)新建文件夹uboot
    mkdir uboot
(2)解压zip文件
    unzip uboot.zip
(3)进入目录
    cd u-boot
(4)查看分支
    git branch -a
(5)切换到 Nano 分支
    git checkout nano-v2018.01
(6)编译uboot
-->1 安装make
    sudo apt install make
-->2 使用nano配置
    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- licheepi_nano_spiflash_defconfig
    出现错误提示:
    ①recipe for target 'scripts/basic/fixdep' failed
    ②/bin/sh: 1: cc: not found
    安装如下工具:
    sudo apt-get install libncurses5-dev
    sudo apt-get install gcc
    继续配置命令
    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- licheepi_nano_spiflash_defconfig
-->3 体验可视化配置
    make ARCH=arm menuconfig
-->4 编译
    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j4
    如果你的CPU支持8线程,则-j4可以修改为-j8,提高编译速度。
    -----------------------------------------------
    出现错误:
    ①recipe for target 'scripts/dtc' failed
    ②recipe for target 'scripts' failed
    -----------------------------------------------
    安装如下工具:
    apt-get install device-tree-compiler
    -----------------------------------------------
    继续编译:
    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j4   
    -----------------------------------------------
    依然出现错误,瞎安装:
    sudo apt-get install libncurses5-dev libncursesw5-dev
    sudo apt-get install swig python-dev python3-dev
    -----------------------------------------------
    继续编译:
    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j4
    居然好了。
    得到u-boot-sunxi-with-spl.bin文件。

离线

#5 2019-11-03 18:04:43

LinjieGuo
会员
注册时间: 2019-07-24
累计积分: 46

Re: 尝试从零构建F1C100s开发环境

4 编译linux内核
4.1 获取linux内核源码
(1)打开链接:https://github.com/Icenowy/linux.git
(2)选择分支:点击Branch->f1c100s-480272
(3)打包下载
(4)传到ubuntu中,解压
    unzip f1c100s-480272lcd-test.zip
(5)下载别人配置好的配置文件
    http://dl.sipeed.com/LICHEE/Nano/SDK/config
    复制下载的文件到linux源码根目录,并改名字为".config"

(6)体验可视化配置
    make ARCH=arm menuconfig
(7)编译
    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j4
    -----------------------------------------------
    出现错误:
    scripts/extract-cert.c:21:10: fatal error: openssl/bio.h: 没有那个文件或目录
    安装工具:
    sudo apt-get install libssl-dev
    -----------------------------------------------
    继续编译:
    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j4
    成功编译,生成的 zImage 在 arch ‣ arm ‣ boot 目录下

离线

#6 2019-11-03 18:53:25

LinjieGuo
会员
注册时间: 2019-07-24
累计积分: 46

Re: 尝试从零构建F1C100s开发环境

5 编译根文件系统
5.1 安装依赖
    apt-get install linux-headers-$(uname -r)
5.2 使用buildroot编译根文件系统
(1)获取buildroot源码
    wget https://buildroot.org/downloads/buildroot-2017.08.tar.gz
    tar xvf buildroot-2017.08.tar.gz
    cd buildroot-2017.08/
(2) 配置bulidroot
    make menuconfig
    -----------------------------------------------
Target options  --->
    Target Architecture Variant (arm926t)  --->   // arm926ejs架构
    Enable VFP extension support                  // Nano 没有 VFP单元,勾选会导致某些应用无法运行
    Target ABI (EABI)  --->
    Floating point strategy (Soft float)  --->    // 软浮点
System configuration  --->
    (Lichee Pi) System hostname                   // hostname
    (licheepi) Root password                      // 默认账户为root 密码为licheepi
    [v] remount root filesystem read-write during boot  // 启动时重新挂在文件系统使其可读写
   
(2)下载依赖工具包
    https://pan.baidu.com/s/1_tBdX9K7fOkH9JdXZ_MdiQ
    下载完之后,解压后复制到"buildroot-2017.08/dl/"下,没有dl文件夹可自行创建。

    也可以不下载此工具包,但是buildroot自动更具需求下载这些工具包也许很慢。
(3)编译
    make
    -----------------------------------------------
    出现错误:
    make[2]: g++: Command not found
    安装G++工具:
    sudo apt-get install g++
    -----------------------------------------------
    继续编译:
    编译成功!
    -----------------------------------------------

(4)查看rootfs文件的大小
    ls -l output/images/rootfs.tar

离线

#7 2019-11-04 00:09:21

LinjieGuo
会员
注册时间: 2019-07-24
累计积分: 46

Re: 尝试从零构建F1C100s开发环境

6 打包出烧写spi flash的bin文件
    先将已经被解压过的文件,统统存放在一个文件夹里,防止干扰视线。
    mkdir Pack
    mv buildroot-2017.08.tar.gz Pack
    mv f1c100s-480272lcd-test.zip Pack
    mv gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi.tar.xz Pack
    mv uboot.tar Pack
    如果想保持官方路线,将当前根据官方操作流程而产生的文件打包,备用
    tar -cf UKB.tar buildroot-2017.08 gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi linux-f1c100s-480272lcd-test u-boot
    mv UKB.tar Pack
6.1 修改uboot以适配spi flashd
(1)修改源码
    在uboot源码目录下 进入 ./include/configs/,修改 suniv.h
   
#define CONFIG_BOOTCOMMAND   "sf probe 0:50000000; "                           \
                             "sf read 0x80C00000 0x100000 0x4000; "  \
                             "sf read 0x80008000 0x110000 0x400000; " \
                             "bootz 0x80008000 - 0x80C00000"
(2)更改配置
    回到 uboot 源码一级目录, 进入TUI配置
    make ARCH=arm menuconfig
    取消勾选 [] Enable a default value for bootcmd
    勾选 [v] Enable boot arguments;
    在下方一项中填入 bootargs 参数:
        console=ttyS0,115200 panic=5 rootwait root=/dev/mtdblock3 rw rootfstype=jffs2
       
(3)回到根目录重新编译
    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j4
6.2 修改dts以适配spi flash
(1)修改源码
    修改内核源码目录下的 ./arch/arm/boot/dts/suniv-f1c100s-licheepi-nano.dts
将原来的&spi0{...}替换为:
&spi0 {
    pinctrl-names = "default";
    pinctrl-0 = <&spi0_pins_a>;
    status = "okay";
    spi-max-frequency = <50000000>;
    flash: w25q128@0 {
        #address-cells = <1>;
        #size-cells = <1>;
        compatible = "winbond,w25q128", "jedec,spi-nor";
        reg = <0>;   
        spi-max-frequency = <50000000>;
        partitions {
            compatible = "fixed-partitions";
            #address-cells = <1>;
            #size-cells = <1>;

            partition@0 {
                label = "u-boot";
                reg = <0x000000 0x100000>;
                read-only;
            };

            partition@100000 {
                label = "dtb";
                reg = <0x100000 0x10000>;
                read-only;
            };

            partition@110000 {
                label = "kernel";
                reg = <0x110000 0x400000>;
                read-only;
            };

            partition@510000 {
                label = "rootfs";
                reg = <0x510000 0xAF0000>;
            };
        };
    };
};   
(2)重新编译设备树
    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- dtbs -j4

6.3 修改内核配置
   
(1)make ARCH=arm menuconfig
(2)勾选 File systems ‣ Miscellaneous filesystems ‣ Journalling Flash File System v2 (JFFS2) support
(3)修改源码下的 ./drivers/mtd/spi-nor.c
     vi ./drivers/mtd/spi-nor/spi-nor.c
    注释掉以下一行:
    //{ "w25q128", INFO(0xef4018, 0, 64 * 1024, 256, SECT_4K) },
    在这一行下面增加一项:
    { "w25q128", INFO(0xef4018, 0, 64 * 1024, 256, 0) },
(4)重新编译内核
    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j4

6.4 打包生成用于少些spiflash的bin文件   
(1)在f1c100s目录下,新建文件夹rootfs
    mkdir rootfs
(2)复制rootfs.tar到rootfs文件夹中
    cp buildroot-2017.08/output/images/rootfs.tar rootfs/
(3)解压rootfs目录下的rootfs.tar
    cd rootfs
    sudo tar -xvf rootfs.tar
(4)删除rootfs.tar
    sudo rm rootfs.tar
(5)回到f1c100s目录,编写打包命令
    cd ..
    vim BuildMyImage.sh
    填写如下内容:
#!/bin/sh
dd if=/dev/zero of=f1c100s_spiflash_16M.bin bs=1M count=16 &&\
dd if=u-boot/u-boot-sunxi-with-spl.bin of=f1c100s_spiflash_16M.bin bs=1K conv=notrunc &&\
dd if=linux-f1c100s-480272lcd-test/arch/arm/boot/dts/suniv-f1c100s-licheepi-nano.dtb of=f1c100s_spiflash_16M.bin bs=1K seek=1024 conv=notrunc &&\
dd if=linux-f1c100s-480272lcd-test/arch/arm/boot/zImage of=f1c100s_spiflash_16M.bin bs=1K seek=1088 conv=notrunc &&\
mkfs.jffs2 -s 0x100 -e 0x10000 --pad=0xAF0000 -d rootfs/ -o rootfs.jffs2 &&\
dd if=rootfs.jffs2 of=f1c100s_spiflash_16M.bin bs=1k seek=5184 conv=notrunc &&\
sync
(6)运行打包脚本
    sudo sh BuildMyImage.sh
    -----------------------------------------------
    提示错误:
    BuildMyImage.sh: 6: BuildMyImage.sh: mkfs.jffs2: not found   
    安装mtd-utils工具:
    sudo apt-get install mtd-utils
    安装过程中,有可能出现超时情况,多尝试几遍或者更换源试试。
    -----------------------------------------------
    继续运行打包脚本:
    sudo sh BuildMyImage.sh
   
    稍等片刻,打包便能完成。
   
    打包完成后,在当前目录,生成一个名为f1c100s_spiflash_16M.bin的文件。

最近编辑记录 LinjieGuo (2019-11-04 00:55:16)

离线

#8 2019-11-04 00:39:54

LinjieGuo
会员
注册时间: 2019-07-24
累计积分: 46

Re: 尝试从零构建F1C100s开发环境

7 烧写验证
(1)参考文章:https://whycan.cn/t_444.html
编译、安装Windows版本sunxi-fel步骤 (32M spi flash补丁,支持W25Q256/MX25L256)
    安装好驱动,烧写bin文件到单板上。
(2)观察串口输出:
FluxBB bbcode 上电log
明显是存在问题,但是不知道问题出在哪里,太晚了,只能先睡觉。

最近编辑记录 LinjieGuo (2019-11-04 00:46:59)

离线

#9 2019-11-04 09:39:08

dgtg
会员
注册时间: 2017-11-08
累计积分: 129

Re: 尝试从零构建F1C100s开发环境

支持楼主!

离线

#10 2019-11-04 09:44:22

mango
会员
注册时间: 2017-12-02
累计积分: 357

Re: 尝试从零构建F1C100s开发环境

支持楼主!

在线

#11 2019-11-04 09:44:24

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 8,155

Re: 尝试从零构建F1C100s开发环境

@LinjieGuo 去掉冒号, 那个地方是荔枝派文档挖的大坑。

u-boot 的 bootcmd 里面 sf probe 0:500000

上面命令行的冒号。

在线

#12 2019-11-04 10:03:16

tianjjff
会员
注册时间: 2018-12-24
累计积分: 27

Re: 尝试从零构建F1C100s开发环境

支持楼主!!!

离线

#13 2019-11-04 14:30:25

我思故我在
会员
注册时间: 2019-09-03
累计积分: 135

Re: 尝试从零构建F1C100s开发环境

好贴, 写得很详细, 适合入门。

离线

#14 2019-11-04 21:05:35

LinjieGuo
会员
注册时间: 2019-07-24
累计积分: 46

Re: 尝试从零构建F1C100s开发环境

非常感谢晕哥的指导:
回到6.26.2 修改dts以适配spi flash
    (1)修改源码
    在uboot源码目录下 进入 ./include/configs/,修改 suniv.h
   
#define CONFIG_BOOTCOMMAND   "sf probe 0 50000000; "                           \
                             "sf read 0x80C00000 0x100000 0x4000; "  \
                             "sf read 0x80008000 0x110000 0x400000; " \
                             "bootz 0x80008000 - 0x80C00000"
   
    重新编译uboot。
    重新打包出bin文件,并烧写。
    出现以下情况,很明显,还是存在问题,贴图,:
FluxBB bbcode log2

最近编辑记录 LinjieGuo (2019-11-04 21:10:10)

离线

#15 2019-11-04 21:17:51

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 8,155

Re: 尝试从零构建F1C100s开发环境

linux 内核 make menuconfig 选项 CONFIG_MTD_BLOCK 这个勾选上了吗?

可以直接打开 .config 编辑

在线

#16 2019-11-04 23:21:35

LinjieGuo
会员
注册时间: 2019-07-24
累计积分: 46

Re: 尝试从零构建F1C100s开发环境

再次感谢晕哥的指导:可能是CONFIG_MTD_BLOCK没有勾上。
    在linux内核根目录: make ARCH=arm menuconfig
    进入配置界面后:
    按/
    输入CONFIG_MTD_BLOCK
    进行搜索,得到以下界面。
FluxBB bbcode 内核配置界面搜索MTD
    进入→ Device Drivers,发现 已经勾选上
    <*> Memory Technology Device (MTD) support  --->
    回车进入Memory Technology Device (MTD) support  --->
看着好像有关的选项都给勾选上。贴图:
FluxBB bbcode 内核配置界面MTDsupport
    继续回车进入 Self-contained MTD device drivers
看着好像有关的选项都给勾选上。贴图:
FluxBB bbcode 内核配置界面Self-contained_MTD_device_drivers
    保存退出,继续编译。
    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j4

最近编辑记录 LinjieGuo (2019-11-04 23:22:40)

离线

#17 2019-11-04 23:25:42

LinjieGuo
会员
注册时间: 2019-07-24
累计积分: 46

Re: 尝试从零构建F1C100s开发环境

编译完毕,打包后烧写bin文件。非常遗憾,结果依旧!
FluxBB bbcode 启动log3
    观察.config里的配置项
FluxBB bbcode config中MTD配置
    文件中,可以看出,MTD_BLOCK已经配置为y,但依然没能成功启动。
    我怀疑也许是根文件系统配置的问题。夜深了,明日继续。
    算了,还是再搞搞把,这么早休息实在没劲,继续折腾。
    观察启动log,发现,卡住的地方,有一条记录:  #0: Loopback 1
    再次进入配置界面:make ARCH=arm menuconfig
    Device Drivers  --->Block devices  --->
        [v]Loopback device support,勾选,看到其他有的选项,也勾上吧,相信也无妨,贴图:
FluxBB bbcode DeviceDrivers__Blockdevices
    保存配置,继续编译。
    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j4
    打包后烧录验证。

最近编辑记录 LinjieGuo (2019-11-04 23:44:30)

离线

#18 2019-11-04 23:49:17

LinjieGuo
会员
注册时间: 2019-07-24
累计积分: 46

Re: 尝试从零构建F1C100s开发环境

夜已深,凭借着12线程的能力,很快就编译完成,打包烧录进单板上。
上电后,观察log,非常遗憾,唉,我要睡觉了。因为linux跑起来了...贴图:
FluxBB bbcode 启动log4

    在这紧要关头,我居然忘记了登陆账号密码,无奈之下,只能去buildroot目录下看看账号密码了。
    make menuconfig
    System configuration  --->
    贴图:
FluxBB bbcode System_configuration界面
    原来还没有设置密码,算了,真的要休息了,明日继续。

最近编辑记录 LinjieGuo (2019-11-05 00:04:40)

离线

#19 2019-11-05 11:20:27

aaayao
会员
注册时间: 2019-10-30
累计积分: 31

Re: 尝试从零构建F1C100s开发环境

楼主加油,正在按前面的教程一步一步来!

离线

#20 2019-11-05 11:26:21

三哥
会员
注册时间: 2018-08-03
累计积分: 26

Re: 尝试从零构建F1C100s开发环境

lol

哈哈,等着学习,楼主厉害了

离线

#21 2019-11-05 21:56:32

LinjieGuo
会员
注册时间: 2019-07-24
累计积分: 46

Re: 尝试从零构建F1C100s开发环境

可以看出我们没有设置密码,直接输入root即可登陆,回到根目录,可以看到熟悉的根目录文件夹,如下图:
FluxBB bbcode login_root界面

最近编辑记录 LinjieGuo (2019-11-05 22:06:45)

离线

#22 2019-11-06 09:58:05

aaayao
会员
注册时间: 2019-10-30
累计积分: 31

Re: 尝试从零构建F1C100s开发环境

楼主,你好:
               我在编译根文件系统时,编译了一个多小时都没有编译完,看日志在下载很多东西,经常请求超时.dl文件夹里已经下载了楼主提供的文件,请问是那里出问题了?上传日志帮忙看看。log.txtQQ图片20191106095627.png

离线

#23 2019-11-06 10:34:17

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 8,155

Re: 尝试从零构建F1C100s开发环境

@aaayao 这个文件下载失败: https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.12.10.tar.xz

你可以手动下载拷贝到 dl/ 目录。

在线

#24 2019-11-06 11:15:22

LinjieGuo
会员
注册时间: 2019-07-24
累计积分: 46

Re: 尝试从零构建F1C100s开发环境

晕哥 说:

@aaayao 这个文件下载失败: https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.12.10.tar.xz

你可以手动下载拷贝到 dl/ 目录。

是的,这个文件复制链接,用迅雷下载,非常快,十来秒就OK了。

离线

#25 2019-11-06 13:41:45

aaayao
会员
注册时间: 2019-10-30
累计积分: 31

Re: 尝试从零构建F1C100s开发环境

我这里下载非常的慢
QQ图片20191106133902.png

离线

#26 2019-11-06 13:43:51

xgui
会员
注册时间: 2019-09-07
累计积分: 142

Re: 尝试从零构建F1C100s开发环境

双十一搬瓦工bwh可能有促销的VPS, 在这上面速度比起墙内快多了。克隆torvalds的Linux仓库最多1分钟搞定。

离线

#27 2019-11-06 16:47:04

aaayao
会员
注册时间: 2019-10-30
累计积分: 31

Re: 尝试从零构建F1C100s开发环境

看来真的要试试在VPS上搭开发环境了。

离线

#28 2019-11-06 16:48:46

aaayao
会员
注册时间: 2019-10-30
累计积分: 31

Re: 尝试从零构建F1C100s开发环境

现在编译了3个小时,还在编译,这根文件系统为什么要编译这么久的?

离线

#29 2019-11-06 16:57:40

aaayao
会员
注册时间: 2019-10-30
累计积分: 31

Re: 尝试从零构建F1C100s开发环境

晕哥 说:

@aaayao 这个文件下载失败: https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.12.10.tar.xz

你可以手动下载拷贝到 dl/ 目录。

下载了linux-4.12.10.tar.xz,放到dl目录里,现在还一直在编译,不知道还要编译多久?

离线

#30 2019-11-06 17:00:14

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 8,155

Re: 尝试从零构建F1C100s开发环境

可能是在编译Qt

在线

#31 2019-11-06 17:20:21

aaayao
会员
注册时间: 2019-10-30
累计积分: 31

Re: 尝试从零构建F1C100s开发环境

QT不是需要的,能不能简单说说只编译根文件系统,需要些什么配置?

离线

#32 2019-11-06 18:14:31

aaayao
会员
注册时间: 2019-10-30
累计积分: 31

Re: 尝试从零构建F1C100s开发环境

QQ图片20191106181151.png
终于编译完成

离线

#33 2019-11-06 20:15:45

LinjieGuo
会员
注册时间: 2019-07-24
累计积分: 46

Re: 尝试从零构建F1C100s开发环境

(3)    测试程序
    既然linux已经能跑起来了,我们编写一个hello.c,编译看能否执行。
    cd ./rootfs
    vi hello.c
   
#include <stdio.h>

int main(void)
{
    printf("hello whycan!\r\n");
    return 0;
}

    gcc编译:gcc -o hello hello.c
    ubuntu中执行:./hello
    输出:hello whycan!
    FluxBB bbcode gcc_hellowhycan

   
    编译到目标板:arm-linux-gnueabi-gcc -o Boardhello hello.c

    因为现在没又什么方便得调试工具,直接打包进根文件系统。
    sudo sh BuildMyImage.sh
    烧录到spiflash中。
    执行程序Boardhello。提示失败,如下图:
    FluxBB bbcode ErrorBoardHello

离线

#34 2019-11-06 20:18:37

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 8,155

Re: 尝试从零构建F1C100s开发环境

你用buildroot下面的工具链就没问题了: output/host/bin/arm-linux-gcc

在线

#35 2019-11-06 20:30:42

LinjieGuo
会员
注册时间: 2019-07-24
累计积分: 46

Re: 尝试从零构建F1C100s开发环境

感谢晕哥的指点,我们操作:
    ../buildroot-2017.08/output/host/bin/arm-linux-gcc -o Boardhello2 hello.c
    依然是打包进根文件系统烧录到单板。
    执行./Boardhello2程序,观察输出。
    FluxBB bbcode BoardHelloOK
    显然是成功了!

最近编辑记录 LinjieGuo (2019-11-06 20:30:58)

离线

#36 2019-11-07 09:19:28

aaayao
会员
注册时间: 2019-10-30
累计积分: 31

Re: 尝试从零构建F1C100s开发环境

xgui 说:

双十一搬瓦工bwh可能有促销的VPS, 在这上面速度比起墙内快多了。克隆torvalds的Linux仓库最多1分钟搞定。

这个方法真好,在VPS上克隆真的非常的快啊!
QQ图片20191107090703.png
QQ图片20191107090823.png
QQ图片20191107082435.png

但是要传回本地就非常的慢了,看来要在VPS上进行编译才行了。编译好之处只传回目标文件。
QQ图片20191107090158.png


可惜现在的搬瓦工都没有以前19刀一年的了,最便宜都要49刀一年。

离线

#37 2019-11-07 09:25:07

xgui
会员
注册时间: 2019-09-07
累计积分: 142

Re: 尝试从零构建F1C100s开发环境

听说搬瓦工今年双十一没有促销了,真是遗憾,我去年双十一买的vps还有几天就到期了,找了好几天也没找到续费菜单。刚刚给客服发了一个Ticket看看能不能以去年的优惠价续费。

离线

#38 2019-11-07 09:55:45

aaayao
会员
注册时间: 2019-10-30
累计积分: 31

Re: 尝试从零构建F1C100s开发环境

搬瓦工现在全部升级到KVM,不能显示续费的,都需要重新购买,旧的VPS都要报废。

离线

#39 2019-11-07 10:36:12

xgui
会员
注册时间: 2019-09-07
累计积分: 142

Re: 尝试从零构建F1C100s开发环境

aaayao 说:

搬瓦工现在全部升级到KVM,不能显示续费的,都需要重新购买,旧的VPS都要报废。

原理如此,多谢提醒。

离线

#40 2019-11-07 13:09:01

LinjieGuo
会员
注册时间: 2019-07-24
累计积分: 46

Re: 尝试从零构建F1C100s开发环境

aaayao 说:
xgui 说:

双十一搬瓦工bwh可能有促销的VPS, 在这上面速度比起墙内快多了。克隆torvalds的Linux仓库最多1分钟搞定。

这个方法真好,在VPS上克隆真的非常的快啊!
https://whycan.cn/files/members/2261/QQ图片20191107090703.png
https://whycan.cn/files/members/2261/QQ图片20191107090823.png
https://whycan.cn/files/members/2261/QQ图片20191107082435.png

但是要传回本地就非常的慢了,看来要在VPS上进行编译才行了。编译好之处只传回目标文件。
https://whycan.cn/files/members/2261/QQ图片20191107090158.png


可惜现在的搬瓦工都没有以前19刀一年的了,最便宜都要49刀一年。

我的uboot是直接在腾讯云的服务器上面执行指令获取的,还算比较快,一下子就好了。

离线

#41 2019-11-07 13:20:03

msr06rr
会员
所在地: 苏州
注册时间: 2018-01-11
累计积分: 148

Re: 尝试从零构建F1C100s开发环境

可以用GitHub Action编译,然后下载最终的固件,超级爽,还不要钱

离线

#42 2019-11-07 13:39:10

xgui
会员
注册时间: 2019-09-07
累计积分: 142

Re: 尝试从零构建F1C100s开发环境

msr06rr 说:

可以用GitHub Action编译,然后下载最终的固件,超级爽,还不要钱

还有这种操作 ^_^


http://www.ruanyifeng.com/blog/2019/09/getting-started-with-github-actions.html

最近编辑记录 xgui (2019-11-07 13:39:18)

离线

#43 2019-11-07 14:05:01

aaayao
会员
注册时间: 2019-10-30
累计积分: 31

Re: 尝试从零构建F1C100s开发环境

楼主,你好:
               按照你的连接下载的内核源码目录里没有 ./arch/arm/boot/dts/suniv-f1c100s-licheepi-nano.dts 这个文件啊?

QQ图片20191107135919.png

离线

#44 2019-11-07 17:53:27

LinjieGuo
会员
注册时间: 2019-07-24
累计积分: 46

Re: 尝试从零构建F1C100s开发环境

aaayao 说:

楼主,你好:
               按照你的连接下载的内核源码目录里没有 ./arch/arm/boot/dts/suniv-f1c100s-licheepi-nano.dts 这个文件啊?

https://whycan.cn/files/members/2261/QQ图片20191107135919.png

稍等,我先看看呢!我搜索了一下,这个文件是存在的,你是不是搞错了呢?dts目录下文件太多,网页里只能显示一部分文件的。
FluxBB bbcode dts_png

最近编辑记录 LinjieGuo (2019-11-07 18:17:53)

离线

#45 2019-11-07 21:00:49

aaayao
会员
注册时间: 2019-10-30
累计积分: 31

Re: 尝试从零构建F1C100s开发环境

我这个suniv-f1c100s-licheepi-nano.dts没有找到&spi0{...}段落,应该在那个位置加上去呢?

// SPDX-License-Identifier: (GPL-2.0+ OR X11)
/*
 * Copyright 2018 Icenowy Zheng <icenowy@aosc.io>
 */

/dts-v1/;
#include "suniv-f1c100s.dtsi"
#include <dt-bindings/gpio/gpio.h>

/ {
	model = "Lichee Pi Nano";
	compatible = "licheepi,licheepi-nano", "allwinner,suniv-f1c100s";

	aliases {
		serial0 = &uart0;
	};

	chosen {
		stdout-path = "serial0:115200n8";
	};

	panel: panel {
		compatible = "qiaodian,qd43003c0-40", "simple-panel";
		#address-cells = <1>;
		#size-cells = <0>;
		enable-gpios = <&pio 4 6 GPIO_ACTIVE_HIGH>;
		power-supply = <&reg_vcc3v3>;

 		port@0 {
			reg = <0>;
			#address-cells = <1>;
			#size-cells = <0>;

 			panel_input: endpoint@0 {
				reg = <0>;
				remote-endpoint = <&tcon0_out_lcd>;
			};
		};
	};

	reg_vcc3v3: vcc3v3 {
		compatible = "regulator-fixed";
		regulator-name = "vcc3v3";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
	};
};

&be0 {
	status = "okay";
};

&de {
	status = "okay";
};

&tcon0 {
	pinctrl-names = "default";
	pinctrl-0 = <&lcd_rgb666_pins>;
	status = "okay";
};

&tcon0_out {
	tcon0_out_lcd: endpoint@0 {
		reg = <0>;
		remote-endpoint = <&panel_input>;
	};
};

&mmc0 {
	vmmc-supply = <&reg_vcc3v3>;
	bus-width = <4>;
	broken-cd;
	status = "okay";
};

&uart0 {
	pinctrl-names = "default";
	pinctrl-0 = <&uart0_pe_pins>;
	status = "okay";
};

&otg_sram {
	status = "okay";
};

&usb_otg {
	dr_mode = "otg";
	status = "okay";
};

&usbphy {
	usb0_id_det-gpio = <&pio 4 2 GPIO_ACTIVE_HIGH>; /* PE2 */
	status = "okay";
};

离线

#46 2019-11-07 21:46:09

LinjieGuo
会员
注册时间: 2019-07-24
累计积分: 46

Re: 尝试从零构建F1C100s开发环境

aaayao 说:

我这个suniv-f1c100s-licheepi-nano.dts没有找到&spi0{...}段落,应该在那个位置加上去呢?

// SPDX-License-Identifier: (GPL-2.0+ OR X11)
/*
 * Copyright 2018 Icenowy Zheng <icenowy@aosc.io>
 */

/dts-v1/;
#include "suniv-f1c100s.dtsi"
#include <dt-bindings/gpio/gpio.h>

/ {
	model = "Lichee Pi Nano";
	compatible = "licheepi,licheepi-nano", "allwinner,suniv-f1c100s";

	aliases {
		serial0 = &uart0;
	};

	chosen {
		stdout-path = "serial0:115200n8";
	};

	panel: panel {
		compatible = "qiaodian,qd43003c0-40", "simple-panel";
		#address-cells = <1>;
		#size-cells = <0>;
		enable-gpios = <&pio 4 6 GPIO_ACTIVE_HIGH>;
		power-supply = <&reg_vcc3v3>;

 		port@0 {
			reg = <0>;
			#address-cells = <1>;
			#size-cells = <0>;

 			panel_input: endpoint@0 {
				reg = <0>;
				remote-endpoint = <&tcon0_out_lcd>;
			};
		};
	};

	reg_vcc3v3: vcc3v3 {
		compatible = "regulator-fixed";
		regulator-name = "vcc3v3";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
	};
};

&be0 {
	status = "okay";
};

&de {
	status = "okay";
};

&tcon0 {
	pinctrl-names = "default";
	pinctrl-0 = <&lcd_rgb666_pins>;
	status = "okay";
};

&tcon0_out {
	tcon0_out_lcd: endpoint@0 {
		reg = <0>;
		remote-endpoint = <&panel_input>;
	};
};

&mmc0 {
	vmmc-supply = <&reg_vcc3v3>;
	bus-width = <4>;
	broken-cd;
	status = "okay";
};

&uart0 {
	pinctrl-names = "default";
	pinctrl-0 = <&uart0_pe_pins>;
	status = "okay";
};

&otg_sram {
	status = "okay";
};

&usb_otg {
	dr_mode = "otg";
	status = "okay";
};

&usbphy {
	usb0_id_det-gpio = <&pio 4 2 GPIO_ACTIVE_HIGH>; /* PE2 */
	status = "okay";
};

其实你只要稍微观察一下就知道结构了。&xx{}都放在大括号外面。

最近编辑记录 LinjieGuo (2019-11-07 21:47:06)

离线

#47 2019-11-07 22:35:03

aaayao
会员
注册时间: 2019-10-30
累计积分: 31

Re: 尝试从零构建F1C100s开发环境

加在下面这个位置,但是编译出错了。

QQ图片20191107223200.png


// SPDX-License-Identifier: (GPL-2.0+ OR X11)
/*
 * Copyright 2018 Icenowy Zheng <icenowy@aosc.io>
 */

/dts-v1/;
#include "suniv-f1c100s.dtsi"
#include <dt-bindings/gpio/gpio.h>

/ {
	model = "Lichee Pi Nano";
	compatible = "licheepi,licheepi-nano", "allwinner,suniv-f1c100s";

	aliases {
		serial0 = &uart0;
	};

	chosen {
		stdout-path = "serial0:115200n8";
	};

	panel: panel {
		compatible = "qiaodian,qd43003c0-40", "simple-panel";
		#address-cells = <1>;
		#size-cells = <0>;
		enable-gpios = <&pio 4 6 GPIO_ACTIVE_HIGH>;
		power-supply = <&reg_vcc3v3>;

 		port@0 {
			reg = <0>;
			#address-cells = <1>;
			#size-cells = <0>;

 			panel_input: endpoint@0 {
				reg = <0>;
				remote-endpoint = <&tcon0_out_lcd>;
			};
		};
	};

	reg_vcc3v3: vcc3v3 {
		compatible = "regulator-fixed";
		regulator-name = "vcc3v3";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
	};
};

&be0 {
	status = "okay";
};

&de {
	status = "okay";
};

&tcon0 {
	pinctrl-names = "default";
	pinctrl-0 = <&lcd_rgb666_pins>;
	status = "okay";
};

&tcon0_out {
	tcon0_out_lcd: endpoint@0 {
		reg = <0>;
		remote-endpoint = <&panel_input>;
	};
};

&mmc0 {
	vmmc-supply = <&reg_vcc3v3>;
	bus-width = <4>;
	broken-cd;
	status = "okay";
};

&uart0 {
	pinctrl-names = "default";
	pinctrl-0 = <&uart0_pe_pins>;
	status = "okay";
};

&otg_sram {
	status = "okay";
};

&usb_otg {
	dr_mode = "otg";
	status = "okay";
};

&spi0 {
    pinctrl-names = "default";
    pinctrl-0 = <&spi0_pins_a>;
    status = "okay";
    spi-max-frequency = <50000000>;
    flash: w25q128@0 {
        #address-cells = <1>;
        #size-cells = <1>;
        compatible = "winbond,w25q128", "jedec,spi-nor";
        reg = <0>;   
        spi-max-frequency = <50000000>;
        partitions {
            compatible = "fixed-partitions";
            #address-cells = <1>;
            #size-cells = <1>;

            partition@0 {
                label = "u-boot";
                reg = <0x000000 0x100000>;
                read-only;
            };

            partition@100000 {
                label = "dtb";
                reg = <0x100000 0x10000>;
                read-only;
            };

            partition@110000 {
                label = "kernel";
                reg = <0x110000 0x400000>;
                read-only;
            };

            partition@510000 {
                label = "rootfs";
                reg = <0x510000 0xAF0000>;
            };
        };
    };
};   

&usbphy {
	usb0_id_det-gpio = <&pio 4 2 GPIO_ACTIVE_HIGH>; /* PE2 */
	status = "okay";
};

离线

#48 2019-11-07 23:37:40

LinjieGuo
会员
注册时间: 2019-07-24
累计积分: 46

Re: 尝试从零构建F1C100s开发环境

aaayao 说:

加在下面这个位置,但是编译出错了。

https://whycan.cn/files/members/2261/QQ图片20191107223200.png


// SPDX-License-Identifier: (GPL-2.0+ OR X11)
/*
 * Copyright 2018 Icenowy Zheng <icenowy@aosc.io>
 */

/dts-v1/;
#include "suniv-f1c100s.dtsi"
#include <dt-bindings/gpio/gpio.h>

/ {
	model = "Lichee Pi Nano";
	compatible = "licheepi,licheepi-nano", "allwinner,suniv-f1c100s";

	aliases {
		serial0 = &uart0;
	};

	chosen {
		stdout-path = "serial0:115200n8";
	};

	panel: panel {
		compatible = "qiaodian,qd43003c0-40", "simple-panel";
		#address-cells = <1>;
		#size-cells = <0>;
		enable-gpios = <&pio 4 6 GPIO_ACTIVE_HIGH>;
		power-supply = <&reg_vcc3v3>;

 		port@0 {
			reg = <0>;
			#address-cells = <1>;
			#size-cells = <0>;

 			panel_input: endpoint@0 {
				reg = <0>;
				remote-endpoint = <&tcon0_out_lcd>;
			};
		};
	};

	reg_vcc3v3: vcc3v3 {
		compatible = "regulator-fixed";
		regulator-name = "vcc3v3";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
	};
};

&be0 {
	status = "okay";
};

&de {
	status = "okay";
};

&tcon0 {
	pinctrl-names = "default";
	pinctrl-0 = <&lcd_rgb666_pins>;
	status = "okay";
};

&tcon0_out {
	tcon0_out_lcd: endpoint@0 {
		reg = <0>;
		remote-endpoint = <&panel_input>;
	};
};

&mmc0 {
	vmmc-supply = <&reg_vcc3v3>;
	bus-width = <4>;
	broken-cd;
	status = "okay";
};

&uart0 {
	pinctrl-names = "default";
	pinctrl-0 = <&uart0_pe_pins>;
	status = "okay";
};

&otg_sram {
	status = "okay";
};

&usb_otg {
	dr_mode = "otg";
	status = "okay";
};

&spi0 {
    pinctrl-names = "default";
    pinctrl-0 = <&spi0_pins_a>;
    status = "okay";
    spi-max-frequency = <50000000>;
    flash: w25q128@0 {
        #address-cells = <1>;
        #size-cells = <1>;
        compatible = "winbond,w25q128", "jedec,spi-nor";
        reg = <0>;   
        spi-max-frequency = <50000000>;
        partitions {
            compatible = "fixed-partitions";
            #address-cells = <1>;
            #size-cells = <1>;

            partition@0 {
                label = "u-boot";
                reg = <0x000000 0x100000>;
                read-only;
            };

            partition@100000 {
                label = "dtb";
                reg = <0x100000 0x10000>;
                read-only;
            };

            partition@110000 {
                label = "kernel";
                reg = <0x110000 0x400000>;
                read-only;
            };

            partition@510000 {
                label = "rootfs";
                reg = <0x510000 0xAF0000>;
            };
        };
    };
};   

&usbphy {
	usb0_id_det-gpio = <&pio 4 2 GPIO_ACTIVE_HIGH>; /* PE2 */
	status = "okay";
};

代码比较工具对比了一下,一模一样,我上我这边的源码给你看看把。能力有限,你多折腾几遍,/笑/哈

linux内核源码链接: https://pan.baidu.com/s/1YpbDNFXn_2QdTh8YIcF_jg 提取码:bc35

最近编辑记录 LinjieGuo (2019-11-07 23:45:47)

离线

#49 2019-11-08 08:18:10

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 8,155

Re: 尝试从零构建F1C100s开发环境

检查 "suniv-f1c100s.dtsi" 等包含文件里面有没有关于 spi0 的定义.

在线

#50 2019-11-08 10:19:49

aaayao
会员
注册时间: 2019-10-30
累计积分: 31

Re: 尝试从零构建F1C100s开发环境

LinjieGuo 说:
aaayao 说:

加在下面这个位置,但是编译出错了。

https://whycan.cn/files/members/2261/QQ图片20191107223200.png


// SPDX-License-Identifier: (GPL-2.0+ OR X11)
/*
 * Copyright 2018 Icenowy Zheng <icenowy@aosc.io>
 */

/dts-v1/;
#include "suniv-f1c100s.dtsi"
#include <dt-bindings/gpio/gpio.h>

/ {
	model = "Lichee Pi Nano";
	compatible = "licheepi,licheepi-nano", "allwinner,suniv-f1c100s";

	aliases {
		serial0 = &uart0;
	};

	chosen {
		stdout-path = "serial0:115200n8";
	};

	panel: panel {
		compatible = "qiaodian,qd43003c0-40", "simple-panel";
		#address-cells = <1>;
		#size-cells = <0>;
		enable-gpios = <&pio 4 6 GPIO_ACTIVE_HIGH>;
		power-supply = <&reg_vcc3v3>;

 		port@0 {
			reg = <0>;
			#address-cells = <1>;
			#size-cells = <0>;

 			panel_input: endpoint@0 {
				reg = <0>;
				remote-endpoint = <&tcon0_out_lcd>;
			};
		};
	};

	reg_vcc3v3: vcc3v3 {
		compatible = "regulator-fixed";
		regulator-name = "vcc3v3";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
	};
};

&be0 {
	status = "okay";
};

&de {
	status = "okay";
};

&tcon0 {
	pinctrl-names = "default";
	pinctrl-0 = <&lcd_rgb666_pins>;
	status = "okay";
};

&tcon0_out {
	tcon0_out_lcd: endpoint@0 {
		reg = <0>;
		remote-endpoint = <&panel_input>;
	};
};

&mmc0 {
	vmmc-supply = <&reg_vcc3v3>;
	bus-width = <4>;
	broken-cd;
	status = "okay";
};

&uart0 {
	pinctrl-names = "default";
	pinctrl-0 = <&uart0_pe_pins>;
	status = "okay";
};

&otg_sram {
	status = "okay";
};

&usb_otg {
	dr_mode = "otg";
	status = "okay";
};

&spi0 {
    pinctrl-names = "default";
    pinctrl-0 = <&spi0_pins_a>;
    status = "okay";
    spi-max-frequency = <50000000>;
    flash: w25q128@0 {
        #address-cells = <1>;
        #size-cells = <1>;
        compatible = "winbond,w25q128", "jedec,spi-nor";
        reg = <0>;   
        spi-max-frequency = <50000000>;
        partitions {
            compatible = "fixed-partitions";
            #address-cells = <1>;
            #size-cells = <1>;

            partition@0 {
                label = "u-boot";
                reg = <0x000000 0x100000>;
                read-only;
            };

            partition@100000 {
                label = "dtb";
                reg = <0x100000 0x10000>;
                read-only;
            };

            partition@110000 {
                label = "kernel";
                reg = <0x110000 0x400000>;
                read-only;
            };

            partition@510000 {
                label = "rootfs";
                reg = <0x510000 0xAF0000>;
            };
        };
    };
};   

&usbphy {
	usb0_id_det-gpio = <&pio 4 2 GPIO_ACTIVE_HIGH>; /* PE2 */
	status = "okay";
};

代码比较工具对比了一下,一模一样,我上我这边的源码给你看看把。能力有限,你多折腾几遍,/笑/哈

linux内核源码链接: https://pan.baidu.com/s/1YpbDNFXn_2QdTh8YIcF_jg 提取码:bc35



感谢楼主提供的内核,编译通过了
QQ图片20191108082626.png
QQ图片20191108082633.jpg

代码不同的地方是在suniv.dtsi里还有相关的SPI配置代码:
        spi0: spi@1c05000 {
            compatible = "allwinner,suniv-spi",
                     "allwinner,sun8i-h3-spi";
            reg = <0x01c05000 0x1000>;
            interrupts = <10>;
            clocks = <&ccu CLK_BUS_SPI0>, <&ccu CLK_BUS_SPI0>;
            clock-names = "ahb", "mod";
            resets = <&ccu RST_BUS_SPI0>;
            status = "disabled";
            #address-cells = <1>;
            #size-cells = <0>;
        };

        spi1: spi@1c06000 {
            compatible = "allwinner,suniv-spi",
                     "allwinner,sun8i-h3-spi";
            reg = <0x01c06000 0x1000>;
            interrupts = <11>;
            clocks = <&ccu CLK_BUS_SPI1>, <&ccu CLK_BUS_SPI1>;
            clock-names = "ahb", "mod";
            resets = <&ccu RST_BUS_SPI1>;
            status = "disabled";
            #address-cells = <1>;
            #size-cells = <0>;
        };

离线

#51 2019-11-08 10:34:38

aaayao
会员
注册时间: 2019-10-30
累计积分: 31

Re: 尝试从零构建F1C100s开发环境

晕哥 说:

检查 "suniv-f1c100s.dtsi" 等包含文件里面有没有关于 spi0 的定义.

谢谢晕哥提醒,原来的这个内核在suniv-f1c100s.dtsi里没有发现SPI0的定义,增加定义后代码如下:

// SPDX-License-Identifier: (GPL-2.0+ OR X11)
/*
 * Copyright 2018 Icenowy Zheng <icenowy@aosc.io>
 * Copyright 2018 Mesih Kilinc <mesihkilinc@gmail.com>
 */

#include <dt-bindings/clock/suniv-ccu-f1c100s.h>
#include <dt-bindings/reset/suniv-ccu-f1c100s.h>

/ {
	#address-cells = <1>;
	#size-cells = <1>;
	interrupt-parent = <&intc>;

	clocks {
		osc24M: clk-24M {
			#clock-cells = <0>;
			compatible = "fixed-clock";
			clock-frequency = <24000000>;
			clock-output-names = "osc24M";
		};

		osc32k: clk-32k {
			#clock-cells = <0>;
			compatible = "fixed-clock";
			clock-frequency = <32768>;
			clock-output-names = "osc32k";
		};
	};

	cpus {
		cpu {
			compatible = "arm,arm926ej-s";
			device_type = "cpu";
		};
	};
	
	de: display-engine {
		compatible = "allwinner,suniv-f1c100s-display-engine";
		allwinner,pipelines = <&fe0>;
		status = "disabled";
	};

	soc {
		compatible = "simple-bus";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;

		sram-controller@1c00000 {
			compatible = "allwinner,suniv-f1c100s-system-control",
				     "allwinner,sun4i-a10-system-control";
			reg = <0x01c00000 0x30>;
			#address-cells = <1>;
			#size-cells = <1>;
			ranges;

			sram_d: sram@10000 {
				compatible = "mmio-sram";
				reg = <0x00010000 0x1000>;
				#address-cells = <1>;
				#size-cells = <1>;
				ranges = <0 0x00010000 0x1000>;

				otg_sram: sram-section@0 {
					compatible = "allwinner,suniv-f1c100s-sram-d",
						     "allwinner,sun4i-a10-sram-d";
					reg = <0x0000 0x1000>;
					status = "disabled";
				};
			};
		};

		spi0: spi@1c05000 {
			compatible = "allwinner,suniv-spi",
				     "allwinner,sun8i-h3-spi";
			reg = <0x01c05000 0x1000>;
			interrupts = <10>;
			clocks = <&ccu CLK_BUS_SPI0>, <&ccu CLK_BUS_SPI0>;
			clock-names = "ahb", "mod";
			resets = <&ccu RST_BUS_SPI0>;
			status = "disabled";
			#address-cells = <1>;
			#size-cells = <0>;
		};

		spi1: spi@1c06000 {
			compatible = "allwinner,suniv-spi",
				     "allwinner,sun8i-h3-spi";
			reg = <0x01c06000 0x1000>;
			interrupts = <11>;
			clocks = <&ccu CLK_BUS_SPI1>, <&ccu CLK_BUS_SPI1>;
			clock-names = "ahb", "mod";
			resets = <&ccu RST_BUS_SPI1>;
			status = "disabled";
			#address-cells = <1>;
			#size-cells = <0>;
		};
		tcon0: lcd-controller@1c0c000 {
			compatible = "allwinner,suniv-f1c100s-tcon";
			reg = <0x01c0c000 0x1000>;
			interrupts = <29>;
			clocks = <&ccu CLK_BUS_LCD>,
				 <&ccu CLK_TCON>;
			clock-names = "ahb",
				      "tcon-ch0";
			clock-output-names = "tcon-pixel-clock";
			resets = <&ccu RST_BUS_LCD>;
			reset-names = "lcd";
			status = "disabled";

			ports {
				#address-cells = <1>;
				#size-cells = <0>;

				tcon0_in: port@0 {
					#address-cells = <1>;
					#size-cells = <0>;
					reg = <0>;

					tcon0_in_be0: endpoint@0 {
						reg = <0>;
						remote-endpoint = <&be0_out_tcon0>;
					};
				};

				tcon0_out: port@1 {
					#address-cells = <1>;
					#size-cells = <0>;
					reg = <1>;
				};
			};
		};

		ccu: clock@1c20000 {
			compatible = "allwinner,suniv-f1c100s-ccu";
			reg = <0x01c20000 0x400>;
			clocks = <&osc24M>, <&osc32k>;
			clock-names = "hosc", "losc";
			#clock-cells = <1>;
			#reset-cells = <1>;
		};

		intc: interrupt-controller@1c20400 {
			compatible = "allwinner,suniv-f1c100s-ic";
			reg = <0x01c20400 0x400>;
			interrupt-controller;
			#interrupt-cells = <1>;
		};

		pio: pinctrl@1c20800 {
			compatible = "allwinner,suniv-f1c100s-pinctrl";
			reg = <0x01c20800 0x400>;
			interrupts = <38>, <39>, <40>;
			clocks = <&ccu CLK_BUS_PIO>, <&osc24M>, <&osc32k>;
			clock-names = "apb", "hosc", "losc";
			gpio-controller;
			interrupt-controller;
			#interrupt-cells = <3>;
			#gpio-cells = <3>;

			uart0_pe_pins: uart0-pe-pins {
				pins = "PE0", "PE1";
				function = "uart0";
			};
			
			lcd_rgb666_pins: lcd-rgb666-pins {
				pins = "PD0", "PD1", "PD2", "PD3", "PD4",
				       "PD5", "PD6", "PD7", "PD8", "PD9",
				       "PD10", "PD11", "PD12", "PD13", "PD14",
				       "PD15", "PD16", "PD17", "PD18", "PD19",
				       "PD20", "PD21";
				function = "lcd";
			};
			
			mmc0_pins: mmc0-pins {
				pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5";
				function = "mmc0";
			};
		};

		timer@1c20c00 {
			compatible = "allwinner,suniv-f1c100s-timer";
			reg = <0x01c20c00 0x90>;
			interrupts = <13>;
			clocks = <&osc24M>;
		};

		mmc0: mmc@1c0f000 {
			compatible = "allwinner,suniv-f1c100s-mmc",
				     "allwinner,sun7i-a20-mmc";
			reg = <0x01c0f000 0x1000>;
			clocks = <&ccu CLK_BUS_MMC0>,
				 <&ccu CLK_MMC0>,
				 <&ccu CLK_MMC0_OUTPUT>,
				 <&ccu CLK_MMC0_SAMPLE>;
			clock-names = "ahb",
					      "mmc",
					      "output",
				    	  "sample";
			resets = <&ccu RST_BUS_MMC0>;
			reset-names = "ahb";
			interrupts = <23>;
			pinctrl-names = "default";
			pinctrl-0 = <&mmc0_pins>;
			status = "disabled";
			#address-cells = <1>;
			#size-cells = <0>;
		};

		wdt: watchdog@1c20ca0 {
			compatible = "allwinner,suniv-f1c100s-wdt",
				     "allwinner,sun4i-a10-wdt";
			reg = <0x01c20ca0 0x20>;
		};

		uart0: serial@1c25000 {
			compatible = "snps,dw-apb-uart";
			reg = <0x01c25000 0x400>;
			interrupts = <1>;
			reg-shift = <2>;
			reg-io-width = <4>;
			clocks = <&ccu CLK_BUS_UART0>;
			resets = <&ccu RST_BUS_UART0>;
			status = "disabled";
		};

		uart1: serial@1c25400 {
			compatible = "snps,dw-apb-uart";
			reg = <0x01c25400 0x400>;
			interrupts = <2>;
			reg-shift = <2>;
			reg-io-width = <4>;
			clocks = <&ccu CLK_BUS_UART1>;
			resets = <&ccu RST_BUS_UART1>;
			status = "disabled";
		};

		uart2: serial@1c25800 {
			compatible = "snps,dw-apb-uart";
			reg = <0x01c25800 0x400>;
			interrupts = <3>;
			reg-shift = <2>;
			reg-io-width = <4>;
			clocks = <&ccu CLK_BUS_UART2>;
			resets = <&ccu RST_BUS_UART2>;
			status = "disabled";
		};
		usb_otg: usb@1c13000 {
			compatible = "allwinner,suniv-musb";
			reg = <0x01c13000 0x0400>;
			clocks = <&ccu CLK_BUS_OTG>;
			resets = <&ccu RST_BUS_OTG>;
			interrupts = <26>;
			interrupt-names = "mc";
			phys = <&usbphy 0>;
			phy-names = "usb";
			extcon = <&usbphy 0>;
			allwinner,sram = <&otg_sram 1>;
			status = "disabled";
		};

		usbphy: phy@1c13400 {
			compatible = "allwinner,suniv-usb-phy";
			reg = <0x01c13400 0x10>;
			reg-names = "phy_ctrl";
			clocks = <&ccu CLK_USB_PHY0>;
			clock-names = "usb0_phy";
			resets = <&ccu RST_USB_PHY0>;
			reset-names = "usb0_reset";
			#phy-cells = <1>;
			status = "disabled";
		};
		fe0: display-frontend@1e00000 {
			compatible = "allwinner,suniv-f1c100s-display-frontend";
			reg = <0x01e00000 0x20000>;
			interrupts = <30>;
			clocks = <&ccu CLK_BUS_DE_FE>, <&ccu CLK_DE_FE>,
				 <&ccu CLK_DRAM_DE_FE>;
			clock-names = "ahb", "mod",
				      "ram";
			resets = <&ccu RST_BUS_DE_FE>;
			status = "disabled";

			ports {
				#address-cells = <1>;
				#size-cells = <0>;

				fe0_out: port@1 {
					#address-cells = <1>;
					#size-cells = <0>;
					reg = <1>;

					fe0_out_be0: endpoint@0 {
						reg = <0>;
						remote-endpoint = <&be0_in_fe0>;
					};
				};
			};
		};

		be0: display-backend@1e60000 {
			compatible = "allwinner,suniv-f1c100s-display-backend";
			reg = <0x01e60000 0x10000>;
			reg-names = "be";
			interrupts = <31>;
			clocks = <&ccu CLK_BUS_DE_BE>, <&ccu CLK_DE_BE>,
				 <&ccu CLK_DRAM_DE_BE>;
			clock-names = "ahb", "mod",
				      "ram";
			resets = <&ccu RST_BUS_DE_BE>;
			reset-names = "be";
			assigned-clocks = <&ccu CLK_DE_BE>;
			assigned-clock-rates = <300000000>;

			ports {
				#address-cells = <1>;
				#size-cells = <0>;

				be0_in: port@0 {
					#address-cells = <1>;
					#size-cells = <0>;
					reg = <0>;

					be0_in_fe0: endpoint@0 {
						reg = <0>;
						remote-endpoint = <&fe0_out_be0>;
					};
				};

				be0_out: port@1 {
					#address-cells = <1>;
					#size-cells = <0>;
					reg = <1>;

					be0_out_tcon0: endpoint@0 {
						reg = <0>;
						remote-endpoint = <&tcon0_in_be0>;
					};
				};
			};
		};
	};
};

但是编译还是出错:

yaoming@yaoming-VirtualBox:~/f1c100s/linux$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- dtbs -j4
  DTC     arch/arm/boot/dts/suniv-f1c100s-licheepi-nano.dtb
arch/arm/boot/dts/suniv-f1c100s.dtsi:74.21-85.5: ERROR (phandle_references): /soc/spi@1c05000: Reference to non-existent node or label "spi0_pins_a"

  also defined at arch/arm/boot/dts/suniv-f1c100s-licheepi-nano.dts:92.7-132.3
ERROR: Input tree has errors, aborting (use -f to force output)
make[2]: *** [arch/arm/boot/dts/suniv-f1c100s-licheepi-nano.dtb] 错误 2
make[1]: *** [dtbs] 错误 2
make: *** [sub-make] 错误 2

离线

#52 2019-11-08 10:50:12

smartcar
会员
注册时间: 2018-02-19
累计积分: 412

Re: 尝试从零构建F1C100s开发环境

看错误提示, 缺 SPI 的引脚定义: spi0_pins_a

离线

#53 2019-11-08 14:28:15

aaayao
会员
注册时间: 2019-10-30
累计积分: 31

Re: 尝试从零构建F1C100s开发环境

smartcar 说:

看错误提示, 缺 SPI 的引脚定义: spi0_pins_a

谢谢提醒,补上了引脚定义,编译通过了

   spi0_pins_a: spi0-pins-pc {
                pins = "PC0", "PC1", "PC2", "PC3";
                function = "spi0";
            };


QQ图片20191108142716.png

离线

#54 2019-11-08 16:14:50

xrff_z
会员
注册时间: 2019-10-10
累计积分: 2

Re: 尝试从零构建F1C100s开发环境

楼主你好。能不能把那个交叉编译工具链 转发一下,下了一天都没有弄下来。

离线

#55 2019-11-09 00:33:35

LinjieGuo
会员
注册时间: 2019-07-24
累计积分: 46

Re: 尝试从零构建F1C100s开发环境

xrff_z 说:

楼主你好。能不能把那个交叉编译工具链 转发一下,下了一天都没有弄下来。

链接:https://pan.baidu.com/s/1j7KIMbqPl8o1zI-VtAu2KQ 提取码:zopc

离线

#56 2019-11-09 11:14:16

aaayao
会员
注册时间: 2019-10-30
累计积分: 31

Re: 尝试从零构建F1C100s开发环境

烧录又遇到问题了,在WIN10下安装了USB驱动,但是烧录时提示找不到设备?
QQ图片20191109111129.png

QQ图片20191109111157.png

离线

#57 2019-11-09 11:17:56

aaayao
会员
注册时间: 2019-10-30
累计积分: 31

Re: 尝试从零构建F1C100s开发环境

Zadig显示的USB ID是对的,驱动也装上了
QQ图片20191109111643.png

离线

#58 2019-11-09 14:59:45

大帅
会员
注册时间: 2019-01-17
累计积分: 24

Re: 尝试从零构建F1C100s开发环境

谢谢分享,可以制作成一个教材了。

最近编辑记录 大帅 (2019-11-09 15:00:06)

离线

#59 2019-11-09 15:33:36

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 8,155

Re: 尝试从零构建F1C100s开发环境

@aaayao 换win7 电脑试一试

在线

#60 2019-11-09 16:58:54

aaayao
会员
注册时间: 2019-10-30
累计积分: 31

Re: 尝试从零构建F1C100s开发环境

晕哥 说:

@aaayao 换win7 电脑试一试

谢谢晕哥提醒,换了另一台WIN10 64位电脑,烧录正常了,但是烧写速度实在也太慢啦!SPIFLASH是W25Q128

QQ图片20191109165334.png

离线

#61 2019-11-09 17:14:36

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 8,155

Re: 尝试从零构建F1C100s开发环境

如果能正常启动,你这个速度已经超过99%的电脑了

在线

#62 2019-11-09 21:27:13

aaayao
会员
注册时间: 2019-10-30
累计积分: 31

Re: 尝试从零构建F1C100s开发环境

启动不了,烧录显示正常的,但FLASH读出来全是0,这个是使用32M的烧录程序,我的FLASH是W25Q128,16M的,可能是这样引起出错了
QQ图片20191109211100.png

另外,如果使用16M的烧录程序,就会出错,烧录不了,读也不行,能测试一下16M的烧录程序是那里有问题吗?
QQ图片20191109212022.png
QQ图片20191109212240.png

最后还发现一个问题,就是外接了USB HUB之后,烧录会提示找不到USB设备,但在WIN的设备管理器里是能看到USB设备的,这个有办法解决吗?

离线

#63 2019-11-09 21:33:09

aaayao
会员
注册时间: 2019-10-30
累计积分: 31

Re: 尝试从零构建F1C100s开发环境

楼主,请问是用25Q128吗?也是用那个16M的烧录程序吗?

离线

#64 2019-11-09 21:57:44

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 8,155

Re: 尝试从零构建F1C100s开发环境

@aaayao  https://whycan.cn/t_444.html 下载1楼最底下那个

----------------------------------------------------------------------
以下是 2018-12-19 更新 (16楼):

为了不再给大家造成困扰,我把文件重新整理了 V3s 和 F1C100s 两个文件夹,

欢迎下载测试: sunxi-tools-win32support_f1c100s_v3s_201812219.7z

在线

#65 2019-11-10 08:27:37

aaayao
会员
注册时间: 2019-10-30
累计积分: 31

Re: 尝试从零构建F1C100s开发环境

晕哥 说:

@aaayao  https://whycan.cn/t_444.html 下载1楼最底下那个

----------------------------------------------------------------------
以下是 2018-12-19 更新 (16楼):

为了不再给大家造成困扰,我把文件重新整理了 V3s 和 F1C100s 两个文件夹,

欢迎下载测试: sunxi-tools-win32support_f1c100s_v3s_201812219.7z


这个接USB HUB之后可以读写了,但是写入之后读出来,还是全0? 难道要换个W25Q256吗?

离线

#66 2019-11-10 08:39:10

aaayao
会员
注册时间: 2019-10-30
累计积分: 31

Re: 尝试从零构建F1C100s开发环境

晕哥 说:

新鲜出炉 windows 版本 32M spi nor flash 版本烧录软件: sunxi-tools-win32-support_f1c100s_32M.7z

测试OK!

这个程序能烧32M的,那也可以烧16M的吗?
我试了烧W25Q128,烧进去正常,但是读出来全部为0。

离线

#67 2019-11-10 08:55:46

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 8,155

Re: 尝试从零构建F1C100s开发环境

可以烧, 你是不是 spi flash 引脚一直都下拉了?进入FEL 就不能下拉.

在线

#68 2019-11-10 12:23:51

aaayao
会员
注册时间: 2019-10-30
累计积分: 31

Re: 尝试从零构建F1C100s开发环境

不用短路FLASH 1、2脚,插上USB就可以烧录和读取,当短路1、2脚再插USB,也是一样的结果

离线

#69 2019-11-10 13:27:02

LinjieGuo
会员
注册时间: 2019-07-24
累计积分: 46

Re: 尝试从零构建F1C100s开发环境

8  编译裸机程序
    获取大神网友(达克罗德)的项目:
    帖子: https://whycan.cn/t_1457.html
   
8.1 获取裸机工程包
    下载: https://whycan.cn/files/members/729/minimal_f1c100s_framebuffer.zip
    上传到ubuntu的f1c100s目录下。
8.2 解压
    unzip minimal_f1c100s_framebuffer.zip
8.3 编译
    cd minimal_f1c100s
    make
    产生以下log:
-------------------------------------------------------
book@book-virtual-machine:~/f1c100s/minimal_f1c100s$ make
mkdir -p build/
mkdir -p build/arch/arm32/lib/
mkdir -p build/driver/
mkdir -p build/lib/
mkdir -p build/machine/
CC main.c
arm-eabi-gcc -Imachine/include -Iarch/arm32/include -Idriver/include -Ilib -march=armv5te -mtune=arm926ej-s -mfloat-abi=soft -marm -mno-thumb-interwork -g -ggdb -Wall -O3 -ffreestanding -std=gnu99 -D__ARM32_ARCH__=5 -D__ARM926EJS__ -c -MD -o build/main.o main.c
make: arm-eabi-gcc: Command not found
Makefile:104: recipe for target 'build/main.o' failed
make: *** [build/main.o] Error 127
book@book-virtual-machine:~/f1c100s/minimal_f1c100s$
-------------------------------------------------------
    处理方法
    (1)安装编译工具
        sudo apt-get install gcc-arm-none-eabi
    (2)修改Makefile
        vi Makefile
        修改"CROSS_COMPILE = arm-enbi-" --> "CROSS_COMPILE ?= arm-enbi-"
    (3) 再次编译
        CROSS_COMPILE=arm-none-eabi- make
    看起来编译出bin文件了,但是仍然有提示错误。
-------------------------------------------------------
copy from `build/firmware.elf' [elf32-littlearm] to `build/firmware.bin' [binary]
Make header information for brom booting
make: execvp: tools/mksunxi/mksunxi: 权限不够
Makefile:73: recipe for target 'build/firmware.bin' failed
make: *** [build/firmware.bin] Error 127
-------------------------------------------------------
    既然权限不够,就给他权限:
    cd tools/mksunxi
    sudo chmod 777 mksunxi
    继续编译:
    CROSS_COMPILE=arm-none-eabi- make
-------------------------------------------------------
book@book-virtual-machine:~/f1c100s/minimal_f1c100s$ CROSS_COMPILE=arm-none-eabi- make
arm-none-eabi-objcopy -v -O binary build/firmware.elf build/firmware.bin
copy from `build/firmware.elf' [elf32-littlearm] to `build/firmware.bin' [binary]
Make header information for brom booting
bootloader size= 1800
The bootloader head has been fixed
-------------------------------------------------------
8.4 烧写验证

离线

#70 2019-11-10 22:36:13

aaayao
会员
注册时间: 2019-10-30
累计积分: 31

Re: 尝试从零构建F1C100s开发环境

楼主,你好:
                能提供一下你的SPI FLASH的型号和规格书吗?我这板子估计是FLASH出问题了。

离线

#71 2019-11-11 09:11:21

LinjieGuo
会员
注册时间: 2019-07-24
累计积分: 46

Re: 尝试从零构建F1C100s开发环境

aaayao 说:

楼主,你好:
                能提供一下你的SPI FLASH的型号和规格书吗?我这板子估计是FLASH出问题了。

我这里用的是winband 25Q128JV50,容量为16MB,应该跟flash无关,淘宝随便买两片,容量一样即可。

离线

#72 2019-11-11 09:48:35

aaayao
会员
注册时间: 2019-10-30
累计积分: 31

Re: 尝试从零构建F1C100s开发环境

晕哥 说:

可以烧, 你是不是 spi flash 引脚一直都下拉了?进入FEL 就不能下拉.

晕哥,我这个NANO板子,SPI FLASH引脚不短接,插上USB就直接识别为FEL模式,这个会是什么问题?

离线

#73 2019-11-11 09:51:35

aaayao
会员
注册时间: 2019-10-30
累计积分: 31

Re: 尝试从零构建F1C100s开发环境

LinjieGuo 说:
aaayao 说:

楼主,你好:
                能提供一下你的SPI FLASH的型号和规格书吗?我这板子估计是FLASH出问题了。

我这里用的是winband 25Q128JV50,容量为16MB,应该跟flash无关,淘宝随便买两片,容量一样即可。

我的也是在淘宝是购买的,型号和楼主的一样。
楼主你这个能正常启动的NANO板子,只插上USB到电脑,电脑会识别成FEL模式吗?不短接FLASH引脚的情况下。

离线

#74 2019-11-11 10:09:58

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 8,155

Re: 尝试从零构建F1C100s开发环境

那是因为你的程序没烧进去,所以再次插入,按流程又进入了usb fel,你现在需要解决为什么没有烧录进去

在线

#75 2019-11-11 15:10:10

aaayao
会员
注册时间: 2019-10-30
累计积分: 31

Re: 尝试从零构建F1C100s开发环境

晕哥 说:

那是因为你的程序没烧进去,所以再次插入,按流程又进入了usb fel,你现在需要解决为什么没有烧录进去

整到无办法了,能读写,但是读出来全是0。

QQ图片20191111114609.png
QQ图片20191111114703.png


现在只能试试在LINUX下面烧写。

最近编辑记录 aaayao (2019-11-11 15:10:38)

离线

#76 2019-11-11 15:14:43

weiyongwill
会员
注册时间: 2019-08-08
累计积分: 4

Re: 尝试从零构建F1C100s开发环境

一次性过了,应该是成功了,串口还没接,显示屏上显示了一个光标在闪烁

离线

#77 2019-11-11 16:11:45

aaayao
会员
注册时间: 2019-10-30
累计积分: 31

Re: 尝试从零构建F1C100s开发环境

楼主,你的是NANO板子吗?FLASH是买回来就焊好的吗?

我这个是买回来要自己焊的FLASH,不知道硬件上会不会有问题?
QQ图片20191111160826.jpg

离线

#78 2019-11-11 17:18:51

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 8,155

Re: 尝试从零构建F1C100s开发环境

注意引脚,不要反了,芯片有个小凹槽的是第一脚。

如果你实在不确定的话,可以买widora的板子,今天包邮,自带了TTL调试,boot键,reset键,焊好了flash。

在线

#79 2019-11-11 17:34:22

aaayao
会员
注册时间: 2019-10-30
累计积分: 31

Re: 尝试从零构建F1C100s开发环境

晕哥 说:

注意引脚,不要反了,芯片有个小凹槽的是第一脚。

如果你实在不确定的话,可以买widora的板子,今天包邮,自带了TTL调试,boot键,reset键,焊好了flash。

晕哥,刚刚拍了一套,等收到看看是不是硬件的问题了。

离线

#80 2019-11-11 19:05:04

LinjieGuo
会员
注册时间: 2019-07-24
累计积分: 46

Re: 尝试从零构建F1C100s开发环境

aaayao 说:

楼主,你的是NANO板子吗?FLASH是买回来就焊好的吗?

我这个是买回来要自己焊的FLASH,不知道硬件上会不会有问题?
https://whycan.cn/files/members/2261/QQ图片20191111160826.jpg

我这里有2个板子,自己做的,还有荔枝派nano,测试都是成功的呢。

离线

#81 昨天 11:26:13

wps_90
会员
注册时间: 2019-11-10
累计积分: 3

Re: 尝试从零构建F1C100s开发环境

能重新打包一个放上来吗,完整能路起来的

离线

#82 昨天 15:29:02

xrff_z
会员
注册时间: 2019-10-10
累计积分: 2

Re: 尝试从零构建F1C100s开发环境

LinjieGuo 说:
xrff_z 说:

楼主你好。能不能把那个交叉编译工具链 转发一下,下了一天都没有弄下来。

链接:https://pan.baidu.com/s/1j7KIMbqPl8o1zI-VtAu2KQ 提取码:zopc

非常感谢:)

离线

页脚