参考链接:【1】step by step 编译全志 f1c100s 官方linux bsp
参考链接:【2】step by step 编译全志 f1c100s 官方linux bsp (重建文件系统已经搞定,详见5楼)
参考链接:@assert 大神移植全志官方f1c100s linux bsp 到licheepi nano
参考链接:尝试从零构建F1C100s开发环境
参考链接:荔枝派Nano 全流程指南
1、下载linux bsp源码
这里下载 @assert 大神移植全志官方f1c100s linux bsp 到licheepi nano 该贴一楼的源码包,由于原帖子链接已失效,这里传上百度云链接:
链接:https://pan.baidu.com/s/1PAAy2OF-9CjdPT-0tAbUOA
提取码:ypq2
下载后解压
tar -jxf f1c600.tar.bz2 -C /opt/
2 、编译安装打包
安装编译过程中需要的依赖组件
sudo apt-get install -y lib32z1 lib32ncurses5 lib32stdc++6 u-boot-tools make g++ gettext python unzip fakeroot bison texinfo bc flex
开始编译
cd /opt/f1c600
###配置
abin@abin:/opt/work/f1c600$ ./build.sh config
Welcome to mkscript setup progress
All available chips:
0. sun50iw1p1
1. sun8iw10p1
2. sun8iw1p1
3. sun8iw3p1
4. sun8iw5p1
5. sun8iw6p1
6. sun8iw7p1
7. sun8iw8p1
8. sun8iw9p1
9. sun9iw1p1
10. sunivw1p1
Choice: 10
All available platforms:
0. android
1. dragonboard
2. linux
3. camdroid
Choice: 2
All available kernel:
0. linux-3.10
Choice: 0
All available boards:
0. evb
Choice: 0
###开始编译
abin@abin:/opt/work/f1c600$ ./build.sh -p sunivw1p1 -k linux-3.10 -m all ###编译
编译过程中 ,工程内的buildroot会联网去下载包(放在buildroot/dl下),受网络影响可能比较慢,有些包地址已丢失会导致下载失败导致编译失败,所以这里传上下载好的包,直接解压拷贝进去即可:
dl百度云地址:
链接:https://pan.baidu.com/s/1NY914xCp95Ks63LneEuFLw
提取码:0hb3
编译过程出现了@晕哥说的问题
###查找问题出现的文件位置
根据错误提示修改 ./out/sunivw1p1/linux/common/buildroot/build/host-m4-1.4.15/lib/stdio.h 中 456行,
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
》》
_GL_WARN_ON_USE (fgets, "gets is a security hole - use fgets instead");
保存退出
继续编译
./build.sh -p sunivw1p1 -k linux-3.10 -m all ###编译
出现了其他的错误
conftest.c:14625: must be after `@defmac' to use `@defmacx'
解决办法:
vi ./out/sunivw1p1/linux/common/buildroot/build/host-autoconf-2.65/doc/autoconf.texi
将第18行和第26行进行以下更改
18 @r{[}@var{\varname\}@r{]}@c ——》 18 @r{[}@var{\varname\}@r{]}
26 @r{[}@var{\varname\} = @samp{\default\}@r{]}@c ——》26 @r{[}@var{\varname\} = @samp{\default\}@r{]}
保存退出并继续编译
./build.sh -p sunivw1p1 -k linux-3.10 -m all ###编译
不幸的是,又有新的错误出现,并未能成功编译
在网络上查找资料后未发现有效过的解决办法,思前想后再次去看了@晕哥的帖子,发现晕哥的项目放的路径是/opt/下,而我在/opt/work下,所以尝试把工程移到/opt下
mv /opt/work/f1c600 /opt/
继续编译 ,果然该问题未再次出现,由于时间问题,暂时先不去研究这个问题,如果有大佬知道怎么修改这个路径,希望不吝赐教,我这里先跳过,暂时先把工程放在/opt/下
###继续编译 ,
./build.sh -p sunivw1p1 -k linux-3.10 -m all ###编译
出现错误
/opt/f1c600/out/sunivw1p1/linux/common/buildroot/build/host-makedevs/makedevs.c: In function ‘main’:
/opt/f1c600/out/sunivw1p1/linux/common/buildroot/build/host-makedevs/makedevs.c:374:6: error: variable ‘ret’ set but not used [-Werror=unused-but-set-variable]
int ret = EXIT_SUCCESS;
^
cc1: all warnings being treated as errors
package/makedevs/makedevs.mk:31: recipe for target '/opt/f1c600/out/sunivw1p1/linux/common/buildroot/build/host-makedevs/makedevs' failed
解决方法:
vi /opt/f1c600/out/sunivw1p1/linux/common/buildroot/build/host-makedevs/makedevs.
修改 545行
545 return 0;
——》
545 return ret;
保存退出
###继续编译 ,
./build.sh -p sunivw1p1 -k linux-3.10 -m all ###编译
打印
make: Leaving directory '/opt/f1c600/buildroot'
INFO: build rootfs OK.
INFO: ----------------------------------------
INFO: build lichee OK.
INFO: ----------------------------------------
编译成功
###接下来执行命令打包
./build.sh pack
----------image is at----------
/opt/f1c600/tools/pack/sunivw1p1_linux_evb_uart0.img
pack finish
打包成功
下面将烧写到nano板子做结果验证
最近编辑记录 abin (2021-05-03 22:34:39)
离线
烧写验证
安装烧写软件
下载地址:PhoenixSuit_CN_debug.msi
下载地址:sunivw1p1_linux_evb_uart0.img
1、安装后打开软件
2、 一键刷机-》浏览-》选择sunivw1p1_linux_evb_uart0.img文件
3、短接NANO SPIFLASH的 1,4引脚
4、使用USB连接好 NANO板子和电脑,链接正常软件会直接自动进入下载
如果连接上串口(NANO板子的A2(RXD) A3(TXD)),可以看到烧写日志打印
烧写成功
最近编辑记录 abin (2021-05-03 18:06:52)
离线
果然做事很难能一帆风顺,烧写完板子后并未能正确跑起来,似乎是卡在 boot引导kernel的部分,但是暂时不知道该怎么解决
最近编辑记录 abin (2021-05-03 18:17:31)
离线