您尚未登录。

楼主 #1 2020-05-01 16:18:59

LinjieGuo
Moderator
注册时间: 2019-07-24
已发帖子: 565
积分: 570
个人网站

尝试从一开发F1C100s应用

尝试从一开发F1C100s应用
    既然尝试从零构建F1C100s开发环境成功,我们便开始开发这个神奇的芯片吧。
在这之前,我们写了一个hello程序,我们是怎么装进文件系统里的呢?拷贝到根文件系统,与uboot,内核打包在一起,然后烧写。显然,这样子影响flash寿命不说,肯定大大的减少了我们的开发效率。所以我们不得不采取一种高效的措施,将文件传输到我们的目标板中。
    废话不多说,随意概括一下,本贴将包含了以下内容:
1、终端传文件给linux


注意,本贴禁止回复"mark"!

注意,本贴禁止回复"mark"!

注意,本贴禁止回复"mark"!

----------------------------------------
1、使用终端传文件给linux
    目标板与外界传文件的方法非多,但是其他方法(NFS启动、wifi传输等),对于我们现在从零构建的工程基础,显然,非常不现实。经过多方面的考虑,最终,选择使用已经能够成功控制单板的串口终端来传输文件。
    网上有一个工具,lrzsz,我们可以获取其源码,编译到目标板中。
(1)获取资源
①lrzsz源码:https://whycan.cn/files/members/1845/lrzsz-0_12_20_tar.gz
②终端工具:https://whycan.cn/files/members/1845/SecureCRT.zip
(2)编译这个lrzsz
①新建一个目录存放这个包
mkdir /home/book/f1c100s/lrzsz
②自己想办法将下载到的lrzsz-0_12_20_tar.gz上传到/home/book/f1c100s/lrzsz目录下。
③进入该目录并解压lrzsz包

cd /home/book/f1c100s/lrzsz
tar -xzvf lrzsz-0_12_20_tar.gz

④进入解压出来的目录

cd lrzsz-0.12.20/

⑤输入一下命令生成配置文件

./configure --cache=arm-linux

⑥明确自己交叉编译工具链的位置
我们使用buildroot输出的交叉编译工具链,与根文件系统一致。我的编译器的目录位于这个路径:
/home/book/f1c100s/buildroot-2017.08/output/host/bin/arm-linux-gcc
⑦使用这个交叉编译工具链,编译它

make CC=/home/book/f1c100s/buildroot-2017.08/output/host/bin/arm-linux-gcc

编译出来,生成了两个文件,复制这两个文件到我们的根文件系统bin目录下

sudo cp ./src/lsz /home/book/f1c100s/rootfs/bin/
sudo cp ./src/lrz /home/book/f1c100s/rootfs/bin/

⑧看看我们有没有缺少什么运行库
==>检查第1个文件

/home/book/f1c100s/buildroot-2017.08/output/host/bin/arm-linux-readelf -d ./src/lsz

可以看到,这个程序依赖于这样的运行库
  标记        类型                         名称/值
0x00000001 (NEEDED)                     共享库:[libc.so.0]
==>检查第2个文件

/home/book/f1c100s/buildroot-2017.08/output/host/bin/arm-linux-readelf -d ./src/lrz

发现依赖库跟第一个一样。
⑨复制依赖库,到根文件系统的lib目录下。
那么问题来了,依赖库放在哪里呢?我们在交叉编译工具链哪里搜索一下:

cd /home/book/f1c100s/buildroot-2017.08/output/host/
find -name "libc.so.0"

结果如下:
./arm-buildroot-linux-uclibcgnueabi/sysroot/lib/libc.so.0

复制这个库文件到根文件目录lib中,

sudo cp /home/book/f1c100s/buildroot-2017.08/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/lib/libc.so.0 /home/book/f1c100s/rootfs/lib/

⑩打包并烧写镜像。

sudo sh /home/book/f1c100s/BuildMyImage.sh

(3)使用这个工具
使用串口CRT工具连接终端,输入命令"lrz",回车,CRT会弹出一个框框,我们可以发送一个文件到目标板
上个图就好了,自己折腾吧。速度有点慢,聊胜于无。(/笑)
Trans

最近编辑记录 LinjieGuo (2020-05-01 16:31:15)

离线

#2 2020-05-01 16:27:08

迪卡
会员
所在地: 河北
注册时间: 2018-11-02
已发帖子: 916
积分: 903
个人网站

Re: 尝试从一开发F1C100s应用

2bde9f523b768d15.png
F1C200S自编译

离线

#3 2020-05-01 17:48:20

kekemuyu
会员
注册时间: 2018-12-13
已发帖子: 841
积分: 721

Re: 尝试从一开发F1C100s应用

串口文件管理器:
https://whycan.cn/t_3327.html
源码:
https://github.com/kekemuyu/gofile

最近编辑记录 kekemuyu (2020-05-01 17:53:28)

离线

楼主 #4 2020-05-02 11:45:33

LinjieGuo
Moderator
注册时间: 2019-07-24
已发帖子: 565
积分: 570
个人网站

Re: 尝试从一开发F1C100s应用

kekemuyu 说:

很多终端工具都支持X/Z modem,很稳定。开发人员使用起来也算方便。

最近编辑记录 LinjieGuo (2020-05-02 11:45:51)

离线

#5 2020-05-02 12:50:01

andrewchen175
会员
注册时间: 2020-04-26
已发帖子: 24
积分: 24

Re: 尝试从一开发F1C100s应用

请问大神,有win10下的开发环境吗
?

离线

#6 2020-05-02 12:59:00

kekemuyu
会员
注册时间: 2018-12-13
已发帖子: 841
积分: 721

Re: 尝试从一开发F1C100s应用

LinjieGuo 说:

很多终端工具都支持X/Z modem,很稳定。开发人员使用起来也算方便。

最好的是通过串口把f1c100s的文件系统挂载到本地电脑,这个有点难搞

离线

#7 2020-05-02 15:00:30

jiangming1399
会员
注册时间: 2018-06-14
已发帖子: 113
积分: 113

Re: 尝试从一开发F1C100s应用

既然用了buildroot,为啥不直接打开这个功能编译呢……

(我个人是喜欢用dropbear来ssh连接到电脑的,只需要设置usb gadget网卡就可以了)

离线

楼主 #8 2020-05-02 15:26:27

LinjieGuo
Moderator
注册时间: 2019-07-24
已发帖子: 565
积分: 570
个人网站

Re: 尝试从一开发F1C100s应用

jiangming1399 说:

既然用了buildroot,为啥不直接打开这个功能编译呢……

(我个人是喜欢用dropbear来ssh连接到电脑的,只需要设置usb gadget网卡就可以了)

没找着...有空搜索一下看看,(/笑)

最近编辑记录 LinjieGuo (2020-05-02 15:27:27)

离线

楼主 #9 2020-05-02 15:45:08

LinjieGuo
Moderator
注册时间: 2019-07-24
已发帖子: 565
积分: 570
个人网站

Re: 尝试从一开发F1C100s应用

感谢万能的坑友,我搜索了一下,buildroot中确实有这个功能,可以通过搜索lrzsz,找到了它位于这个目录中:
Target packages  --->
         Networking applications  --->
                 [v] lrzsz
勾选之后,编译,根文件系统中就有这个工具了。

离线

#10 2020-05-07 01:53:20

Asymptote
会员
注册时间: 2020-05-05
已发帖子: 14
积分: 14

Re: 尝试从一开发F1C100s应用

ums了解一下

离线

#11 2020-05-07 02:04:26

Asymptote
会员
注册时间: 2020-05-05
已发帖子: 14
积分: 14

Re: 尝试从一开发F1C100s应用

利用uboot的ums,通过usb直接将spi nand挂载到pc

离线

#12 2020-05-07 02:07:01

Asymptote
会员
注册时间: 2020-05-05
已发帖子: 14
积分: 14

Re: 尝试从一开发F1C100s应用

或者利用nfs通过网络挂载

离线

#13 2020-05-07 08:41:24

ifree64
会员
注册时间: 2019-06-27
已发帖子: 74
积分: 143.5

Re: 尝试从一开发F1C100s应用

我比较懒,选择了32M的Flash做存储,所以还勉强能装下Qt的库,所以就用Qt来开发应用了。
配置好网络与Qt Creator后,可以直接在Qt Creator中将应用发布到开发板上运行。

离线

#14 2020-05-07 09:20:28

dso_2019
会员
注册时间: 2019-10-13
已发帖子: 39
积分: 3.5

Re: 尝试从一开发F1C100s应用

开发板上搭一个FTP服务器,如VSFTPD,电脑直接FTP推送

离线

#15 2020-05-07 11:58:24

XZHDJH
会员
注册时间: 2020-01-18
已发帖子: 37
积分: 37

Re: 尝试从一开发F1C100s应用

才知道lrzsz和ums......

离线

#16 2020-05-08 08:55:16

kq851211
会员
注册时间: 2020-05-01
已发帖子: 47
积分: 31.5

Re: 尝试从一开发F1C100s应用

一直都是用usb,有空试试这方法

离线

#17 2020-05-13 21:01:17

name272
会员
注册时间: 2020-05-13
已发帖子: 10
积分: 0

Re: 尝试从一开发F1C100s应用

请问,编译主线linux时的工具链,跟rootfs有啥区别。为啥混用会有问题?

离线

楼主 #18 2020-05-14 22:27:23

LinjieGuo
Moderator
注册时间: 2019-07-24
已发帖子: 565
积分: 570
个人网站

Re: 尝试从一开发F1C100s应用

name272 说:

请问,编译主线linux时的工具链,跟rootfs有啥区别。为啥混用会有问题?

buildroot生成的根文件系统是用什么工具链,你的应用就应该用什么工具链。这样省事。

离线

#19 2020-05-18 17:05:46

tiandiyixian20
会员
注册时间: 2020-05-17
已发帖子: 10
积分: 10

Re: 尝试从一开发F1C100s应用

Asymptote 说:

利用uboot的ums,通过usb直接将spi nand挂载到pc

ums怎么用呀?连上电脑好像啥都没有,就一个usb设备,没见到盘符

离线

#20 2020-06-15 21:40:45

嵌入式冲
会员
注册时间: 2020-05-24
已发帖子: 138
积分: 110

Re: 尝试从一开发F1C100s应用

这个不能在putty软件用吗,卡住了,没有弹出来

离线

楼主 #21 2020-06-15 21:52:23

LinjieGuo
Moderator
注册时间: 2019-07-24
已发帖子: 565
积分: 570
个人网站

Re: 尝试从一开发F1C100s应用

嵌入式冲 说:

这个不能在putty软件用吗,卡住了,没有弹出来

用Scrt,上面留链接了

最近编辑记录 LinjieGuo (2020-06-15 21:52:44)

离线

#22 2020-06-15 21:57:55

嵌入式冲
会员
注册时间: 2020-05-24
已发帖子: 138
积分: 110

Re: 尝试从一开发F1C100s应用

LinjieGuo 说:

用Scrt,上面留链接了

要许可证,这个要买的吗

离线

#23 2020-06-15 21:58:24

嵌入式冲
会员
注册时间: 2020-05-24
已发帖子: 138
积分: 110

Re: 尝试从一开发F1C100s应用

嵌入式冲 说:

要许可证,这个要买的吗

只能用这个才可以用lrz吗

离线

楼主 #24 2020-06-15 23:30:13

LinjieGuo
Moderator
注册时间: 2019-07-24
已发帖子: 565
积分: 570
个人网站

Re: 尝试从一开发F1C100s应用

嵌入式冲 说:

只能用这个才可以用lrz吗

里面解压出来,有一个bat文件,支持绿色和谐软件的。很多终端软件都支持。自行搜索吧。

离线

#25 2020-06-28 15:47:16

willX
会员
注册时间: 2019-09-06
已发帖子: 40
积分: 24

Re: 尝试从一开发F1C100s应用

感谢楼楼大力支持啊,但是我觉得是不是adb更好用啊?而且速度也快。

离线

楼主 #26 2020-06-28 16:59:26

LinjieGuo
Moderator
注册时间: 2019-07-24
已发帖子: 565
积分: 570
个人网站

Re: 尝试从一开发F1C100s应用

willX 说:

感谢楼楼大力支持啊,但是我觉得是不是adb更好用啊?而且速度也快。

是的,adb速度比较快!

离线

#27 2020-06-29 16:17:43

liuy
会员
注册时间: 2020-06-24
已发帖子: 10
积分: 49

Re: 尝试从一开发F1C100s应用

楼主能不能出一个SPI NAND启动教程啊

离线

#28 2020-07-02 10:37:29

willX
会员
注册时间: 2019-09-06
已发帖子: 40
积分: 24

Re: 尝试从一开发F1C100s应用

LinjieGuo 说:

是的,adb速度比较快!

关于adb功能的启用,在Linux3.14上,楼主有什么好的推荐吗?

我现在打开了usb gadget驱动,usb functionfs驱动,编译好了adbd、adb,但是板子接电脑一直不能识别(一点动静没有)。不明原因啊,痛苦了几天了。
楼主有空帮忙看看,多谢啦。

转 123楼:https://whycan.cn/t_2794.html

willX 说:

麻烦问下,g_ffs.ko 以及adbd都正常生成了。但是启动adbd之后,f1c200s的USB一直没有任何动静,哪位大神能给指点下迷津?

1. lsusb命令,在系统中只能看到一个设备:Bus 001 Device 001: ID 1d6b:0002。下有截图。
2. 系统中没有otg相关节点,所以没办法手动调整USB的host模式。
3. dmesg命令中,有g_ffs musb-hdrc.1.auto: unregistering UDC driver [g_ffs]。下有截图。
4. 已经将PE2改成ACTIVE_LOW了,但是看原理图上PE2 和 USB没有任何联系,不知道为什么要这样改。

https://whycan.cn/files/members/1954/none_20200629-2359.jpg

https://whycan.cn/files/members/1954/dmesg信息.jpg

https://whycan.cn/files/members/1954/otg节点.jpg

https://whycan.cn/files/members/1954/lsusb.jpg

最近编辑记录 willX (2020-07-02 10:39:00)

离线

楼主 #29 2020-07-02 15:46:10

LinjieGuo
Moderator
注册时间: 2019-07-24
已发帖子: 565
积分: 570
个人网站

Re: 尝试从一开发F1C100s应用

liuy 说:

楼主能不能出一个SPI NAND启动教程啊

在论坛里找找,使用支持SPI Nand的Uboot就可以了。

离线

楼主 #30 2020-07-02 15:49:02

LinjieGuo
Moderator
注册时间: 2019-07-24
已发帖子: 565
积分: 570
个人网站

Re: 尝试从一开发F1C100s应用

willX 说:

关于adb功能的启用,在Linux3.14上,楼主有什么好的推荐吗?

我现在打开了usb gadget驱动,usb functionfs驱动,编译好了adbd、adb,但是板子接电脑一直不能识别(一点动静没有)。不明原因啊,痛苦了几天了。
楼主有空帮忙看看,多谢啦。

转 123楼:https://whycan.cn/t_2794.html

不好意思,这个版本我也没搞定。

离线

#31 2020-07-02 15:53:45

哇酷小二
wechat微信:whycan_cn
所在地: 你猜
注册时间: 2020-04-22
已发帖子: 3,378
积分: 1902
个人网站

Re: 尝试从一开发F1C100s应用

willX 说:

关于adb功能的启用,在Linux3.14上,楼主有什么好的推荐吗?

我现在打开了usb gadget驱动,usb functionfs驱动,编译好了adbd、adb,但是板子接电脑一直不能识别(一点动静没有)。不明原因啊,痛苦了几天了。
楼主有空帮忙看看,多谢啦。

转 123楼:https://whycan.cn/t_2794.html

Linux3.4 bsp linux下还没有玩过adb,你现在碰到什么问题呢,把错误信息贴出来或许路过的朋友可以帮到你。





离线

#32 2020-07-09 19:33:32

lz206
会员
注册时间: 2020-07-09
已发帖子: 2
积分: 2

Re: 尝试从一开发F1C100s应用

学习了,学习了,学习了,hhh

离线

楼主 #33 2020-07-10 10:07:31

LinjieGuo
Moderator
注册时间: 2019-07-24
已发帖子: 565
积分: 570
个人网站

Re: 尝试从一开发F1C100s应用

lz206 说:

学习了,学习了,学习了,hhh

你这样水积分可不好喔。

离线

#34 2020-07-10 10:22:03

小熊猫
会员
注册时间: 2020-05-21
已发帖子: 71
积分: 65.5

Re: 尝试从一开发F1C100s应用

liuy 说:

楼主能不能出一个SPI NAND启动教程啊


同求,128M spi nand

离线

#35 2020-07-10 13:23:35

wuwuw
会员
注册时间: 2020-07-08
已发帖子: 18
积分: 31

Re: 尝试从一开发F1C100s应用

学习了学习了,大佬

离线

#36 2020-07-10 15:25:49

pww
会员
注册时间: 2020-07-10
已发帖子: 2
积分: 2

Re: 尝试从一开发F1C100s应用

把错误信息贴出来或许我可以解决。
把错误信息贴出来或许我可以解决。

离线

#37 2020-07-13 17:22:46

XZHDJH
会员
注册时间: 2020-01-18
已发帖子: 37
积分: 37

Re: 尝试从一开发F1C100s应用

LinjieGuo 说:

你这样水积分可不好喔。

像我这种小白也是没办法说出有营养的话的,都是这种哈哈哈

离线

#38 2020-07-15 14:49:00

jared1716
会员
注册时间: 2020-07-15
已发帖子: 2
积分: 2

Re: 尝试从一开发F1C100s应用

请问大神,有没有win10下的开发环境?

离线

楼主 #39 2020-07-15 15:39:23

LinjieGuo
Moderator
注册时间: 2019-07-24
已发帖子: 565
积分: 570
个人网站

Re: 尝试从一开发F1C100s应用

jared1716 说:

请问大神,有没有win10下的开发环境?

使用samba,然后挂载文件系统到win本地,可以使用source insight去编写代码,编写完使用一个sh脚本编译,直接在win下访问linux进行bin文件烧录即可。其他方法,我也没用,不清楚。

最近编辑记录 LinjieGuo (2020-07-15 15:39:44)

离线

#40 2020-07-21 23:55:29

willX
会员
注册时间: 2019-09-06
已发帖子: 40
积分: 24

Re: 尝试从一开发F1C100s应用

麻烦路过的大神移步: 链接:adbd调试故障
这里有详细的adb调试失败截图,帮忙看看哈,多谢多谢。


哇酷小二 说:

Linux3.4 bsp linux下还没有玩过adb,你现在碰到什么问题呢,把错误信息贴出来或许路过的朋友可以帮到你。

最近编辑记录 willX (2020-07-21 23:59:12)

离线

#41 2020-07-22 11:26:44

rongjun
会员
注册时间: 2020-07-21
已发帖子: 8
积分: 8

Re: 尝试从一开发F1C100s应用

楼主有没有试过在Mac下进行编译调试?

离线

#42 2020-07-22 13:58:48

dearsq
会员
注册时间: 2020-07-22
已发帖子: 9
积分: 9

Re: 尝试从一开发F1C100s应用

这个论坛真是人才辈出啊,
新人路过。
从零到一,Mark一下,跟着楼主的教程走一走。~

```
# Here we go
```

离线

楼主 #43 2020-09-18 02:01:12

LinjieGuo
Moderator
注册时间: 2019-07-24
已发帖子: 565
积分: 570
个人网站

Re: 尝试从一开发F1C100s应用

rongjun 说:

楼主有没有试过在Mac下进行编译调试?

没有使用过mac系统呢

离线

#44 2020-11-28 00:10:09

willX
会员
注册时间: 2019-09-06
已发帖子: 40
积分: 24

Re: 尝试从一开发F1C100s应用

楼主,麻烦问下,为什么你编译arm上跑的应用软件时,使用的是:make CC=/home/book/f1c100s/buildroot-2017.08/output/host/bin/arm-linux-gcc
为什么不用直接使用编译kernel时的交叉编译器呢? 比如这个:arm-linux-gnueabi-gcc-7.2.1

   疑问: 为什么会出现两套交叉编译器呢?

离线

楼主 #45 2021-01-12 11:39:10

LinjieGuo
Moderator
注册时间: 2019-07-24
已发帖子: 565
积分: 570
个人网站

Re: 尝试从一开发F1C100s应用

willX 说:

楼主,麻烦问下,为什么你编译arm上跑的应用软件时,使用的是:make CC=/home/book/f1c100s/buildroot-2017.08/output/host/bin/arm-linux-gcc
为什么不用直接使用编译kernel时的交叉编译器呢? 比如这个:arm-linux-gnueabi-gcc-7.2.1

   疑问: 为什么会出现两套交叉编译器呢?

根文件系统是buildroot出来的,buildroot里面自己下载了一个编译器,用来编译根文件系统。
我们的内核是单独编译的,所以有2套编译器。
如果buildroot里包含内核,应该编译器就相同了。
我是这样理解的,根文件系统用什么编译器,应用程序就应该用什么编译器。

最近编辑记录 LinjieGuo (2021-01-12 11:41:34)

离线

#46 2021-01-12 20:13:01

好多问题
会员
注册时间: 2021-01-10
已发帖子: 2
积分: 1.5

Re: 尝试从一开发F1C100s应用

我用的 deepin 写的驱动,内核和 nano 不一样,驱动在nano上用不了,怎么办?

离线

楼主 #47 2021-01-12 20:22:01

LinjieGuo
Moderator
注册时间: 2019-07-24
已发帖子: 565
积分: 570
个人网站

Re: 尝试从一开发F1C100s应用

好多问题 说:

我用的 deepin 写的驱动,内核和 nano 不一样,驱动在nano上用不了,怎么办?

驱动好像是依赖内核文件的,编译的时候makefile包含内核路径。

离线

#48 2021-01-15 13:36:59

LinuxGo
会员
注册时间: 2021-01-07
已发帖子: 88
积分: 120

Re: 尝试从一开发F1C100s应用

你好 linjie
我在编译 的时候出现
l10nflist.c:42:19: fatal error: argz.h: No such file or directory
# include <argz.h>
                   ^
compilation terminated.
make[2]: *** [Makefile:78: l10nflist.o] Error 1
make[2]: Leaving directory '/home/jonsen/f1c100s/lrzsz/lrzsz-0.12.20/intl'
make[1]: *** [Makefile:172: all-recursive] Error 1
make[1]: Leaving directory '/home/jonsen/f1c100s/lrzsz/lrzsz-0.12.20'
make: *** [Makefile:282: all-recursive-am] Error 2


不知如何处理?

LinjieGuo 说:

尝试从一开发F1C100s应用
    既然尝试从零构建F1C100s开发环境成功,我们便开始开发这个神奇的芯片吧。
在这之前,我们写了一个hello程序,我们是怎么装进文件系统里的呢?拷贝到根文件系统,与uboot,内核打包在一起,然后烧写。显然,这样子影响flash寿命不说,肯定大大的减少了我们的开发效率。所以我们不得不采取一种高效的措施,将文件传输到我们的目标板中。
    废话不多说,随意概括一下,本贴将包含了以下内容:
1、终端传文件给linux


注意,本贴禁止回复"mark"!

注意,本贴禁止回复"mark"!

注意,本贴禁止回复"mark"!

----------------------------------------
1、使用终端传文件给linux
    目标板与外界传文件的方法非多,但是其他方法(NFS启动、wifi传输等),对于我们现在从零构建的工程基础,显然,非常不现实。经过多方面的考虑,最终,选择使用已经能够成功控制单板的串口终端来传输文件。
    网上有一个工具,lrzsz,我们可以获取其源码,编译到目标板中。
(1)获取资源
①lrzsz源码:https://whycan.cn/files/members/1845/lrzsz-0_12_20_tar.gz
②终端工具:https://whycan.cn/files/members/1845/SecureCRT.zip
(2)编译这个lrzsz
①新建一个目录存放这个包
mkdir /home/book/f1c100s/lrzsz
②自己想办法将下载到的lrzsz-0_12_20_tar.gz上传到/home/book/f1c100s/lrzsz目录下。
③进入该目录并解压lrzsz包

cd /home/book/f1c100s/lrzsz
tar -xzvf lrzsz-0_12_20_tar.gz

④进入解压出来的目录

cd lrzsz-0.12.20/

⑤输入一下命令生成配置文件

./configure --cache=arm-linux

⑥明确自己交叉编译工具链的位置
我们使用buildroot输出的交叉编译工具链,与根文件系统一致。我的编译器的目录位于这个路径:
/home/book/f1c100s/buildroot-2017.08/output/host/bin/arm-linux-gcc
⑦使用这个交叉编译工具链,编译它

make CC=/home/book/f1c100s/buildroot-2017.08/output/host/bin/arm-linux-gcc

编译出来,生成了两个文件,复制这两个文件到我们的根文件系统bin目录下

sudo cp ./src/lsz /home/book/f1c100s/rootfs/bin/
sudo cp ./src/lrz /home/book/f1c100s/rootfs/bin/

⑧看看我们有没有缺少什么运行库
==>检查第1个文件

/home/book/f1c100s/buildroot-2017.08/output/host/bin/arm-linux-readelf -d ./src/lsz

可以看到,这个程序依赖于这样的运行库
  标记        类型                         名称/值
0x00000001 (NEEDED)                     共享库:[libc.so.0]
==>检查第2个文件

/home/book/f1c100s/buildroot-2017.08/output/host/bin/arm-linux-readelf -d ./src/lrz

发现依赖库跟第一个一样。
⑨复制依赖库,到根文件系统的lib目录下。
那么问题来了,依赖库放在哪里呢?我们在交叉编译工具链哪里搜索一下:

cd /home/book/f1c100s/buildroot-2017.08/output/host/
find -name "libc.so.0"

结果如下:
./arm-buildroot-linux-uclibcgnueabi/sysroot/lib/libc.so.0

复制这个库文件到根文件目录lib中,

sudo cp /home/book/f1c100s/buildroot-2017.08/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/lib/libc.so.0 /home/book/f1c100s/rootfs/lib/

⑩打包并烧写镜像。

sudo sh /home/book/f1c100s/BuildMyImage.sh

(3)使用这个工具
使用串口CRT工具连接终端,输入命令"lrz",回车,CRT会弹出一个框框,我们可以发送一个文件到目标板
上个图就好了,自己折腾吧。速度有点慢,聊胜于无。(/笑)
https://whycan.cn/files/members/1845/none_20200501-1622.png

离线

楼主 #49 2021-01-15 13:40:19

LinjieGuo
Moderator
注册时间: 2019-07-24
已发帖子: 565
积分: 570
个人网站

Re: 尝试从一开发F1C100s应用

LinuxGo 说:

你好 linjie
我在编译 的时候出现
l10nflist.c:42:19: fatal error: argz.h: No such file or directory
# include <argz.h>
                   ^
compilation terminated.
make[2]: *** [Makefile:78: l10nflist.o] Error 1
make[2]: Leaving directory '/home/jonsen/f1c100s/lrzsz/lrzsz-0.12.20/intl'
make[1]: *** [Makefile:172: all-recursive] Error 1
make[1]: Leaving directory '/home/jonsen/f1c100s/lrzsz/lrzsz-0.12.20'
make: *** [Makefile:282: all-recursive-am] Error 2


不知如何处理?

        直接进buildroot里,make menuconfig,然后找到lrzsz这个支持包,勾选上,然后编译。就有了,这种编译的过程学习一下就ok了。

离线

#50 2021-01-15 13:55:33

LinuxGo
会员
注册时间: 2021-01-07
已发帖子: 88
积分: 120

Re: 尝试从一开发F1C100s应用

你好 linjie
问题依旧,,,,
jonsen@ubuntu:~/f1c100s/lrzsz/lrzsz-0.12.20$ sudo make CC=/home/jonsen/f1c100s/buildroot-2017.08/output/host/bin/arm-linux-gcc
make all-recursive
make[1]: Entering directory '/home/jonsen/f1c100s/lrzsz/lrzsz-0.12.20'
Making all in lib
make[2]: Entering directory '/home/jonsen/f1c100s/lrzsz/lrzsz-0.12.20/lib'
/home/jonsen/f1c100s/buildroot-2017.08/output/host/bin/arm-linux-gcc -DHAVE_CONFIG_H -I. -I. -I..   -g -O2 -c long-options.c
long-options.c: In function ‘parse_long_options’:
long-options.c:65:4: warning: implicit declaration of function ‘exit’ [-Wimplicit-function-declaration]
    exit (0);
    ^~~~
long-options.c:65:4: warning: incompatible implicit declaration of built-in function ‘exit’
long-options.c:65:4: note: include ‘<stdlib.h>’ or provide a declaration of ‘exit’
/home/jonsen/f1c100s/buildroot-2017.08/output/host/bin/arm-linux-gcc -DHAVE_CONFIG_H -I. -I. -I..   -g -O2 -c xstrtol.c
/home/jonsen/f1c100s/buildroot-2017.08/output/host/bin/arm-linux-gcc -DHAVE_CONFIG_H -I. -I. -I..   -g -O2 -c xstrtoul.c
/home/jonsen/f1c100s/buildroot-2017.08/output/host/bin/arm-linux-gcc -DHAVE_CONFIG_H -I. -I. -I..   -g -O2 -c error.c
rm -f libzmodem.a
ar cru libzmodem.a long-options.o xstrtol.o xstrtoul.o error.o
ar: `u' modifier ignored since `D' is the default (see `U')
ranlib libzmodem.a
make[2]: Leaving directory '/home/jonsen/f1c100s/lrzsz/lrzsz-0.12.20/lib'
Making all in intl
make[2]: Entering directory '/home/jonsen/f1c100s/lrzsz/lrzsz-0.12.20/intl'
/home/jonsen/f1c100s/buildroot-2017.08/output/host/bin/arm-linux-gcc -c -DLOCALEDIR=\"/usr/local/share/locale\" -DGNULOCALEDIR=\"/usr/local/share/locale\" -DLOCALE_ALIAS_PATH=\"/usr/local/share/locale:.\" -DHAVE_CONFIG_H -I.. -I. -I../intl -I../lib  -g -O2  intl-compat.c
/home/jonsen/f1c100s/buildroot-2017.08/output/host/bin/arm-linux-gcc -c -DLOCALEDIR=\"/usr/local/share/locale\" -DGNULOCALEDIR=\"/usr/local/share/locale\" -DLOCALE_ALIAS_PATH=\"/usr/local/share/locale:.\" -DHAVE_CONFIG_H -I.. -I. -I../intl -I../lib  -g -O2  bindtextdom.c
/home/jonsen/f1c100s/buildroot-2017.08/output/host/bin/arm-linux-gcc -c -DLOCALEDIR=\"/usr/local/share/locale\" -DGNULOCALEDIR=\"/usr/local/share/locale\" -DLOCALE_ALIAS_PATH=\"/usr/local/share/locale:.\" -DHAVE_CONFIG_H -I.. -I. -I../intl -I../lib  -g -O2  dcgettext.c
/home/jonsen/f1c100s/buildroot-2017.08/output/host/bin/arm-linux-gcc -c -DLOCALEDIR=\"/usr/local/share/locale\" -DGNULOCALEDIR=\"/usr/local/share/locale\" -DLOCALE_ALIAS_PATH=\"/usr/local/share/locale:.\" -DHAVE_CONFIG_H -I.. -I. -I../intl -I../lib  -g -O2  dgettext.c
/home/jonsen/f1c100s/buildroot-2017.08/output/host/bin/arm-linux-gcc -c -DLOCALEDIR=\"/usr/local/share/locale\" -DGNULOCALEDIR=\"/usr/local/share/locale\" -DLOCALE_ALIAS_PATH=\"/usr/local/share/locale:.\" -DHAVE_CONFIG_H -I.. -I. -I../intl -I../lib  -g -O2  gettext.c
/home/jonsen/f1c100s/buildroot-2017.08/output/host/bin/arm-linux-gcc -c -DLOCALEDIR=\"/usr/local/share/locale\" -DGNULOCALEDIR=\"/usr/local/share/locale\" -DLOCALE_ALIAS_PATH=\"/usr/local/share/locale:.\" -DHAVE_CONFIG_H -I.. -I. -I../intl -I../lib  -g -O2  finddomain.c
/home/jonsen/f1c100s/buildroot-2017.08/output/host/bin/arm-linux-gcc -c -DLOCALEDIR=\"/usr/local/share/locale\" -DGNULOCALEDIR=\"/usr/local/share/locale\" -DLOCALE_ALIAS_PATH=\"/usr/local/share/locale:.\" -DHAVE_CONFIG_H -I.. -I. -I../intl -I../lib  -g -O2  loadmsgcat.c
/home/jonsen/f1c100s/buildroot-2017.08/output/host/bin/arm-linux-gcc -c -DLOCALEDIR=\"/usr/local/share/locale\" -DGNULOCALEDIR=\"/usr/local/share/locale\" -DLOCALE_ALIAS_PATH=\"/usr/local/share/locale:.\" -DHAVE_CONFIG_H -I.. -I. -I../intl -I../lib  -g -O2  localealias.c
/home/jonsen/f1c100s/buildroot-2017.08/output/host/bin/arm-linux-gcc -c -DLOCALEDIR=\"/usr/local/share/locale\" -DGNULOCALEDIR=\"/usr/local/share/locale\" -DLOCALE_ALIAS_PATH=\"/usr/local/share/locale:.\" -DHAVE_CONFIG_H -I.. -I. -I../intl -I../lib  -g -O2  textdomain.c
/home/jonsen/f1c100s/buildroot-2017.08/output/host/bin/arm-linux-gcc -c -DLOCALEDIR=\"/usr/local/share/locale\" -DGNULOCALEDIR=\"/usr/local/share/locale\" -DLOCALE_ALIAS_PATH=\"/usr/local/share/locale:.\" -DHAVE_CONFIG_H -I.. -I. -I../intl -I../lib  -g -O2  l10nflist.c
l10nflist.c:42:19: fatal error: argz.h: No such file or directory
# include <argz.h>
                   ^
compilation terminated.
make[2]: *** [Makefile:78: l10nflist.o] Error 1
make[2]: Leaving directory '/home/jonsen/f1c100s/lrzsz/lrzsz-0.12.20/intl'
make[1]: *** [Makefile:172: all-recursive] Error 1
make[1]: Leaving directory '/home/jonsen/f1c100s/lrzsz/lrzsz-0.12.20'
make: *** [Makefile:282: all-recursive-am] Error 2

LinjieGuo 说:
LinuxGo 说:

你好 linjie
我在编译 的时候出现
l10nflist.c:42:19: fatal error: argz.h: No such file or directory
# include <argz.h>
                   ^
compilation terminated.
make[2]: *** [Makefile:78: l10nflist.o] Error 1
make[2]: Leaving directory '/home/jonsen/f1c100s/lrzsz/lrzsz-0.12.20/intl'
make[1]: *** [Makefile:172: all-recursive] Error 1
make[1]: Leaving directory '/home/jonsen/f1c100s/lrzsz/lrzsz-0.12.20'
make: *** [Makefile:282: all-recursive-am] Error 2


不知如何处理?

        直接进buildroot里,make menuconfig,然后找到lrzsz这个支持包,勾选上,然后编译。就有了,这种编译的过程学习一下就ok了。

离线

#51 2021-01-15 14:06:13

LinuxGo
会员
注册时间: 2021-01-07
已发帖子: 88
积分: 120

Re: 尝试从一开发F1C100s应用

你好 linjie
那我重新编译 打包 烧录到芯片后
pc下载 SecureCRT.zip 这个工具就能跑了啊
不用自己装了

LinjieGuo 说:

感谢万能的坑友,我搜索了一下,buildroot中确实有这个功能,可以通过搜索lrzsz,找到了它位于这个目录中:
Target packages  --->
         Networking applications  --->
                 [v] lrzsz
勾选之后,编译,根文件系统中就有这个工具了。

离线

楼主 #52 2021-01-15 14:11:50

LinjieGuo
Moderator
注册时间: 2019-07-24
已发帖子: 565
积分: 570
个人网站

Re: 尝试从一开发F1C100s应用

LinuxGo 说:

你好 linjie
那我重新编译 打包 烧录到芯片后
pc下载 SecureCRT.zip 这个工具就能跑了啊
不用自己装了

LinjieGuo 说:

感谢万能的坑友,我搜索了一下,buildroot中确实有这个功能,可以通过搜索lrzsz,找到了它位于这个目录中:
Target packages  --->
         Networking applications  --->
                 [v] lrzsz
勾选之后,编译,根文件系统中就有这个工具了。

是的,先运行绿色.bat,输入Y,破解,然后退出,找到SecureCRT.exe执行程序,连接串口就ok了。

离线

#53 2021-01-15 14:17:54

LinuxGo
会员
注册时间: 2021-01-07
已发帖子: 88
积分: 120

Re: 尝试从一开发F1C100s应用

我还没法下载,去别的地方下了

LinjieGuo 说:
LinuxGo 说:

你好 linjie
那我重新编译 打包 烧录到芯片后
pc下载 SecureCRT.zip 这个工具就能跑了啊
不用自己装了

LinjieGuo 说:

感谢万能的坑友,我搜索了一下,buildroot中确实有这个功能,可以通过搜索lrzsz,找到了它位于这个目录中:
Target packages  --->
         Networking applications  --->
                 [v] lrzsz
勾选之后,编译,根文件系统中就有这个工具了。

是的,先运行绿色.bat,输入Y,破解,然后退出,找到SecureCRT.exe执行程序,连接串口就ok了。

离线

#54 2021-01-15 14:47:32

LinuxGo
会员
注册时间: 2021-01-07
已发帖子: 88
积分: 120

Re: 尝试从一开发F1C100s应用

你好 linjie
buildroot 里配置了

 Search Results ─
  │ Symbol: BR2_PACKAGE_LRZSZ [=y]    这里                                                                                                                         
  │ Type  : boolean                                                                                                                                               
  │ Prompt: lrzsz                                                                                                                                                 
  │   Location:                                                                                                                                                    
  │     -> Target packages                                                                                                                                         
  │ (1)   -> Networking applications                                                                                                                               
  │   Defined at package/lrzsz/Config.in:1                                                                                                                      
  │   Depends on: !BR2_STATIC_LIBS [=n] 
编译后 在 output/images/rootfs.tar /bin  里没有找到 lrz命令,,,, 
# cd ../
# ls
bin        hello      lib32      media      proc       sbin       usr
dev        hellonano  linuxrc    mnt        root       sys        var
etc        lib        main.c     opt        run        tmp
# cd bin
# ls
ash            dumpkmap       linux64        nice           sh
busybox        echo           ln             pidof          sleep
cat            egrep          login          ping           stty
chattr         false          ls             pipe_progress  su
chgrp          fdflush        lsattr         printenv       sync
chmod          fgrep          mkdir          ps             tar
chown          getopt         mknod          pwd            touch
cp             grep           mktemp         rm             true
cpio           gunzip         more           rmdir          umount
date           gzip           mount          run-parts      uname
dd             hostname       mountpoint     sed            usleep
df             kill           mt             setarch        vi
dmesg          link           mv             setpriv        watch
dnsdomainname  linux32        netstat        setserial      zcat
# lrz
/bin/sh: lrz: not found
# 
LinjieGuo 说:
LinuxGo 说:

你好 linjie
那我重新编译 打包 烧录到芯片后
pc下载 SecureCRT.zip 这个工具就能跑了啊
不用自己装了

LinjieGuo 说:

感谢万能的坑友,我搜索了一下,buildroot中确实有这个功能,可以通过搜索lrzsz,找到了它位于这个目录中:
Target packages  --->
         Networking applications  --->
                 [v] lrzsz
勾选之后,编译,根文件系统中就有这个工具了。

是的,先运行绿色.bat,输入Y,破解,然后退出,找到SecureCRT.exe执行程序,连接串口就ok了。

离线

楼主 #55 2021-01-15 15:17:10

LinjieGuo
Moderator
注册时间: 2019-07-24
已发帖子: 565
积分: 570
个人网站

Re: 尝试从一开发F1C100s应用

LinuxGo 说:

你好 linjie
buildroot 里配置了
Search Results ─
  │ Symbol: BR2_PACKAGE_LRZSZ [=y]    这里                                                                                                                         
  │ Type  : boolean                                                                                                                                               
  │ Prompt: lrzsz                                                                                                                                                 
  │   Location:                                                                                                                                                   
  │     -> Target packages                                                                                                                                         
  │ (1)   -> Networking applications                                                                                                                               
  │   Defined at package/lrzsz/Config.in:1                                                                                                                     
  │   Depends on: !BR2_STATIC_LIBS [=n]
编译后 在 output/images/rootfs.tar /bin  里没有找到 lrz命令,,,,
# cd ../
# ls
bin        hello      lib32      media      proc       sbin       usr
dev        hellonano  linuxrc    mnt        root       sys        var
etc        lib        main.c     opt        run        tmp
# cd bin
# ls
ash            dumpkmap       linux64        nice           sh
busybox        echo           ln             pidof          sleep
cat            egrep          login          ping           stty
chattr         false          ls             pipe_progress  su
chgrp          fdflush        lsattr         printenv       sync
chmod          fgrep          mkdir          ps             tar
chown          getopt         mknod          pwd            touch
cp             grep           mktemp         rm             true
cpio           gunzip         more           rmdir          umount
date           gzip           mount          run-parts      uname
dd             hostname       mountpoint     sed            usleep
df             kill           mt             setarch        vi
dmesg          link           mv             setpriv        watch
dnsdomainname  linux32        netstat        setserial      zcat
# lrz
/bin/sh: lrz: not found
#

LinjieGuo 说:
LinuxGo 说:

你好 linjie
那我重新编译 打包 烧录到芯片后
pc下载 SecureCRT.zip 这个工具就能跑了啊
不用自己装了

是的,先运行绿色.bat,输入Y,破解,然后退出,找到SecureCRT.exe执行程序,连接串口就ok了。

在buildroot里勾选,是可以的喔,我测试过。我电脑在家里,我得晚上回去看看,现在不方便搞f1c100s,你看看是不是勾选错了,或者直接下载我配置好的虚拟机,

最近编辑记录 LinjieGuo (2021-01-15 15:18:24)

离线

#56 2021-01-15 16:35:08

LinuxGo
会员
注册时间: 2021-01-07
已发帖子: 88
积分: 120

Re: 尝试从一开发F1C100s应用

你好 Linjie:
尝试了好几次,make 后 在bin里没看到 lrzsz出来
很奇怪,晚上麻烦看下你那有么有?

LinjieGuo 说:
LinuxGo 说:

你好 linjie
buildroot 里配置了
Search Results ─
  │ Symbol: BR2_PACKAGE_LRZSZ [=y]    这里                                                                                                                         
  │ Type  : boolean                                                                                                                                               
  │ Prompt: lrzsz                                                                                                                                                 
  │   Location:                                                                                                                                                   
  │     -> Target packages                                                                                                                                         
  │ (1)   -> Networking applications                                                                                                                               
  │   Defined at package/lrzsz/Config.in:1                                                                                                                     
  │   Depends on: !BR2_STATIC_LIBS [=n]
编译后 在 output/images/rootfs.tar /bin  里没有找到 lrz命令,,,,
# cd ../
# ls
bin        hello      lib32      media      proc       sbin       usr
dev        hellonano  linuxrc    mnt        root       sys        var
etc        lib        main.c     opt        run        tmp
# cd bin
# ls
ash            dumpkmap       linux64        nice           sh
busybox        echo           ln             pidof          sleep
cat            egrep          login          ping           stty
chattr         false          ls             pipe_progress  su
chgrp          fdflush        lsattr         printenv       sync
chmod          fgrep          mkdir          ps             tar
chown          getopt         mknod          pwd            touch
cp             grep           mktemp         rm             true
cpio           gunzip         more           rmdir          umount
date           gzip           mount          run-parts      uname
dd             hostname       mountpoint     sed            usleep
df             kill           mt             setarch        vi
dmesg          link           mv             setpriv        watch
dnsdomainname  linux32        netstat        setserial      zcat
# lrz
/bin/sh: lrz: not found
#

LinjieGuo 说:

是的,先运行绿色.bat,输入Y,破解,然后退出,找到SecureCRT.exe执行程序,连接串口就ok了。

在buildroot里勾选,是可以的喔,我测试过。我电脑在家里,我得晚上回去看看,现在不方便搞f1c100s,你看看是不是勾选错了,或者直接下载我配置好的虚拟机,

离线

楼主 #57 2021-01-15 17:15:31

LinjieGuo
Moderator
注册时间: 2019-07-24
已发帖子: 565
积分: 570
个人网站

Re: 尝试从一开发F1C100s应用

我使用V3s的buildroot,勾选lrzsz,然后编译,看看有没有。
sinlinx029.png
编译完,重新打包,烧写进单板,启动linux,查看一下有没有,显然,是有的。
sinlinx030.png

最近编辑记录 LinjieGuo (2021-01-15 17:21:52)

离线

楼主 #58 2021-01-15 17:22:29

LinjieGuo
Moderator
注册时间: 2019-07-24
已发帖子: 565
积分: 570
个人网站

Re: 尝试从一开发F1C100s应用

LinuxGo 说:

你好 Linjie:
尝试了好几次,make 后 在bin里没看到 lrzsz出来
很奇怪,晚上麻烦看下你那有么有?

你是不是没有重新打包。还是勾选错了呢?

离线

#59 2021-01-15 18:54:16

LinuxGo
会员
注册时间: 2021-01-07
已发帖子: 88
积分: 120

Re: 尝试从一开发F1C100s应用

LinjieGuo 说:
LinuxGo 说:

你好 Linjie:
尝试了好几次,make 后 在bin里没看到 lrzsz出来
很奇怪,晚上麻烦看下你那有么有?

你是不是没有重新打包。还是勾选错了呢?

没打包,编译出来直接看了output 文件夹下的压缩包。双击打开直接找到bin文件夹里,看了下没有Lrzsz.bin

离线

#60 2021-01-16 14:15:13

LinuxGo
会员
注册时间: 2021-01-07
已发帖子: 88
积分: 120

Re: 尝试从一开发F1C100s应用

你好 LinJie :
哈 ,搞定了;首先感谢下楼主的指引,谢谢!
   具体情况和1楼帖子里描写的有点出入。分享在这里。给后来人引导一下。
1、通过buildroot 里 make menuconfig   搜索 lrzsz ,确定好目录。把lrzsz 改成Y
2、复制rootfs.tar文件到打包目录,并且打包,bin文件烧录
3、启动会出现 mount: you must be root. can't open /dev/console: Permission denied这种错误。
FluxBB bbcode 测试
4、参考这里 https://www.cnblogs.com/Rainingday/p/12483773.html
    修改文件权限,sudo chown root * -R
5、重新打包烧录
6、登录后 SecureCRT  工具里 输入 rz  PC发送文件到板子,sz板子发送文件到pc
    参考这里 https://jingyan.baidu.com/article/91f5db1b7775401c7e05e37b.html

最近编辑记录 LinuxGo (2021-01-16 14:21:53)

离线

#62 2023-06-07 00:19:41

jiabuda
会员
注册时间: 2023-06-05
已发帖子: 24
积分: 9

Re: 尝试从一开发F1C100s应用

我也觉得奇怪,为啥buildroot里面明明有还需要那么折腾,不过让我学到了用buildroot的gcc来编译自己的应用

另外推荐一下开源的windterm串口工具,用熟之后比securecrt要好用,而且是跨平台的

离线

#64 2023-07-06 23:25:49

jiabuda
会员
注册时间: 2023-06-05
已发帖子: 24
积分: 9

Re: 尝试从一开发F1C100s应用

借楼问问,其实除了rz这种,是否有一些更高效的方式来进行开发呢?我现在编译lvgl,每次出来的执行文件都有300多k,传输一次一分钟,有点太慢

离线

楼主 #65 2023-07-09 11:40:10

LinjieGuo
Moderator
注册时间: 2019-07-24
已发帖子: 565
积分: 570
个人网站

Re: 尝试从一开发F1C100s应用

jiabuda 说:

借楼问问,其实除了rz这种,是否有一些更高效的方式来进行开发呢?我现在编译lvgl,每次出来的执行文件都有300多k,传输一次一分钟,有点太慢

用usb adb,论坛里有。

离线

#66 2023-08-04 16:29:10

wuxing0911
会员
注册时间: 2023-07-29
已发帖子: 4
积分: 4

Re: 尝试从一开发F1C100s应用

一直在考虑如何往目标板上传东西,终于找到了

离线

页脚

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

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