您尚未登录。

楼主 #1 2019-04-22 11:59:17

北冥雪
会员
注册时间: 2019-04-08
已发帖子: 43
积分: 43

F1C100s Nano使用一键烧录后出现的问题

1.pngnone.png
如上图,烧录后,写了一个简单的测试程序,总是出现not found 的提示,实在不知道问题出在了哪?

离线

#2 2019-04-22 13:34:31

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,224
积分: 9197

Re: F1C100s Nano使用一键烧录后出现的问题

你的文件系统是 buildroot 生成的吗?用 buildroot 生成的 arm linux gcc 工具链编译应用程序,然后再到 这里跑





离线

#3 2019-04-22 13:37:53

Jin劲
会员
注册时间: 2018-04-06
已发帖子: 217
积分: 217

Re: F1C100s Nano使用一键烧录后出现的问题

实测 的确是工具链问题 应该是用了编译系统不能编译应用的工具链编译应用了

离线

楼主 #4 2019-04-22 13:38:34

北冥雪
会员
注册时间: 2019-04-08
已发帖子: 43
积分: 43

Re: F1C100s Nano使用一键烧录后出现的问题

不是,我是用的他给的资料里面的镜像(Nano_flash_800480.bin),一件烧录的,烧录完我用官方的交叉编译工具编译的一个helloworld测试程序,运行的时候出现的问题

离线

#5 2019-04-22 13:41:02

Jin劲
会员
注册时间: 2018-04-06
已发帖子: 217
积分: 217

Re: F1C100s Nano使用一键烧录后出现的问题

各版本arm-gcc区别与安装:
https://www.jianshu.com/p/fd0103d59d8e

离线

楼主 #6 2019-04-22 13:56:20

北冥雪
会员
注册时间: 2019-04-08
已发帖子: 43
积分: 43

Re: F1C100s Nano使用一键烧录后出现的问题

Jin劲 说:

各版本arm-gcc区别与安装:
https://www.jianshu.com/p/fd0103d59d8e

1_20190422-1354.pngnone_20190422-1354.png
我用的是arm-linux-gnueabi-gcc编译的,但我编译出来的是soft模式的,官方指导手册上给的就是arm-linux-gnueabi-gcc编译器,而且我的板子是arm9的,是不是不匹配啊

最近编辑记录 北冥雪 (2019-04-22 13:57:21)

离线

#7 2019-04-22 13:58:47

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,224
积分: 9197

Re: F1C100s Nano使用一键烧录后出现的问题

arm9 与 armv7-a不匹配吧?





离线

#8 2019-04-22 13:59:33

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,224
积分: 9197

Re: F1C100s Nano使用一键烧录后出现的问题

北冥雪 说:

不是,我是用的他给的资料里面的镜像(Nano_flash_800480.bin),一件烧录的,烧录完我用官方的交叉编译工具编译的一个helloworld测试程序,运行的时候出现的问题

这个哪个官方的工具链?





离线

楼主 #9 2019-04-22 14:00:49

北冥雪
会员
注册时间: 2019-04-08
已发帖子: 43
积分: 43

Re: F1C100s Nano使用一键烧录后出现的问题

none_20190422-1400.png
你看,官方给的就是这个编译器

离线

楼主 #10 2019-04-22 14:02:09

北冥雪
会员
注册时间: 2019-04-08
已发帖子: 43
积分: 43

Re: F1C100s Nano使用一键烧录后出现的问题

晕哥 说:
北冥雪 说:

不是,我是用的他给的资料里面的镜像(Nano_flash_800480.bin),一件烧录的,烧录完我用官方的交叉编译工具编译的一个helloworld测试程序,运行的时候出现的问题

这个哪个官方的工具链?

none_20190422-1401.png
这个

离线

#11 2019-04-22 14:05:39

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,224
积分: 9197

Re: F1C100s Nano使用一键烧录后出现的问题

那你编译的时候加上静态链接试一试:

arm-linux-*-gcc  -o test test.c -static





离线

楼主 #12 2019-04-22 14:40:54

北冥雪
会员
注册时间: 2019-04-08
已发帖子: 43
积分: 43

Re: F1C100s Nano使用一键烧录后出现的问题

none_20190422-1440.png
可以运行了,但是文件有3.8M,运行了好久都没出来。就只是打印了一个hello,world,别的啥都没了

最近编辑记录 北冥雪 (2019-04-22 14:45:41)

离线

#13 2019-04-22 14:53:34

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,224
积分: 9197

Re: F1C100s Nano使用一键烧录后出现的问题

所以你要用编译文件系统的同一套工具链编译应用程序,否则你只能使用静态链接。





离线

楼主 #14 2019-04-23 09:21:08

北冥雪
会员
注册时间: 2019-04-08
已发帖子: 43
积分: 43

Re: F1C100s Nano使用一键烧录后出现的问题

none_20190423-0918.png
我把库文件拷贝到了板子上,然后出现了段错误,但是我编译的代码没有错啊none_20190423-0920.png,就是一个简单的输出,求大佬帮帮忙

离线

#15 2019-04-23 09:28:17

firstman
会员
注册时间: 2019-04-06
已发帖子: 279
积分: 279

Re: F1C100s Nano使用一键烧录后出现的问题

#file test
burn: ELF 32-bit LSB  executable, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped

#arm-linux-readelf -d test

Dynamic section at offset 0xb00c contains 25 entries:
  Tag        Type                         Name/Value
 0x00000001 (NEEDED)                     Shared library: [libgcc_s.so.1]
 0x00000001 (NEEDED)                     Shared library: [libc.so.6]
 0x0000000c (INIT)                       0x8958
 0x0000000d (FINI)                       0x118d4
 0x00000019 (INIT_ARRAY)                 0x1b000
 0x0000001b (INIT_ARRAYSZ)               4 (bytes)
 0x0000001a (FINI_ARRAY)                 0x1b004
 0x0000001c (FINI_ARRAYSZ)               4 (bytes)
 0x00000004 (HASH)                       0x8168
 0x00000005 (STRTAB)                     0x85b0
 0x00000006 (SYMTAB)                     0x82c0
 0x0000000a (STRSZ)                      442 (bytes)
 0x0000000b (SYMENT)                     16 (bytes)
 0x00000015 (DEBUG)                      0x0
 0x00000003 (PLTGOT)                     0x1b0fc
 0x00000002 (PLTRELSZ)                   320 (bytes)
 0x00000014 (PLTREL)                     REL
 0x00000017 (JMPREL)                     0x8818
 0x00000011 (REL)                        0x8808
 0x00000012 (RELSZ)                      16 (bytes)
 0x00000013 (RELENT)                     8 (bytes)
 0x6ffffffe (VERNEED)                    0x87c8
 0x6fffffff (VERNEEDNUM)                 2
 0x6ffffff0 (VERSYM)                     0x876a
 0x00000000 (NULL)                       0x0

电脑执行上面的命令看结果

离线

楼主 #16 2019-04-23 09:45:07

北冥雪
会员
注册时间: 2019-04-08
已发帖子: 43
积分: 43

Re: F1C100s Nano使用一键烧录后出现的问题

firstman 说:

#file test
burn: ELF 32-bit LSB  executable, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped

#arm-linux-readelf -d test

Dynamic section at offset 0xb00c contains 25 entries:
  Tag        Type                         Name/Value
 0x00000001 (NEEDED)                     Shared library: [libgcc_s.so.1]
 0x00000001 (NEEDED)                     Shared library: [libc.so.6]
 0x0000000c (INIT)                       0x8958
 0x0000000d (FINI)                       0x118d4
 0x00000019 (INIT_ARRAY)                 0x1b000
 0x0000001b (INIT_ARRAYSZ)               4 (bytes)
 0x0000001a (FINI_ARRAY)                 0x1b004
 0x0000001c (FINI_ARRAYSZ)               4 (bytes)
 0x00000004 (HASH)                       0x8168
 0x00000005 (STRTAB)                     0x85b0
 0x00000006 (SYMTAB)                     0x82c0
 0x0000000a (STRSZ)                      442 (bytes)
 0x0000000b (SYMENT)                     16 (bytes)
 0x00000015 (DEBUG)                      0x0
 0x00000003 (PLTGOT)                     0x1b0fc
 0x00000002 (PLTRELSZ)                   320 (bytes)
 0x00000014 (PLTREL)                     REL
 0x00000017 (JMPREL)                     0x8818
 0x00000011 (REL)                        0x8808
 0x00000012 (RELSZ)                      16 (bytes)
 0x00000013 (RELENT)                     8 (bytes)
 0x6ffffffe (VERNEED)                    0x87c8
 0x6fffffff (VERNEEDNUM)                 2
 0x6ffffff0 (VERSYM)                     0x876a
 0x00000000 (NULL)                       0x0

电脑执行上面的命令看结果

_20190423093641.png_20190423094335.png

离线

#17 2019-04-23 10:08:31

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,224
积分: 9197

Re: F1C100s Nano使用一键烧录后出现的问题

按你上面的截图,文件看不出什么问题,还是从编译工具链找原因。





离线

楼主 #18 2019-04-23 10:27:42

北冥雪
会员
注册时间: 2019-04-08
已发帖子: 43
积分: 43

Re: F1C100s Nano使用一键烧录后出现的问题

晕哥 说:

按你上面的截图,文件看不出什么问题,还是从编译工具链找原因。

编译的时候,是不是应该用官方提供的交叉编译工具(arm-linux-gnueabi-gcc),执行arm-linux-gnueabi-gcc -o  test test.c,命令输入完也没有报错,然后移植到板子上就出了问题,是不是我移植的过程中出了什么问题啊,我是把二进制文件从虚拟机的共享文件目录拷贝到了桌面,从桌面拷贝到了tf卡,然后把tf卡挂载在板子上运行的。

离线

#19 2019-04-23 10:31:17

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,224
积分: 9197

Re: F1C100s Nano使用一键烧录后出现的问题

北冥雪 说:
晕哥 说:

按你上面的截图,文件看不出什么问题,还是从编译工具链找原因。

编译的时候,是不是应该用官方提供的交叉编译工具(arm-linux-gnueabi-gcc),执行arm-linux-gnueabi-gcc -o  test test.c,命令输入完也没有报错,然后移植到板子上就出了问题,是不是我移植的过程中出了什么问题啊,我是把二进制文件从虚拟机的共享文件目录拷贝到了桌面,从桌面拷贝到了tf卡,然后把tf卡挂载在板子上运行的。

看下是不是这个问题: https://whycan.cn/t_1017.html#p4914

....
2. 编译应用的问题,是因为工具链所附加的库,是面向Cortex A7来编译的;因为假如只编译,不链接: arm-linux-gnueabi-gcc -Q -v -c -mcpu=arm926ej-s hello.c ,然后用readelf -A hello.o,会发现:Tag_CPU_name: "ARM926EJ-S";但只要链接了库,就成了:Tag_CPU_name: "7-A"
....





离线

楼主 #20 2019-04-23 18:08:02

北冥雪
会员
注册时间: 2019-04-08
已发帖子: 43
积分: 43

Re: F1C100s Nano使用一键烧录后出现的问题

none_20190423-1803.png
我尝试着按照他那个方法做了一下,在ct-ng build的时候出现了上面的问题,我也搜了好久,没找到答案。
none_20190423-1806.png
进行ct-ng menuconfig的时候我就只是改了他所说的这些地方

离线

#21 2019-04-23 19:24:45

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,224
积分: 9197

Re: F1C100s Nano使用一键烧录后出现的问题

ng我没有用过,要不试一试这个

按这个套路走一遍: https://whycan.cn/t_2179.html





离线

楼主 #22 2019-04-24 09:28:25

北冥雪
会员
注册时间: 2019-04-08
已发帖子: 43
积分: 43

Re: F1C100s Nano使用一键烧录后出现的问题

晕哥 说:

ng我没有用过,要不试一试这个

按这个套路走一遍: https://whycan.cn/t_2179.html

您当时编译完系统进行测试的时候有没有出现这个情况,就是出现段错误,在板子内不能执行

离线

#23 2019-04-24 09:56:19

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,224
积分: 9197

Re: F1C100s Nano使用一键烧录后出现的问题

我没有出现过.





离线

楼主 #24 2019-04-25 09:52:45

北冥雪
会员
注册时间: 2019-04-08
已发帖子: 43
积分: 43

Re: F1C100s Nano使用一键烧录后出现的问题

none_20190425-0951.png
none_20190425-0949.png我想知道,用交叉编译器编译链接的时候用到的库文件和板子里面带的库文件有什么区别?

离线

#25 2019-04-25 09:58:19

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,224
积分: 9197

Re: F1C100s Nano使用一键烧录后出现的问题

北冥雪 说:

https://whycan.cn/files/members/1579/none_20190425-0951.png
https://whycan.cn/files/members/1579/none_20190425-0949.png

我想知道,用交叉编译器编译链接的时候用到的库文件和板子里面带的库文件有什么区别?

你用的很可能不是同一个 gcc, 意味着板子里面的 libc.so* 对于你自己编译的应用无法配合工作, 导致你的应用需要静态链接才能工作。





离线

楼主 #26 2019-04-25 10:06:29

北冥雪
会员
注册时间: 2019-04-08
已发帖子: 43
积分: 43

Re: F1C100s Nano使用一键烧录后出现的问题

我用的官方提供的镜像包一键烧录的,交叉编译器也是官方提供的,然而编译成的二进制文件还是不能在板子上运行,也就是说官方提供的这两个资源不匹配,用的不是同一个gcc

离线

#27 2019-04-25 10:29:29

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,224
积分: 9197

Re: F1C100s Nano使用一键烧录后出现的问题

对, 很可能是这样.





离线

页脚

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

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