您尚未登录。

楼主 #1 2021-05-03 16:36:49

abin
会员
注册时间: 2021-04-25
已发帖子: 6
积分: 14

新手随手记F1C100S linux bsp编译

参考链接:【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

编译过程出现了@晕哥说的问题
FluxBB bbcode

###查找问题出现的文件位置
FluxBB bbcode

根据错误提示修改 ./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   ###编译


不幸的是,又有新的错误出现,并未能成功编译
FluxBB bbcode

在网络上查找资料后未发现有效过的解决办法,思前想后再次去看了@晕哥的帖子,发现晕哥的项目放的路径是/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)

离线

楼主 #2 2021-05-03 16:38:44

abin
会员
注册时间: 2021-04-25
已发帖子: 6
积分: 14

Re: 新手随手记F1C100S linux bsp编译

烧写验证

安装烧写软件
下载地址:PhoenixSuit_CN_debug.msi
下载地址:sunivw1p1_linux_evb_uart0.img

1、安装后打开软件

2、 一键刷机-》浏览-》选择sunivw1p1_linux_evb_uart0.img文件

3、短接NANO SPIFLASH的 1,4引脚

4、使用USB连接好 NANO板子和电脑,链接正常软件会直接自动进入下载
FluxBB bbcode 测试

如果连接上串口(NANO板子的A2(RXD) A3(TXD)),可以看到烧写日志打印
FluxBB bbcode 测试

烧写成功
FluxBB bbcode 测试

最近编辑记录 abin (2021-05-03 18:06:52)

离线

楼主 #3 2021-05-03 18:14:38

abin
会员
注册时间: 2021-04-25
已发帖子: 6
积分: 14

Re: 新手随手记F1C100S linux bsp编译

果然做事很难能一帆风顺,烧写完板子后并未能正确跑起来,似乎是卡在 boot引导kernel的部分,但是暂时不知道该怎么解决

FluxBB bbcode 测试

最近编辑记录 abin (2021-05-03 18:17:31)

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn