This is all fascinating progress, which leaves me itching to fiddle with the innards of mine. But mine is working OK for me (aside from the awful triggering on slopes) so I'm reluctant to mess it up since I'm actually using it for work.
The comments about lack of a FPU, as an ex-Ti DSP algorithm optimiser I'm like, "these kids and their floating point... back in my day we used fixed point and were forced to love it!" lol
Dude . Don't take it too bad, but adding the chip ID is simply useless. The read/wrire algorithm is pretty different for spi nand.
Not a bug problem. For the SPI nor, you simply throw the read command and the address, and get the data.
For nand, you must fetch the nand page to the output buffer, wait for it to complete, then read the buffer.
Same for writing, for NOR you erase the block and write the data.
For NAND you have to erase the block, send data to the buffer, and send the programming command. And again wait.
That's what I've been doing. Almost working but there are strange bugs with the internal handler, sometimes it doesn't like sending comands.
I guess if it's a timing issue. I don't know but it's driving be mad!
Also, the spi nand as an OTP area. 10pages x 2048Bytes. I didn't check it the contents, but who knows.
As its name says, it's only one-time programmable. Who knows if hantek wrote some unique data there, like calibrations and such.
Other thing I've been trying is to buiild u-boot with usb support. But no way. The documentation is null, so guess what the *** is going on.
Why the hell they added options for sunxi/suniv, if when you enable them you get all kinf of "not defined" or "not implemented" errors
Edit: And now it seems the spi flash os gone. No matter what flash, the dso is dead. Will put the original memory back and bye!
I'm out of here. Burn all that chinese crap down!
Nope, the jedec response is different.
While the nor answers from the 1st bit, the nand the first bit is dummy. The original sunxi-fel code doesn't handle this.
What I do is to read 1 extra byte, check the 1st, if not valid check the 2nd, and start parsing. It works perfect.
Well, "what I need" is relative.
If uboot USB worked, I could set the env to automatically backup the spi. Simple.
Building Linux for a obscure, badly documented soc is a lot of work.
Don't get me wrong, I like hacking.
But also I hate losing my time.
And when the Linux building storm starts, I prefer to spend my time elsewhere.
I'm not used yo compiling kernels, every little crappy code drops errores and I have to ask Google , the fu*** dependencies, or strange build flags, exports...
I'll take the sleep-forever pill thanks!
...
Now I'm looking into this: http://linux-sunxi.org/Miniroot
...
kernel/fs/binfmt_script.ko
kernel/fs/mbcache.ko
kernel/fs/configfs/configfs.ko
kernel/fs/ext4/ext4.ko
kernel/fs/fat/fat.ko
kernel/fs/fat/vfat.ko
kernel/fs/jbd2/jbd2.ko
kernel/fs/nls/nls_base.ko
kernel/fs/nls/nls_cp437.ko
kernel/fs/nls/nls_iso8859-1.ko
kernel/fs/overlayfs/overlayfs.ko
kernel/crypto/crypto.ko
kernel/crypto/crypto_wq.ko
kernel/crypto/crypto_algapi.ko
kernel/crypto/crypto_blkcipher.ko
kernel/crypto/chainiv.ko
kernel/crypto/eseqiv.ko
kernel/crypto/crypto_hash.ko
kernel/crypto/aes_generic.ko
kernel/crypto/arc4.ko
kernel/crypto/crc32c.ko
kernel/crypto/rng.ko
kernel/crypto/krng.ko
kernel/block/cfq-iosched.ko
kernel/drivers/base/firmware_class.ko
kernel/drivers/base/regmap/regmap-i2c.ko
kernel/drivers/base/regmap/regmap-spi.ko
kernel/drivers/char/dump_reg/dump_reg.ko
kernel/drivers/char/sunxi-sysinfo/sysinfo.ko
kernel/drivers/dma/virt-dma.ko
kernel/drivers/dma/sun3i-dma.ko
kernel/drivers/gpio/gpio-pcf857x.ko
kernel/drivers/hid/hid.ko
kernel/drivers/hid/usbhid/usbhid.ko
kernel/drivers/i2c/i2c-core.ko
kernel/drivers/i2c/busses/i2c-sunxi.ko
kernel/drivers/input/input-core.ko
kernel/drivers/input/input-polldev.ko
kernel/drivers/input/evdev.ko
kernel/drivers/input/keyboard/sunxi-keyboard.ko
kernel/drivers/input/serio/serio.ko
kernel/drivers/input/serio/serport.ko
kernel/drivers/input/serio/libps2.ko
kernel/drivers/media/cedar-ve/cedar_ve.ko
kernel/drivers/media/v4l2-core/videodev.ko
kernel/drivers/media/v4l2-core/v4l2-common.ko
kernel/drivers/mmc/core/mmc_core.ko
kernel/drivers/mmc/host/sunxi-mmc.ko
kernel/drivers/mmc/host/sunxi-mmc-debug.ko
kernel/drivers/mmc/host/sunxi-mmc-export.ko
kernel/drivers/mmc/host/sunxi-mmc-v4p1x.ko
kernel/drivers/mmc/host/sunxi-mmc-v4p00x.ko
kernel/drivers/mmc/host/sunxi-mmc-v4p10x.ko
kernel/drivers/mmc/host/sunxi-mmc-v4p5x.ko
kernel/drivers/mtd/mtd.ko
kernel/drivers/mtd/sunxipart.ko
kernel/drivers/mtd/mtd_blkdevs.ko
kernel/drivers/mtd/mtdblock.ko
kernel/drivers/mtd/chips/chipreg.ko
kernel/drivers/mtd/devices/m25p80.ko
kernel/drivers/net/mii.ko
kernel/drivers/of/of_i2c.ko
kernel/drivers/pwm/pwm-sunxi.ko
kernel/drivers/rtc/rtc-cmos.ko
kernel/drivers/rtc/rtc-pcf8563.ko
kernel/drivers/scsi/scsi_mod.ko
kernel/drivers/scsi/sd_mod.ko
kernel/drivers/spi/spidev.ko
kernel/drivers/spi/spi-sunxi.ko
kernel/drivers/tty/serial/serial_core.ko
kernel/drivers/tty/serial/sunxi-uart.ko
kernel/drivers/usb/usb-common.ko
kernel/drivers/usb/core/usbcore.ko
kernel/drivers/usb/gadget/udc-core.ko
kernel/drivers/usb/host/ehci-hcd.ko
kernel/drivers/usb/host/sunxi_hci.ko
kernel/drivers/usb/storage/usb-storage.ko
kernel/drivers/usb/sunxi_usb/sunxi_usb_hcd0.ko
kernel/drivers/usb/sunxi_usb/sunxi_usbc.ko
kernel/drivers/video/fb.ko
kernel/drivers/video/cfbfillrect.ko
kernel/drivers/video/cfbcopyarea.ko
kernel/drivers/video/cfbimgblt.ko
kernel/drivers/video/sunxi/disp/disp/disp.ko
kernel/drivers/video/sunxi/disp/lcd/lcd.ko
kernel/sound/soundcore.ko
kernel/sound/core/snd.ko
kernel/sound/core/snd-timer.ko
kernel/sound/core/snd-pcm.ko
kernel/sound/core/snd-page-alloc.ko
kernel/sound/core/snd-compress.ko
kernel/sound/soc/snd-soc-core.ko
kernel/sound/soc/sunxi/sun3iw1_codec.ko
kernel/sound/soc/sunxi/sunxi_cpudai.ko
kernel/sound/soc/sunxi/sun3iw1_sndcodec.ko
kernel/net/ipv4/ip_tunnel.ko
kernel/net/ipv4/ipip.ko
kernel/net/ipv4/gre.ko
kernel/net/ipv4/ip_gre.ko
kernel/net/ipv4/tunnel4.ko
kernel/net/ipv4/tcp_cubic.ko
kernel/net/ipv4/netfilter/ip_tables.ko
kernel/net/ipv4/netfilter/iptable_filter.ko
kernel/net/key/af_key.ko
kernel/net/netfilter/x_tables.ko
kernel/net/netfilter/xt_tcpudp.ko
kernel/net/packet/af_packet.ko
kernel/net/unix/unix.ko
kernel/net/wireless/cfg80211.ko
kernel/net/xfrm/xfrm_algo.ko
kernel/net/xfrm/xfrm_user.ko
kernel/lib/bitrev.ko
kernel/lib/crc16.ko
kernel/lib/crc32.ko
kernel/lib/lzo/lzo_compress.ko
kernel/lib/lzo/lzo_decompress.ko
kernel/lib/xz/xz_dec.ko
20201118 = FW2013
20201121 = FW2013
20201207 = FW2015
20201221 = FW3000
20210105 = FW3000
20210223 = FW3101
20210311 = FW3101
20210416 = FW3200
20210510 = FW3202
20210601 = FW3102
cp $WORKPATH/package/help/help.db /dso/app/
cp $WORKPATH/package/font /dso/app/ -rf
cp $WORKPATH/package/root/* -rf /
cp $WORKPATH/package/fpga_i2c_kb.ko /dso/etc
cp $WORKPATH/package/help/help.db /dso/app/
cp $WORKPATH/package/font /dso/app/ -rf
cp $WORKPATH/package/root/* -rf /
cp $WORKPATH/package/fpga_i2c_kb.ko /dso/etc
cp $WORKPATH/package/help/help.db /dso/app/
cp $WORKPATH/package/font /dso/app/ -rf
cp $WORKPATH/package/root/* -rf /
cp $WORKPATH/package/fpga_i2c_kb.ko /dso/etc
cp $WORKPATH/package/fpga/* /lib/firmware/psram_board_test.fs.bin -rf
cp $WORKPATH/package/help/help.db /dso/app/
cp $WORKPATH/package/font /dso/app/ -rf
cp $WORKPATH/package/root/* -rf /
cp $WORKPATH/package/fpga_i2c_kb.ko /dso/etc
cp $WORKPATH/package/help/help.db /dso/app/
cp $WORKPATH/package/font /dso/app/ -rf
cp $WORKPATH/package/root/* -rf /
cp $WORKPATH/package/fpga_i2c_kb.ko /dso/etc
cp $WORKPATH/package/root/* -rf /
cp $WORKPATH/package/fpga_i2c_kb.ko /dso/etc
cp $WORKPATH/package/spi-fpga-tn652.ko /dso/etc
cp $WORKPATH/package/load_fpga_kb.sh /dso/etc
cp $WORKPATH/package/root/* -rf /
cp $WORKPATH/package/fpga_i2c_kb.ko /dso/etc
cp $WORKPATH/package/spi-fpga-tn652.ko /dso/etc
cp $WORKPATH/package/load_fpga_kb.sh /dso/etc
cp $WORKPATH/package/root/* -rf /
cp $WORKPATH/package/fpga_i2c_kb.ko /dso/etc
cp $WORKPATH/package/spi-fpga-tn652.ko /dso/etc
cp $WORKPATH/package/load_fpga_kb.sh /dso/etc
cp $WORKPATH/package/root/* -rf /
cp $WORKPATH/package/fpga/* /lib/firmware/psram_board_test.fs.bin -rf
cp $WORKPATH/package/fpga/* /lib/firmware/psram_board_test.fs.bin -rf