1. 下载并解压缩zadig-2_3_exe.7z (驱动安装), sunxi-tools-win32.7z (该文件删除,已作废!!!)
2. 插入USB线, 短路V3S板子的spi flash 1,4或1,2脚, 上电. 电脑检测到新的usb烧写设备。
3. 打开 zadig, 选择 Options -> List All Devices, 选择全志的设备, 点击安装驱动按钮
4. 命令行跑起来:
----------------------------------------------------------------------
以下是 2018-12-19 更新 (16楼):
为了不再给大家造成困扰,我把文件重新整理了 V3s 和 F1C100s 两个文件夹,
欢迎下载测试: sunxi-tools-win32support_f1c100s_v3s_201812219.7z
----------------------------------------------------------------------
以下是 2019-02-23 更新:
spiflash-read 读flash子命令, 读出来的数据完全是错的.
sunxi-fel -p spiflash-read 0 0x100 readA.bin
sunxi-fel -p spiflash-read 0 0x1000 readA.bin
离线
离线
今天刚好有网友问到Win32平台sunxi-fel软件不知道spi flash的问题,
估计是老外编译的版本当时不支持spiflash.
于是自己动手编译出一个win32版本的,以下是详细过程。
Ubuntu交叉编译Win32版本sunxi-fel:
sudo apt-get install mingw-w64
git clone https://github.com/witwall/mman-win32.git
准备编译支撑软件包:
sudo apt-get install libtoolize
下载 libusb源代码:
git clone https://github.com/libusb/libusb.git
编译libusb源码:
cd libusb
./autogen.sh
./configure --host=i686-w64-mingw32 --prefix=/usr/i686-w64-mingw32/
make
make install
下载sunxi-fel源码:
git clone https://github.com/Icenowy/sunxi-tools.git -b spi-rebase
32MiB spi flash补丁:
AllWinner全志V3s荔枝派zero板子用W25Q256,发现我烧文件系统之后,串口无输出, 直接进入芯片内部的fel
编译sunxi-fel源码:
OS=Windows_NT LDFLAGS="-L/usr/i686-w64-mingw32/lib/ -lws2_32 -lwsock32" CC=i686-w64-mingw32-gcc make
生成exe后拷贝到Windows,执行:
离线
离线
下载源码:
切换分支:
git checkout -b f1c100s-spiflash
支持32M(w25q256, MX25L256等)需要修改源码:AllWinner全志V3s荔枝派zero板子用W25Q256,发现我烧文件系统之后,串口无输出, 直接进入芯片内部的fel
编译指令:
OS=Windows_NT LDFLAGS="-L/usr/i686-w64-mingw32/lib/ -lusb-1.0 -lws2_32 -lwsock32" CFLAGS="-I/usr/i686-w64-mingw32/include/libusb-1.0/" CC=i686-w64-mingw32-gcc make
修改Makefile:
sunxi-fel: fel.c thunks/fel-to-spl-thunk.h $(PROGRESS) $(SOC_INFO) $(FEL_LIB) $(SPI_NOR)
$(CC) $(HOST_CFLAGS) $(LIBUSB_CFLAGS) $(LDFLAGS) -o $@ $(filter %.c,$^) $(LIBS) $(LIBUSB_LIBS)
改为这样:
sunxi-fel: fel.c thunks/fel-to-spl-thunk.h $(PROGRESS) $(SOC_INFO) $(FEL_LIB) $(SPI_NOR)
$(CC) $(HOST_CFLAGS) $(LIBUSB_CFLAGS) -o $@ $(filter %.c,$^) $(LIBS) $(LIBUSB_LIBS) $(LDFLAGS)
据说支持f1c100s 32MB spi flash, 手边没有f1c100s,暂未测试:sunxi-tools-win32(support_f1c100s_32MiB_flash).7z
离线
有朋友说楼上的文件不能识别f1c100s,
那再重新来一次下载源码,编译.
下载sunxi-tools f1c100s分支源码:
git clone https://github.com/Icenowy/sunxi-tools.git -b f1c100s-spiflash
编译libusb:
下载 libusb源代码:
git clone https://github.com/libusb/libusb.git编译libusb源码:
cd libusb
./autogen.sh
./configure --host=i686-w64-mingw32 --prefix=/usr/i686-w64-mingw32/
make
make install
编译 zlib:
1. 下载zlib源码: wget https://zlib.net/zlib-1.2.11.tar.gz
2. tar xvf zlib-1.2.11.tar.gz
3. CC=i686-w64-mingw32-gcc ./configure --prefix=/usr/i686-w64-mingw32/
4. Makefile 删除一行 LDSHAREDLIBC=-lc
5. make; make install
直接用命令行指令编译
i686-w64-mingw32-gcc -std=c99 -Wall -Wextra -Wno-unused-result -D_POSIX_C_SOURCE=200112L -D_BSD_SOURCE -D_DEFAULT_SOURCE -Iinclude/ -DNO_MMAP -I/usr/i686-w64-mingw32/include/libusb-1.0/ -o sunxi-fel.exe fel.c thunk.c progress.c soc_info.c fel_lib.c fel-spiflash.c -lws2_32 -L/usr/i686-w64-mingw32/lib/ -lusb-1.0 -lws2_32 -lwsock32 -lz
Windows平台可执行文件下载: sunxi-tools-win32support_f1c100s_flash_2.7z (已经验证,可以烧录f1c100s 唱戏机与licheepi nano开发板)
Windows 驱动安装方法在1楼.
离线
离线
离线
离线
晕哥 说:为了不再给大家造成困扰,我把文件重新整理了 V3s 和 F1C100s 两个文件夹,
哥:你这个坑挖得太深了,我折腾了几天了,谢谢
实在抱歉,不过挖坑网实至名归
离线
请问下windows下用sunxi-fel是使用哪个烧录命令?是这个sunxi-fel.exe -p spiflash-write c100s.bin?我试了说是无效的命令。
漏了一个 0:
sunxi-fel.exe -p spiflash-write 0 c100s.bin
离线
晕哥 说:loodao 说:哥:你这个坑挖得太深了,我折腾了几天了,谢谢
实在抱歉,不过挖坑网实至名归
晕哥,请问一下,我按照您这个新的Windows工具可以烧录,然后自己写了一个最简单的裸机程序烧录进去后,结果一上电就会自动进入FEL模式,我需要怎么做才能运行裸机程序呢?
烧到 flash 的裸机程序需要符合全志的规则,
要加魔数(eGON.BT0), 长度字节, 和校验码, 都通过之后, BROM才会认为是合法的启动程序(BOOT0)
https://github.com/xboot/xboot/blob/master/developments/sunxi/mksunxi/mksunxi.c
离线
离线
离线
离线