荔枝派v3s,看网站做的spi的uboot、内核、文件系统
http://zero.lichee.pro/%E7%B3%BB%E7%BB%9F%E5%BC%80%E5%8F%91/SPI_flash_build.html#id4
现在是uboot启动了,但是,卡在“Starting kernel ...”不动了,这个是怎么回事啊,烧写地址什么的没问题的。
离线
离线
sunxi-fel烧写的时候经常出现下面失败的情况,是因为我的usb线不好吗?
56% [========================== ] 43.6 kB/s, ETA 01:25 usb_bulk_send() ERROR -7: Operation timed out
最近编辑记录 a32425262 (2018-12-04 14:42:28)
离线
离线
a32425262 说:sunxi-fel烧写的时候经常出现下面失败的情况,是因为我的usb线不好吗?
56% [========================== ] 43.6 kB/s, ETA 01:25 usb_bulk_send() ERROR -7: Operation timed out
很有可能, 或者换个USB口, 换台电脑试一试.
我的SPI Flash是w25Q128FV, 我的压根没成功过,不管是ID,还是READ,write,都是
usb_bulk_send() ERROR -7: Operation timed out
但是lsusb显示是
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 013: ID 1f3a:efe8 Onda (unverified) V972 tablet in flashing mode
Bus 002 Device 004: ID 0e0f:0008 VMware, Inc.
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
第二行就应该是啊,是哪地方有问题么?
离线
a32425262 说:sunxi-fel烧写的时候经常出现下面失败的情况,是因为我的usb线不好吗?
56% [========================== ] 43.6 kB/s, ETA 01:25 usb_bulk_send() ERROR -7: Operation timed out
很有可能, 或者换个USB口, 换台电脑试一试.
我下载完sunxi-fel之后,编译完,用/sunxi-fel -p spiflash-info检测spi flash信息的时候,发现,程序在aw_fel_spiflash_info()->spi0_init(),发现spi0_init()就直接返回了,经调试发现,在spi0_init()中,soc_info->soc_id得到的 ID为0x1681,在原始工程里面是没有这个ID的,我手动添加之后,这个SPI0_init()才返回成功。
fel_spiflash.c->spi0_init(feldev_handle *dev):
....
switch (soc_info->soc_id) {
case 0x1625: /* Allwinner A13 */
case 0x1681: /* AllWinner V3s */ /*这个是我后来添加的。*/
case 0x1680: /* Allwinner H3 */
case 0x1718: /* Allwinner H5 */
.......
添加完之后,错误显示的是usb_bulk_send() ERROR -7: Operation timed out
如上的步骤,哪地方是错了吗?谢谢!
最近编辑记录 jinxin16897123 (2018-12-05 00:06:43)
离线
a32425262 说:sunxi-fel烧写的时候经常出现下面失败的情况,是因为我的usb线不好吗?
56% [========================== ] 43.6 kB/s, ETA 01:25 usb_bulk_send() ERROR -7: Operation timed out
很有可能, 或者换个USB口, 换台电脑试一试.
由于采用上述步骤,还是不能正常写入,
我自己用jlink跑裸机代码将sunxi-spl.bin写入8K偏移处,重新断电上电之后,还是不能正常启动,这个文件我测过,利用jlink将其加载到SRAM ,是可以正常工作并在串口有输出的,现在没有任何输出,有什么可能的原因呢?十分感谢,我已经弄了很长时间,不知道问题在哪!
离线
晕哥 说:a32425262 说:sunxi-fel烧写的时候经常出现下面失败的情况,是因为我的usb线不好吗?
很有可能, 或者换个USB口, 换台电脑试一试.
由于采用上述步骤,还是不能正常写入,
我自己用jlink跑裸机代码将sunxi-spl.bin写入8K偏移处,重新断电上电之后,还是不能正常启动,这个文件我测过,利用jlink将其加载到SRAM ,是可以正常工作并在串口有输出的,现在没有任何输出,有什么可能的原因呢?十分感谢,我已经弄了很长时间,不知道问题在哪!
JLINK没有flash读写算法,所以你没有写进flash,当然不可能断电启动了。
usb_bulk_send() ERROR -7: Operation timed out
换一条手机原装USB线,如果没有就淘宝上面绿联官方旗舰店买USB线,或者换个USB口, 换台电脑试一试.
离线
jinxin16897123 说:晕哥 说:很有可能, 或者换个USB口, 换台电脑试一试.
由于采用上述步骤,还是不能正常写入,
我自己用jlink跑裸机代码将sunxi-spl.bin写入8K偏移处,重新断电上电之后,还是不能正常启动,这个文件我测过,利用jlink将其加载到SRAM ,是可以正常工作并在串口有输出的,现在没有任何输出,有什么可能的原因呢?十分感谢,我已经弄了很长时间,不知道问题在哪!JLINK没有flash读写算法,所以你没有写进flash,当然不可能断电启动了。
usb_bulk_send() ERROR -7: Operation timed out
换一条手机原装USB线,如果没有就淘宝上面绿联官方旗舰店买USB线,或者换个USB口, 换台电脑试一试.
如果能枚举出设备的话,USB线应该没问题吧?换了好几根线,也换了好几个USB口,都是一样的,而且USB线连接Android手机都能正常拷贝手机文件。
我是用segger embedded studio + Jlink 跑裸机代码,这个逻辑代码可以读、写、擦除SPIFlash,SPIFlash都能读出来的 ,我用这个逻辑代码将sunxi-spl.bin写入8K偏移处,并且再读取出来和文件对比都是一样的,也不能正常启动。
有什么其他的原因可以查吗?
最近编辑记录 jinxin16897123 (2018-12-05 21:47:40)
离线
这个地方本来有一个zImage解压失败/成功的提示信息,但是没有启动early print 所以没有显示,一直挂在这里.
应该是zImage 有问题了, 用 sunxi-fel -p spiflash-read 0x110000 大小 read.bin 读回来和 zImage 比较,看是不是一致的。
你好,我做的u-boot spi 不能正常启动,您能把您的u-boot-spi的bin文件给我做个测试吗?
还有sunxi-tool打包给我做个测试吗?我一直不能烧写和启动,想做个对比测试。
十分感谢~
离线
晕哥 说:这个地方本来有一个zImage解压失败/成功的提示信息,但是没有启动early print 所以没有显示,一直挂在这里.
应该是zImage 有问题了, 用 sunxi-fel -p spiflash-read 0x110000 大小 read.bin 读回来和 zImage 比较,看是不是一致的。
你好,我做的u-boot spi 不能正常启动,您能把您的u-boot-spi的bin文件给我做个测试吗?
还有sunxi-tool打包给我做个测试吗?我一直不能烧写和启动,想做个对比测试。
十分感谢~
你这是 f1c100s 主线 linux 吧:
https://whycan.cn/t_1662.html
https://whycan.cn/t_1623.html
从官方正常能跑的固件里面抽出 u-boot, dtb, kernel, jffs2 ,然后一个一个替换试一试。
sunxi-fel 也是按上面的链接做直接 make 就可以了。
离线
晕哥 说:jinxin16897123 说:由于采用上述步骤,还是不能正常写入,
我自己用jlink跑裸机代码将sunxi-spl.bin写入8K偏移处,重新断电上电之后,还是不能正常启动,这个文件我测过,利用jlink将其加载到SRAM ,是可以正常工作并在串口有输出的,现在没有任何输出,有什么可能的原因呢?十分感谢,我已经弄了很长时间,不知道问题在哪!JLINK没有flash读写算法,所以你没有写进flash,当然不可能断电启动了。
usb_bulk_send() ERROR -7: Operation timed out
换一条手机原装USB线,如果没有就淘宝上面绿联官方旗舰店买USB线,或者换个USB口, 换台电脑试一试.
如果能枚举出设备的话,USB线应该没问题吧?换了好几根线,也换了好几个USB口,都是一样的,而且USB线连接Android手机都能正常拷贝手机文件。
我是用segger embedded studio + Jlink 跑裸机代码,这个逻辑代码可以读、写、擦除SPIFlash,SPIFlash都能读出来的 ,我用这个逻辑代码将sunxi-spl.bin写入8K偏移处,并且再读取出来和文件对比都是一样的,也不能正常启动。
有什么其他的原因可以查吗?
https://whycan.cn/t_586.html
这里面怎么写的是要写在8K偏移处?
如果写在8K偏移处,根本就不能启动啊,
写在0的位置才能启动啊。
离线
jinxin16897123 说:晕哥 说:JLINK没有flash读写算法,所以你没有写进flash,当然不可能断电启动了。
usb_bulk_send() ERROR -7: Operation timed out
换一条手机原装USB线,如果没有就淘宝上面绿联官方旗舰店买USB线,或者换个USB口, 换台电脑试一试.
如果能枚举出设备的话,USB线应该没问题吧?换了好几根线,也换了好几个USB口,都是一样的,而且USB线连接Android手机都能正常拷贝手机文件。
我是用segger embedded studio + Jlink 跑裸机代码,这个逻辑代码可以读、写、擦除SPIFlash,SPIFlash都能读出来的 ,我用这个逻辑代码将sunxi-spl.bin写入8K偏移处,并且再读取出来和文件对比都是一样的,也不能正常启动。
有什么其他的原因可以查吗?
https://whycan.cn/t_586.html
这里面怎么写的是要写在8K偏移处?
如果写在8K偏移处,根本就不能启动啊,
写在0的位置才能启动啊。
TF卡/eMMC才需要写到 8K偏移, spi nor flash 不用偏移,直接写到最前面。
离线
jinxin16897123 说:jinxin16897123 说:如果能枚举出设备的话,USB线应该没问题吧?换了好几根线,也换了好几个USB口,都是一样的,而且USB线连接Android手机都能正常拷贝手机文件。
我是用segger embedded studio + Jlink 跑裸机代码,这个逻辑代码可以读、写、擦除SPIFlash,SPIFlash都能读出来的 ,我用这个逻辑代码将sunxi-spl.bin写入8K偏移处,并且再读取出来和文件对比都是一样的,也不能正常启动。
有什么其他的原因可以查吗?
https://whycan.cn/t_586.html
这里面怎么写的是要写在8K偏移处?
如果写在8K偏移处,根本就不能启动啊,
写在0的位置才能启动啊。TF卡/eMMC才需要写到 8K偏移, spi nor flash 不用偏移,直接写到最前面。
是的,我之前弄错了,十分感谢!
离线
我也是参考这个帖子 http://zero.lichee.pro/%E7%B3%BB%E7%BB%9F%E5%BC%80%E5%8F%91/SPI_flash_build.html#id4 怎么编译uboot出错
./arch/arm/include/asm/global_data.h:100:58: error: invalid register name for ‘gd’
#define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd asm ("x18")
^
arch/arm/cpu/armv8/generic_timer.c:12:1: note: in expansion of macro ‘DECLARE_GLOBAL_DATA_PTR’
DECLARE_GLOBAL_DATA_PTR;
^~~~~~~~~~~~~~~~~~~~~~~
make[1]: *** [arch/arm/cpu/armv8/generic_timer.o] Error 1
make: *** [arch/arm/cpu/armv8] Error 2
是怎么回事呢?交叉编译工具是gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf,环境变量已设置好,查看版本正常。
离线
我也是参考这个帖子 http://zero.lichee.pro/%E7%B3%BB%E7%BB%9F%E5%BC%80%E5%8F%91/SPI_flash_build.html#id4 怎么编译uboot出错
./arch/arm/include/asm/global_data.h:100:58: error: invalid register name for ‘gd’
#define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd asm ("x18")
^
arch/arm/cpu/armv8/generic_timer.c:12:1: note: in expansion of macro ‘DECLARE_GLOBAL_DATA_PTR’
DECLARE_GLOBAL_DATA_PTR;
^~~~~~~~~~~~~~~~~~~~~~~
make[1]: *** [arch/arm/cpu/armv8/generic_timer.o] Error 1
make: *** [arch/arm/cpu/armv8] Error 2是怎么回事呢?交叉编译工具是gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf,环境变量已设置好,查看版本正常。
那你参考这个试一试: https://whycan.cn/t_561.html
离线
buildroot-2018.08怎么配置从SPI flash启动?
离线
buildroot-2018.08怎么配置从SPI flash启动?
从哪里启动是 u-boot 的 bootcmd 环境变量决定的, 和buildroot 没有关系.
你可以有几个办法:
1. 修改 include/configs/sun8i.h 在这里加入 CONFIG_BOOTCOMMAND/CONFIG_BOOTARGS 宏
2. 把做好的环境变量二进制文件烧到 flash 的 0xF0000 偏移处
3.
离线
是啊,是跟buildroot没关系,我现在回到linux源码,make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- 这一步正常,编译了zimage 但是make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- dtbs,没有提示错误,也没有生成dtb文件,现在就卡在这里了。
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- dtbs
CHK include/config/kernel.release
CHK include/generated/uapi/linux/version.h
CHK include/generated/utsrelease.h
CHK include/generated/bounds.h
CHK include/generated/timeconst.h
CHK include/generated/asm-offsets.h
CALL scripts/checksyscalls.sh
CHK scripts/mod/devicetable-offsets.h
后面没有提示是否生成了dtb文件,也没错误信息
离线
卡死在这里, 连命令提示符都没有了吗?
不是卡死。已经结束,但是没有提示,我查了没生成dtb文件,奇怪的是故意在dts文件加些错误,也不提示错误信息
最近编辑记录 psst (2019-01-22 15:03:22)
离线
find . | grep \\.dtb$
一个 dtb 文件都没有生成?
换个虚拟机/环境试一试了.
确实没有,buildroot-2018.08.2可以生成,可以修改这里面的dts,生成一个dtb吗?
离线
离线
晕哥 ,调试串口是UART0吧,是不是2.54插针可以插的两个脚,串口没有输出,波特率115200,我已经按照教程烧写了flashimg.bin,板子没任何反应。目前没有sd卡,usb供电,flash是w25q128,如果烧写的有问题,上电会不会有串口输出?
离线
请问启动log中含有警告:“*** Warning - bad CRC, using default environment” 是说明哪里有问题?
我截取自己串口终端的log:
U-Boot SPL 2017.01-rc2-gdd6e874-dirty (Apr 29 2020 - 21:28:33)
DRAM: 64 MiB
Trying to boot from sunxi SPI
U-Boot 2017.01-rc2-gdd6e874-dirty (Apr 29 2020 - 21:28:33 +0800) Allwinner Technology
CPU: Allwinner V3s (SUN8I 1681)
Model: Lichee Pi Zero
DRAM: 64 MiB
MMC: SUNXI SD/MMC: 0
SF: Detected w25q128bv with page size 256 Bytes, erase size 4 KiB, total 16 MiB
*** Warning - bad CRC, using default environment
In: serial@01c28000
Out: serial@01c28000
Err: serial@01c28000
U-Boot 2017.01-rc2-gdd6e874-dirty (Apr 29 2020 - 21:28:33 +0800) Allwinner Technology
CPU: Allwinner V3s (SUN8I 1681)
Model: Lichee Pi Zero
DRAM: 64 MiB
MMC: SUNXI SD/MMC: 0
SF: Detected w25q128bv with page size 256 Bytes, erase size 4 KiB, total 16 MiB
*** Warning - bad CRC, using default environment
In: serial@01c28000
Out: serial@01c28000
Err: serial@01c28000
Net: No ethernet found.
starting USB...
No controllers found
Hit any key to stop autoboot: 0
SF: Detected w25q128bv with page size 256 Bytes, erase size 4 KiB, total 16 MiB
device 0 offset 0x100000, size 0x10000
SF: 65536 bytes @ 0x100000 Read: OK
device 0 offset 0x110000, size 0x400000
SF: 4194304 bytes @ 0x110000 Read: OK
## Flattened Device Tree blob at 41800000
Booting using the fdt blob at 0x41800000
Loading Device Tree to 42dfa000, end 42dffc30 ... OK
Starting kernel ...
最近编辑记录 njitnjit (2020-05-06 13:15:53)
离线
我的16M的还没搞好,围观学习
离线
估计是内核镜像有问题,换一个
离线
我也是自己画了一个板子,然后就卡在把内核这些弄进spiflash,然后从spiflash启动,焦人的很~~~:(
离线
我的V3X的板子,能够读到SPIFLash的型号。但烧写的时候总是失败,提示:usb_bulk_send() error -7: operation timed out;这应该不是线或者电脑的问题吧?可能是其他什么问题呢?
离线
离线