# /usr/bin/amixer -c 0 sset 'Headphone',0 100% unmute
/usr/bin/amixer: relocation error: /lib/libpthread.so.0: symbol , version GLIBC_2.4 not defined in file libc.so.6 with link time reference
# ./printer_run
./printer_run: relocation error: /lib/libpthread.so.0: symbol , version GLIBC_2.4 not defined in file libc.so.6 with link time reference
产品出厂测试是正常的,用户拿到也短暂使用了一阵,后面就不正常了。拿回来,运行程序,报这个问题。是什么问题呀?
离线
没看到 libc.so.6 软连接和 对应的so 文件.
这个是有的。MD5对比了下,libpthread-2.23.so、libpthread.so.0不一样了。lib里边里面其他都一致。
这会是什么原因导致的呢?
最近编辑记录 BMN李 (2019-01-18 14:45:43)
离线
然后用二进制比较软件比较这两个二进制文件,是不是某些位翻转了
beyond compare 本站可以下载,
ultra compare 也可以
使用命令:hexdump -x libpthread-2.23.so
比较结果:(不知道为什么会有*号。。。)
查到了:hexdump输出中只包含*的行表示same as the line above相同。这在-v选项的hexdump的联机帮助页中提到(容易被忽略)。
最近编辑记录 BMN李 (2019-01-18 15:19:15)
离线
有可能全是零, 所以用星号表示了, 你用 楼上那两个比较软件试一试。
hexdump输出中只包含*的行表示same as the line above相同。这在-v选项的hexdump的联机帮助页中提到(容易被忽略)。
怎么中间段全为0了呢?
离线
两个文件, 只有这个 0x2100 - 0x22FF 地方不同吗?
嗯。这两个文件就这一处不一样。有问题的该段全为0。
flash:w25q256JVEQ
最近编辑记录 BMN李 (2019-01-18 15:26:35)
离线
你的 spi clk 时钟频率多少? 50Mhz ?
70Mhz。是不是频率高了?
离线
BMN李 说:晕哥 说:你的 spi clk 时钟频率多少? 50Mhz ?
70Mhz。是不是频率高了?
70Mhz 有点太高了, 如果读写频率不高的话, 降到 10Mhz/20Mhz 试一试.
额额。先前也是测试都正常的,自己手头几个测试机现在都是正常的。结果发出去。。。尴尬。我还是先调低了来看。
离线
https://whycan.cn/files/members/3/QQ20190118153129.jpg
如果调低还不起作用, 那就换 MX 或者 GD 了.
额。我们就是用的winbond的,问题还和图片上的极其相似。难道winbond是个坑。。。:mad: 不行的话就只有换了。
额额。怎么这表情无效勒。
最近编辑记录 BMN李 (2019-01-18 15:50:18)
离线
BMN李 说:晕哥 说:https://whycan.cn/files/members/3/QQ20190118153129.jpg
如果调低还不起作用, 那就换 MX 或者 GD 了.
额。我们就是用的winbond的,问题还和图片上的极其相似。难道winbond是个坑。。。:mad: 不行的话就只有换了。
额额。怎么这表情无效勒。
我用的君正X1000E也有这个问题,我之前用W25Q128FVSG遇到过,偶发,没规律,有时候丢的多有时候丢的少。后来换GD的以后好很多,然而还是出现了几次。
怀疑还是和SPI速率有关系吧,也没法确认。基本上丢的都是动态库之类的,还没遇见过文件系统以外的问题。
你好。你们SPI使用的多少速率呢?
离线
结帖。问题可能有两点。
1.可能是芯片的问题,先前使用的W25q256JVEQ,现在换MX25L25645G使用正常。
2.可能是烧写方式的问题,先前使用的sunxi-fel烧写的,这个说是没校验,烧写完的程序可能不是正确的。现在生产直接烧写flash芯片,带校验。
后面生产就直接换了W25q256JVEQ,直接烧写flash芯片。没有单独去验证。第二点可能性比较大。
离线