小智x3 开发板 有从spi flash启动成功的吗? 想从spi flash启动整个系统
离线
这是我们公司做的TF卡烧SPI NOR的量产固件: smallwit_x3_tfcard_自动烧录spinor.tgz
你可以烧到TF卡启动试一试。
一开始是在小智开发板做的,现在都是公司自己做板子了,参考了小智X3的原理图。
离线
这是我们公司做的TF卡烧SPI NOR的量产固件: smallwit_x3_tfcard_自动烧录spinor.tgz
你可以烧到TF卡启动试一试。
一开始是在小智开发板做的,现在都是公司自己做板子了,参考了小智X3的原理图。
你好,贵公司X3部分的录音弄出来了吗,我这边一直卡着,能否指点一下,非常感谢
离线
我们的产品没有录音功能,也没有音乐播放,所以没有研究过呢。 现在具体是什么情况呢?你用tina还是主线?
离线
smallwit-x3-sdcard-auto-burn-spinor.tgz
烧录成功慢闪LED, 烧录失败快闪LED
离线
我们的产品没有录音功能,也没有音乐播放,所以没有研究过呢。 现在具体是什么情况呢?你用tina还是主线?
好的,我使用的是主线内核,具体情况:
请问一下,X3开发板录音有人弄出来了吗?
http://whycan.com/t_6119.html
(出处:哇酷开发者社区)
离线
这是我们公司做的TF卡烧SPI NOR的量产固件: smallwit_x3_tfcard_自动烧录spinor.tgz
你可以烧到TF卡启动试一试。
一开始是在小智开发板做的,现在都是公司自己做板子了,参考了小智X3的原理图。
你们是自己 移植的spi flash 固件?能提供一些思路吗?
离线
小boot可以正常启动了, uboot 读写spi flash 还有问题
离线
对于 x3
设备树 这样写 有问题吗?
spi0: spi@01c68000 {
compatible = "allwinner,sun8i-h3-spi";
reg = <0x01c68000 0x1000>;
interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_BUS_SPI0>, <&ccu CLK_SPI0>;
clock-names = "ahb", "mod";
pinctrl-names = "default";
pinctrl-0 = <&spi0_pins>;
resets = <&ccu RST_BUS_SPI0>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
};
离线
fdtdec_get_config_int: load-environment
uclass_find_device_by_seq: 0 0
- 0 -1 'spi@1c68000'
- not found
uclass_find_device_by_seq: 1 0
- 0 -1 'spi@1c68000'
- found
uclass_find_device_by_seq: 0 0
- 0 -1 'spi@1c68000'
- not found
fdtdec_get_int: spi-activate_delay: (not found)
fdtdec_get_int: spi-deactivate-delay: (not found)
sunxi_spi_ofdata_to_platdata: regs=00000000, activate-delay=0, deactivate-delay=0
sunxi_spi_probe: probe
ofnode_read_u32: spi-max-frequency: (not found)
Invalid chip select 0:0 (err=-19)
*** Warning - spi_flash_probe() failed, using default environment
离线
可以到 uboot了
U-Boot 2017.11-dirty (Mar 27 2021 - 21:06:17 +0800) Allwinner Technology
CPU: Allwinner A33 (SUN8I 1667)
Model: Sinlinx SinA33
DRAM: 128 MiB
MMC: SUNXI SD/MMC: 0, SUNXI SD/MMC: 1
sunxi_spi_xfer: taotao.
sunxi_spi_xfer: taotao.
SF: Detected w25q128bv with page size 256 Bytes, erase size 4 KiB, total 16 MiB
sunxi_spi_xfer: taotao.
sunxi_spi_xfer: taotao.
*** Warning - bad CRC, using default environment
Setting up a 1024x600 lcd console (overscan 0x0)
In: serial
Out: vga
Err: vga
Allwinner mUSB OTG (Peripheral)
Net:
Warning: usb_ether using MAC address from ROM
eth0: usb_ether
starting USB...
USB0: USB EHCI 1.00
USB1: USB OHCI 1.0
scanning bus 0 for devices... 2 USB Device(s) found
scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot: 0
sunxi_spi_xfer: taotao.
sunxi_spi_xfer: taotao.
SF: Detected w25q128bv with page size 256 Bytes, erase size 4 KiB, total 16 MiB
device 0 offset 0x100000, size 0x10000
sunxi_spi_xfer: taotao.
sunxi_spi_xfer: taotao.
SF: 65536 bytes @ 0x100000 Read: OK
device 0 offset 0x110000, size 0x400000
sunxi_spi_xfer: taotao.
sunxi_spi_xfer: taotao.
SF: 4194304 bytes @ 0x110000 Read: OK
## Flattened Device Tree blob at 41800000
Booting using the fdt blob at 0x41800000
Loading Device Tree to 42f49000, end 42f52086 ... OK
Cannot setup simplefb: node not found
Starting kernel ...
离线
目前卡在 Starting kernel ...,努力解决bug
离线
环境变量是否有错误:
=> print
arch=arm
baudrate=115200
board=sunxi
board_name=sunxi
boot_a_script=load ${devtype} ${devnum}:${distro_bootpart} ${scriptaddr} ${prefix}${script}; source ${scriptaddr}
boot_efi_binary=if fdt addr ${fdt_addr_r}; then bootefi bootmgr ${fdt_addr_r};else bootefi bootmgr ${fdtcontroladdr};fi;load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} efi/boot/bootarm.efi; if fdt addr ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r};else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi
boot_extlinux=sysboot ${devtype} ${devnum}:${distro_bootpart} any ${scriptaddr} ${prefix}extlinux/extlinux.conf
boot_net_usb_start=usb start
boot_prefixes=/ /boot/
boot_script_dhcp=boot.scr.uimg
boot_scripts=boot.scr.uimg boot.scr
boot_targets=fel mmc_auto usb0 pxe dhcp
bootcmd=sf probe 0; sf read 0x41800000 0x100000 0x10000; sf read 0x41000000 0x110000 0x400000; bootz 0x41000000 - 0x41800000
bootcmd_dhcp=run boot_net_usb_start; if dhcp ${scriptaddr} ${boot_script_dhcp}; then source ${scriptaddr}; fi;setenv efi_fdtfile ${fdtfile}; if test -z "${fdtfile}" -a -n "${soc}"; then setenv efi_fdtfile ${soc}-${board}${boardver}.dtb; fi; setenv efi_old_vci ${bootp_vci};setenv efi_old_arch ${bootp_arch};setenv bootp_vci PXEClient:Arch:00010:UNDI:003000;setenv bootp_arch 0xa;if dhcp ${kernel_addr_r}; then tftpboot ${fdt_addr_r} dtb/${efi_fdtfile};if fdt addr ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r}; else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi;fi;setenv bootp_vci ${efi_old_vci};setenv bootp_arch ${efi_old_arch};setenv efi_fdtfile;setenv efi_old_arch;setenv efi_old_vci;
bootcmd_fel=if test -n ${fel_booted} && test -n ${fel_scriptaddr}; then echo '(FEL boot)'; source ${fel_scriptaddr}; fi
bootcmd_mmc0=setenv devnum 0; run mmc_boot
bootcmd_mmc1=setenv devnum 1; run mmc_boot
bootcmd_mmc_auto=if test ${mmc_bootdev} -eq 1; then run bootcmd_mmc1; run bootcmd_mmc0; elif test ${mmc_bootdev} -eq 0; then run bootcmd_mmc0; run bootcmd_mmc1; fi
bootcmd_pxe=run boot_net_usb_start; dhcp; if pxe get; then pxe boot; fi
bootcmd_usb0=setenv devnum 0; run usb_boot
bootdelay=2
bootm_size=0x8000000
console=ttyS0,115200
cpu=armv7
dfu_alt_info_ram=kernel ram 0x42000000 0x1000000;fdt ram 0x43000000 0x100000;ramdisk ram 0x43300000 0x4000000
distro_bootcmd=for target in ${boot_targets}; do run bootcmd_${target}; done
efi_dtb_prefixes=/ /dtb/ /dtb/current/
ethaddr=de:ad:be:ef:00:01
fdt_addr_r=0x43000000
fdtcontroladdr=42f53828
fdtfile=sun8i-x3-smallwit-card-taurus.dtb
kernel_addr_r=0x42000000
load_efi_dtb=load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${prefix}${efi_fdtfile}
mmc_boot=if mmc dev ${devnum}; then setenv devtype mmc; run scan_dev_for_boot_part; fi
preboot=usb start
pxefile_addr_r=0x43200000
ramdisk_addr_r=0x43300000
scan_dev_for_boot=echo Scanning ${devtype} ${devnum}:${distro_bootpart}...; for prefix in ${boot_prefixes}; do run scan_dev_for_extlinux; run scan_dev_for_scripts; done;run scan_dev_for_efi;
scan_dev_for_boot_part=part list ${devtype} ${devnum} -bootable devplist; env exists devplist || setenv devplist 1; for distro_bootpart in ${devplist}; do if fstype ${devtype} ${devnum}:${distro_bootpart} bootfstype; then run scan_dev_for_boot; fi; done
scan_dev_for_efi=setenv efi_fdtfile ${fdtfile}; if test -z "${fdtfile}" -a -n "${soc}"; then setenv efi_fdtfile ${soc}-${board}${boardver}.dtb; fi; for prefix in ${efi_dtb_prefixes}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${efi_fdtfile}; then run load_efi_dtb; fi;done;if test -e ${devtype} ${devnum}:${distro_bootpart} efi/boot/bootarm.efi; then echo Found EFI removable media binary efi/boot/bootarm.efi; run boot_efi_binary; echo EFI LOAD FAILED: continuing...; fi; setenv efi_fdtfile
scan_dev_for_extlinux=if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}extlinux/extlinux.conf; then echo Found ${prefix}extlinux/extlinux.conf; run boot_extlinux; echo SCRIPT FAILED: continuing...; fi
scan_dev_for_scripts=for script in ${boot_scripts}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${script}; then echo Found U-Boot script ${prefix}${script}; run boot_a_script; echo SCRIPT FAILED: continuing...; fi; done
scriptaddr=0x43100000
serial#=165541530700780d
soc=sunxi
stderr=serial,vga
stdin=serial,usbkbd
stdout=serial,vga
usb_boot=usb start; if usb dev ${devnum}; then setenv devtype usb; run scan_dev_for_boot_part; fi
usbnet_devaddr=de:ad:be:ef:00:01
Environment size: 4514/32764 bytes
离线