PCB的话,还需要飞线(AVCC飞到3.3V,幸好当时AVCC是排针引出,不然就),画的不如论坛上的其他大佬。还是把自己的原理图与PCB发出来吧,也是一个参考。如果有的人死活不能启动也可以在下面留言。原理图-PCB打包.7z
MY_F1C200S_PCB_2022_04.pdf
原理图好多没有画,只是想一次点亮
我在bootargs加了
`console=tty0 console=ttyS0,115200 panic=5 rootwait root=/dev/mmcblk0p2 rw`
但是lcd还是只显示内核输出
我想让lcd显示串口0同样的信息
https://whycan.com/files/members/8007/IMG_20220101_204150.jpg
是主线吗
楼主可否发一份樱桃派的原理图啊,多谢
root@ubuntu:~/F1C100S/buildroot-tiny200#
root@ubuntu:~/F1C100S/buildroot-tiny200# make
>>> Finalizing host directory
>>> Finalizing target directory
mkdir -p /root/F1C100S/buildroot-tiny200/output/host/etc/meson
sed -e 's%@TARGET_CROSS@%/root/F1C100S/buildroot-tiny200/output/host/bin/arm-buildroot-linux-gnueabi-%g' -e 's%@TARGET_ARCH@%arm%g' -e 's%@TARGET_CPU@%arm926ej-s%g' -e 's%@TARGET_ENDIAN@%little%g' -e 's%@TARGET_CFLAGS@%"-D_LARGEFILE_SOURCE", "-D_LARGEFILE64_SOURCE", "-D_FILE_OFFSET_BITS=64", "-Os"@PKG_TARGET_CFLAGS@%g' -e 's%@TARGET_LDFLAGS@%@PKG_TARGET_CFLAGS@%g' -e 's%@TARGET_CXXFLAGS@%"-D_LARGEFILE_SOURCE", "-D_LARGEFILE64_SOURCE", "-D_FILE_OFFSET_BITS=64", "-Os"@PKG_TARGET_CFLAGS@%g' -e 's%@HOST_DIR@%/root/F1C100S/buildroot-tiny200/output/host%g' -e 's%@STAGING_DIR@%/root/F1C100S/buildroot-tiny200/output/host/arm-buildroot-linux-gnueabi/sysroot%g' -e 's%@STATIC@%false%g' package/meson//cross-compilation.conf.in > /root/F1C100S/buildroot-tiny200/output/host/etc/meson/cross-compilation.conf.in
sed -e 's%@PKG_TARGET_CFLAGS@%%g' -e 's%@PKG_TARGET_LDFLAGS@%%g' -e 's%@PKG_TARGET_CXXFLAGS@%%g' /root/F1C100S/buildroot-tiny200/output/host/etc/meson/cross-compilation.conf.in > /root/F1C100S/buildroot-tiny200/output/host/etc/meson/cross-compilation.conf
/bin/sed -i -e '/# GENERIC_SERIAL$/s~^.*#~console::respawn:/sbin/getty -L console 0 vt100 #~' /root/F1C100S/buildroot-tiny200/output/target/etc/inittab
/bin/sed -i -e '/^#.*-o remount,rw \/$/s~^#\+~~' /root/F1C100S/buildroot-tiny200/output/target/etc/inittab
if grep -q CONFIG_ASH=y /root/F1C100S/buildroot-tiny200/output/build/busybox-1.31.1/.config; then grep -qsE '^/bin/ash$' /root/F1C100S/buildroot-tiny200/output/target/etc/shells || echo "/bin/ash" >> /root/F1C100S/buildroot-tiny200/output/target/etc/shells; fi
if grep -q CONFIG_HUSH=y /root/F1C100S/buildroot-tiny200/output/build/busybox-1.31.1/.config; then grep -qsE '^/bin/hush$' /root/F1C100S/buildroot-tiny200/output/target/etc/shells || echo "/bin/hush" >> /root/F1C100S/buildroot-tiny200/output/target/etc/shells; fi
/root/F1C100S/buildroot-tiny200/output/host/bin/udevadm hwdb --update --root /root/F1C100S/buildroot-tiny200/output/target
PYTHONPATH="/root/F1C100S/buildroot-tiny200/output/host/arm-buildroot-linux-gnueabi/sysroot/usr/lib/python3.8/" /root/F1C100S/buildroot-tiny200/output/host/bin/python3.8 /root/F1C100S/buildroot-tiny200/support/scripts/pycompile.py --strip-root /root/F1C100S/buildroot-tiny200/output/target /root/F1C100S/buildroot-tiny200/output/target/usr/lib/python3.8
find /root/F1C100S/buildroot-tiny200/output/target/usr/lib/python3.8 -name '*.py' -print0 | xargs -0 --no-run-if-empty rm -f
find /root/F1C100S/buildroot-tiny200/output/target/usr/lib/python3.8 -name '*.opt-1.pyc' -print0 -o -name '*.opt-2.pyc' -print0 | xargs -0 --no-run-if-empty rm -f
mkdir -p /root/F1C100S/buildroot-tiny200/output/target/etc
echo "mangopi-r3" > /root/F1C100S/buildroot-tiny200/output/target/etc/hostname
/bin/sed -i -e '$a \127.0.1.1\tmangopi-r3' -e '/^127.0.1.1/d' /root/F1C100S/buildroot-tiny200/output/target/etc/hosts
mkdir -p /root/F1C100S/buildroot-tiny200/output/target/etc
echo "Welcome to Widora MangoPi R3" > /root/F1C100S/buildroot-tiny200/output/target/etc/issue
/bin/sed -i -e s,^root:[^:]*:,root::, /root/F1C100S/buildroot-tiny200/output/target/etc/shadow
grep -qsE '^/bin/sh$' /root/F1C100S/buildroot-tiny200/output/target/etc/shells || echo "/bin/sh" >> /root/F1C100S/buildroot-tiny200/output/target/etc/shells
if [ -x /root/F1C100S/buildroot-tiny200/output/target/sbin/swapon -a -x /root/F1C100S/buildroot-tiny200/output/target/sbin/swapoff ]; then /bin/sed -i -e '/^#.*\/sbin\/swap/s/^#\+[[:blank:]]*//' /root/F1C100S/buildroot-tiny200/output/target/etc/inittab; else /bin/sed -i -e '/^[^#].*\/sbin\/swap/s/^/#/' /root/F1C100S/buildroot-tiny200/output/target/etc/inittab; fi
if test -d /root/F1C100S/buildroot-tiny200/output/target/lib/modules/`MAKEFLAGS='' /usr/bin/make -j5 HOSTCC="/usr/bin/gcc -O2 -I/root/F1C100S/buildroot-tiny200/output/host/include -L/root/F1C100S/buildroot-tiny200/output/host/lib -Wl,-rpath,/root/F1C100S/buildroot-tiny200/output/host/lib" ARCH=arm INSTALL_MOD_PATH=/root/F1C100S/buildroot-tiny200/output/target CROSS_COMPILE="/root/F1C100S/buildroot-tiny200/output/host/bin/arm-buildroot-linux-gnueabi-" DEPMOD=/root/F1C100S/buildroot-tiny200/output/host/sbin/depmod INSTALL_MOD_STRIP=1 -C /root/F1C100S/buildroot-tiny200/output/build/linux-5.4.99 --no-print-directory -s kernelrelease 2>/dev/null` && grep -q "CONFIG_MODULES=y" /root/F1C100S/buildroot-tiny200/output/build/linux-5.4.99/.config; then /root/F1C100S/buildroot-tiny200/output/host/sbin/depmod -a -b /root/F1C100S/buildroot-tiny200/output/target `MAKEFLAGS='' /usr/bin/make -j5 HOSTCC="/usr/bin/gcc -O2 -I/root/F1C100S/buildroot-tiny200/output/host/include -L/root/F1C100S/buildroot-tiny200/output/host/lib -Wl,-rpath,/root/F1C100S/buildroot-tiny200/output/host/lib" ARCH=arm INSTALL_MOD_PATH=/root/F1C100S/buildroot-tiny200/output/target CROSS_COMPILE="/root/F1C100S/buildroot-tiny200/output/host/bin/arm-buildroot-linux-gnueabi-" DEPMOD=/root/F1C100S/buildroot-tiny200/output/host/sbin/depmod INSTALL_MOD_STRIP=1 -C /root/F1C100S/buildroot-tiny200/output/build/linux-5.4.99 --no-print-directory -s kernelrelease 2>/dev/null`; fi
rm -f /root/F1C100S/buildroot-tiny200/output/build/locales.nopurge
for i in C en_US locale-archive; do echo $i >> /root/F1C100S/buildroot-tiny200/output/build/locales.nopurge; done
for dir in /root/F1C100S/buildroot-tiny200/output/target/usr/share/locale /root/F1C100S/buildroot-tiny200/output/target/usr/share/X11/locale /root/F1C100S/buildroot-tiny200/output/target/usr/lib/locale; do if [ ! -d $dir ]; then continue; fi; for langdir in $dir/*; do if [ -e "${langdir}" ]; then grep -qx "${langdir##*/}" /root/F1C100S/buildroot-tiny200/output/build/locales.nopurge || rm -rf $langdir; fi done; done
if [ -d /root/F1C100S/buildroot-tiny200/output/target/usr/share/X11/locale ]; then for lang in C en_US; do if [ -f /root/F1C100S/buildroot-tiny200/output/target/usr/share/X11/locale/$lang/XLC_LOCALE ]; then echo "$lang/XLC_LOCALE: $lang"; fi done > /root/F1C100S/buildroot-tiny200/output/target/usr/share/X11/locale/locale.dir; fi
rm -rf /root/F1C100S/buildroot-tiny200/output/target/usr/include /root/F1C100S/buildroot-tiny200/output/target/usr/share/aclocal \
/root/F1C100S/buildroot-tiny200/output/target/usr/lib/pkgconfig /root/F1C100S/buildroot-tiny200/output/target/usr/share/pkgconfig \
/root/F1C100S/buildroot-tiny200/output/target/usr/lib/cmake /root/F1C100S/buildroot-tiny200/output/target/usr/share/cmake
find /root/F1C100S/buildroot-tiny200/output/target/usr/{lib,share}/ -name '*.cmake' -print0 | xargs -0 rm -f
find /root/F1C100S/buildroot-tiny200/output/target/lib/ /root/F1C100S/buildroot-tiny200/output/target/usr/lib/ /root/F1C100S/buildroot-tiny200/output/target/usr/libexec/ \
\( -name '*.a' -o -name '*.la' \) -print0 | xargs -0 rm -f
find: `/root/F1C100S/buildroot-tiny200/output/target/usr/libexec/': No such file or directory
rm -rf /root/F1C100S/buildroot-tiny200/output/target/usr/share/bash-completion
rm -rf /root/F1C100S/buildroot-tiny200/output/target/etc/bash_completion.d
rm -rf /root/F1C100S/buildroot-tiny200/output/target/usr/share/zsh
rm -rf /root/F1C100S/buildroot-tiny200/output/target/usr/man /root/F1C100S/buildroot-tiny200/output/target/usr/share/man
rm -rf /root/F1C100S/buildroot-tiny200/output/target/usr/info /root/F1C100S/buildroot-tiny200/output/target/usr/share/info
rm -rf /root/F1C100S/buildroot-tiny200/output/target/usr/doc /root/F1C100S/buildroot-tiny200/output/target/usr/share/doc
rm -rf /root/F1C100S/buildroot-tiny200/output/target/usr/share/gtk-doc
rmdir /root/F1C100S/buildroot-tiny200/output/target/usr/share 2>/dev/null || true
rm -rf /root/F1C100S/buildroot-tiny200/output/target/lib/debug /root/F1C100S/buildroot-tiny200/output/target/usr/lib/debug
find /root/F1C100S/buildroot-tiny200/output/target -type f \( -perm /111 -o -name '*.so*' \) -not \( -name 'libpthread*.so*' -o -name 'ld-*.so*' -o -name '*.ko' \) -print0 | xargs -0 /root/F1C100S/buildroot-tiny200/output/host/bin/arm-buildroot-linux-gnueabi-strip --remove-section=.comment --remove-section=.note 2>/dev/null || true
find /root/F1C100S/buildroot-tiny200/output/target \( -name 'ld-*.so*' -o -name 'libpthread*.so*' \) -print0 | xargs -0 -r /root/F1C100S/buildroot-tiny200/output/host/bin/arm-buildroot-linux-gnueabi-strip --remove-section=.comment --remove-section=.note --strip-debug 2>/dev/null || true
test -f /root/F1C100S/buildroot-tiny200/output/target/etc/ld.so.conf && \
{ echo "ERROR: we shouldn't have a /etc/ld.so.conf file"; exit 1; } || true
test -d /root/F1C100S/buildroot-tiny200/output/target/etc/ld.so.conf.d && \
{ echo "ERROR: we shouldn't have a /etc/ld.so.conf.d directory"; exit 1; } || true
mkdir -p /root/F1C100S/buildroot-tiny200/output/target/etc
( \
echo "NAME=Buildroot"; \
echo "VERSION=-g9c78493"; \
echo "ID=buildroot"; \
echo "VERSION_ID=2020.02.7"; \
echo "PRETTY_NAME=\"Buildroot 2020.02.7\"" \
) > /root/F1C100S/buildroot-tiny200/output/target/usr/lib/os-release
ln -sf ../usr/lib/os-release /root/F1C100S/buildroot-tiny200/output/target/etc
>>> Sanitizing RPATH in target tree
PER_PACKAGE_DIR=/root/F1C100S/buildroot-tiny200/output/per-package /root/F1C100S/buildroot-tiny200/support/scripts/fix-rpath target
>>> Copying overlay board/allwinner/generic/rootfs
>>> Copying overlay board/allwinner/suniv-f1c100s/rootfs
>>> Copying overlay board/widora/mangopi/r3/rootfs
touch /root/F1C100S/buildroot-tiny200/output/target/usr
>>> Generating root filesystems common tables
rm -rf /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs
mkdir -p /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs
printf ' - - input -1 * - - - Input device group\n - - render -1 * - - - DRI rendering nodes\n - - kvm -1 * - - - kvm nodes\n\n' >> /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/full_users_table.txt
printf ' /bin/busybox f 4755 0 0 - - - - -\n\n' > /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/full_devices_table.txt
cat system/device_table.txt >> /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/full_devices_table.txt
>>> Generating filesystem image rootfs.cpio
mkdir -p /root/F1C100S/buildroot-tiny200/output/images
rm -rf /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/cpio
mkdir -p /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/cpio
rsync -auH --exclude=/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM /root/F1C100S/buildroot-tiny200/output/target/ /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/cpio/target
echo '#!/bin/sh' > /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/cpio/fakeroot
echo "set -e" >> /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/cpio/fakeroot
echo "chown -h -R 0:0 /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/cpio/target" >> /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/cpio/fakeroot
PATH="/root/F1C100S/buildroot-tiny200/output/host/bin:/root/F1C100S/buildroot-tiny200/output/host/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games" /root/F1C100S/buildroot-tiny200/support/scripts/mkusers /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/full_users_table.txt /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/cpio/target >> /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/cpio/fakeroot
echo "/root/F1C100S/buildroot-tiny200/output/host/bin/makedevs -d /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/full_devices_table.txt /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/cpio/target" >> /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/cpio/fakeroot
printf ' rm -rf /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/cpio/target//etc/udev/hwdb.d/\n' >> /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/cpio/fakeroot
printf ' if [ ! -e /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/cpio/target/init ]; then /usr/bin/install -m 0755 fs/cpio/init /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/cpio/target/init; fi\n mkdir -p /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/cpio/target/dev\n mknod -m 0622 /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/cpio/target/dev/console c 5 1\n' >> /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/cpio/fakeroot
printf ' \n' >> /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/cpio/fakeroot
printf ' cd /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/cpio/target && find . | LC_ALL=C sort | cpio --quiet -o -H newc > /root/F1C100S/buildroot-tiny200/output/images/rootfs.cpio\n' >> /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/cpio/fakeroot
chmod a+x /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/cpio/fakeroot
PATH="/root/F1C100S/buildroot-tiny200/output/host/bin:/root/F1C100S/buildroot-tiny200/output/host/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games" FAKEROOTDONTTRYCHOWN=1 /root/F1C100S/buildroot-tiny200/output/host/bin/fakeroot -- /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/cpio/fakeroot
rootdir=/root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/cpio/target
table='/root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/full_devices_table.txt'
PATH="/root/F1C100S/buildroot-tiny200/output/host/bin:/root/F1C100S/buildroot-tiny200/output/host/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games" gzip -9 -c -n /root/F1C100S/buildroot-tiny200/output/images/rootfs.cpio > /root/F1C100S/buildroot-tiny200/output/images/rootfs.cpio.gz
>>> Generating filesystem image rootfs.ext2
mkdir -p /root/F1C100S/buildroot-tiny200/output/images
rm -rf /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/ext2
mkdir -p /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/ext2
rsync -auH --exclude=/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM /root/F1C100S/buildroot-tiny200/output/target/ /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/ext2/target
echo '#!/bin/sh' > /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/ext2/fakeroot
echo "set -e" >> /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/ext2/fakeroot
echo "chown -h -R 0:0 /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/ext2/target" >> /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/ext2/fakeroot
PATH="/root/F1C100S/buildroot-tiny200/output/host/bin:/root/F1C100S/buildroot-tiny200/output/host/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games" /root/F1C100S/buildroot-tiny200/support/scripts/mkusers /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/full_users_table.txt /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/ext2/target >> /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/ext2/fakeroot
echo "/root/F1C100S/buildroot-tiny200/output/host/bin/makedevs -d /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/full_devices_table.txt /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/ext2/target" >> /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/ext2/fakeroot
printf ' rm -rf /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/ext2/target//etc/udev/hwdb.d/\n' >> /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/ext2/fakeroot
printf ' \n' >> /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/ext2/fakeroot
printf ' rm -f /root/F1C100S/buildroot-tiny200/output/images/rootfs.ext2\n/root/F1C100S/buildroot-tiny200/output/host/sbin/mkfs.ext4 -d /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/ext2/target -r 1 -N 0 -m 5 -L "" -O ^64bit /root/F1C100S/buildroot-tiny200/output/images/rootfs.ext2 "100M" || { ret=$?; echo "*** Maybe you need to increase the filesystem size (BR2_TARGET_ROOTFS_EXT2_SIZE)" 1>&2; exit $ret; }\n' >> /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/ext2/fakeroot
chmod a+x /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/ext2/fakeroot
PATH="/root/F1C100S/buildroot-tiny200/output/host/bin:/root/F1C100S/buildroot-tiny200/output/host/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games" FAKEROOTDONTTRYCHOWN=1 /root/F1C100S/buildroot-tiny200/output/host/bin/fakeroot -- /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/ext2/fakeroot
rootdir=/root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/ext2/target
table='/root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/full_devices_table.txt'
mke2fs 1.45.6 (20-Mar-2020)
Creating regular file /root/F1C100S/buildroot-tiny200/output/images/rootfs.ext2
64-bit filesystem support is not enabled. The larger fields afforded by this feature enable full-strength checksumming. Pass -O 64bit to rectify.
Creating filesystem with 102400 1k blocks and 25688 inodes
Filesystem UUID: cfe761b4-3a5b-4f0b-96a0-9ed1d0d6c149
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729
Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Copying files into the device: done
Writing superblocks and filesystem accounting information: done
ln -sf rootfs.ext2 /root/F1C100S/buildroot-tiny200/output/images/rootfs.ext4
>>> Generating filesystem image rootfs.squashfs
mkdir -p /root/F1C100S/buildroot-tiny200/output/images
rm -rf /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/squashfs
mkdir -p /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/squashfs
rsync -auH --exclude=/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM /root/F1C100S/buildroot-tiny200/output/target/ /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/squashfs/target
echo '#!/bin/sh' > /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/squashfs/fakeroot
echo "set -e" >> /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/squashfs/fakeroot
echo "chown -h -R 0:0 /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/squashfs/target" >> /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/squashfs/fakeroot
PATH="/root/F1C100S/buildroot-tiny200/output/host/bin:/root/F1C100S/buildroot-tiny200/output/host/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games" /root/F1C100S/buildroot-tiny200/support/scripts/mkusers /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/full_users_table.txt /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/squashfs/target >> /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/squashfs/fakeroot
echo "/root/F1C100S/buildroot-tiny200/output/host/bin/makedevs -d /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/full_devices_table.txt /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/squashfs/target" >> /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/squashfs/fakeroot
printf ' rm -rf /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/squashfs/target//etc/udev/hwdb.d/\n' >> /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/squashfs/fakeroot
printf ' \n' >> /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/squashfs/fakeroot
printf ' /root/F1C100S/buildroot-tiny200/output/host/bin/mksquashfs /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/squashfs/target /root/F1C100S/buildroot-tiny200/output/images/rootfs.squashfs -noappend -processors 5 -comp gzip\n' >> /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/squashfs/fakeroot
chmod a+x /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/squashfs/fakeroot
PATH="/root/F1C100S/buildroot-tiny200/output/host/bin:/root/F1C100S/buildroot-tiny200/output/host/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games" FAKEROOTDONTTRYCHOWN=1 /root/F1C100S/buildroot-tiny200/output/host/bin/fakeroot -- /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/squashfs/fakeroot
rootdir=/root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/squashfs/target
table='/root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/full_devices_table.txt'
Parallel mksquashfs: Using 5 processors
Creating 4.0 filesystem on /root/F1C100S/buildroot-tiny200/output/images/rootfs.squashfs, block size 131072.
[==============================================================|] 3178/3178 100%
Exportable Squashfs 4.0 filesystem, gzip compressed, data block size 131072
compressed data, compressed metadata, compressed fragments,
compressed xattrs, compressed ids
duplicates are removed
Filesystem size 26194.59 Kbytes (25.58 Mbytes)
41.84% of uncompressed filesystem size (62602.90 Kbytes)
Inode table size 34948 bytes (34.13 Kbytes)
28.43% of uncompressed inode table size (122923 bytes)
Directory table size 34770 bytes (33.96 Kbytes)
43.44% of uncompressed directory table size (80043 bytes)
Number of duplicate files found 65
Number of inodes 3724
Number of files 2912
Number of fragments 229
Number of symbolic links 373
Number of device nodes 0
Number of fifo nodes 0
Number of socket nodes 0
Number of directories 439
Number of ids (unique uids + gids) 2
Number of uids 2
root (0)
www-data (33)
Number of gids 2
root (0)
www-data (33)
>>> Generating filesystem image rootfs.tar
mkdir -p /root/F1C100S/buildroot-tiny200/output/images
rm -rf /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/tar
mkdir -p /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/tar
rsync -auH --exclude=/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM /root/F1C100S/buildroot-tiny200/output/target/ /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/tar/target
echo '#!/bin/sh' > /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/tar/fakeroot
echo "set -e" >> /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/tar/fakeroot
echo "chown -h -R 0:0 /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/tar/target" >> /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/tar/fakeroot
PATH="/root/F1C100S/buildroot-tiny200/output/host/bin:/root/F1C100S/buildroot-tiny200/output/host/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games" /root/F1C100S/buildroot-tiny200/support/scripts/mkusers /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/full_users_table.txt /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/tar/target >> /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/tar/fakeroot
echo "/root/F1C100S/buildroot-tiny200/output/host/bin/makedevs -d /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/full_devices_table.txt /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/tar/target" >> /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/tar/fakeroot
printf ' rm -rf /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/tar/target//etc/udev/hwdb.d/\n' >> /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/tar/fakeroot
printf ' \n' >> /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/tar/fakeroot
printf ' (cd /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/tar/target; find -print0 | LC_ALL=C sort -z | tar --pax-option=exthdr.name=%%d/PaxHeaders/%%f,atime:=0,ctime:=0 -cf /root/F1C100S/buildroot-tiny200/output/images/rootfs.tar --null --xattrs-include='\''*'\'' --no-recursion -T - --numeric-owner)\n' >> /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/tar/fakeroot
chmod a+x /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/tar/fakeroot
PATH="/root/F1C100S/buildroot-tiny200/output/host/bin:/root/F1C100S/buildroot-tiny200/output/host/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games" FAKEROOTDONTTRYCHOWN=1 /root/F1C100S/buildroot-tiny200/output/host/bin/fakeroot -- /root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/tar/fakeroot
rootdir=/root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/tar/target
table='/root/F1C100S/buildroot-tiny200/output/build/buildroot-fs/full_devices_table.txt'
>>> Executing post-image script board/allwinner/generic/scripts/genimage.sh
kernel.its:8.18-21.11: Warning (unit_address_vs_reg): /images/kernel@0: node has a unit name, but no reg property
kernel.its:18.20-20.15: Warning (unit_address_vs_reg): /images/kernel@0/hash@0: node has a unit name, but no reg property
kernel.its:23.15-33.11: Warning (unit_address_vs_reg): /images/fdt@0: node has a unit name, but no reg property
kernel.its:30.20-32.15: Warning (unit_address_vs_reg): /images/fdt@0/hash@0: node has a unit name, but no reg property
kernel.its:38.16-46.11: Warning (unit_address_vs_reg): /configurations/conf@0: node has a unit name, but no reg property
kernel.its:43.20-45.15: Warning (unit_address_vs_reg): /configurations/conf@0/hash@0: node has a unit name, but no reg property
FIT description: Generic Allwinner FIT Image
Created: Fri Oct 15 21:11:54 2021
Image 0 (kernel@0)
Description: Linux kernel
Created: Fri Oct 15 21:11:54 2021
Type: Kernel Image
Compression: uncompressed
Data Size: 4309472 Bytes = 4208.47 KiB = 4.11 MiB
Architecture: ARM
OS: Linux
Load Address: 0x80000000
Entry Point: 0x80000000
Hash algo: crc32
Hash value: 23ae67c6
Image 1 (fdt@0)
Description: Flattened Device Tree blob
Created: Fri Oct 15 21:11:54 2021
Type: Flat Device Tree
Compression: uncompressed
Data Size: 15666 Bytes = 15.30 KiB = 0.01 MiB
Architecture: ARM
Hash algo: crc32
Hash value: 61472816
Default Configuration: 'conf@0'
Configuration 0 (conf@0)
Description: Kernel, DeviceTree
Kernel: kernel@0
FDT: fdt@0
Hash algo: crc32
Hash value: unavailable
make: *** [target-post-image] Error 1
//吗,不是/ ? //在linux中代表什么,我不懂
优化的一下赋值方式,假设你需要显示的部分是512x480,从以前需要循,512x480次,现在只需要循环256x240次,但是这个算法只能放大整数倍。也就是算法从以屏幕分辨率为侧重点,到以原始数据为侧重点,当然,如果可以利用硬件资源显示就完美了,不过好像实际跑起来差不多。qt4-NES4_5_512_480_640_480_try_high_speed.7z
楼主你好,是用 qmake 编译这个文件qt4-NES4_5_512_480_640_480\Qt\Qt.pro吗?
这个是qt的工程,具体操作是
1. cd ..../qt4-NES4_5_512_480_640_480/Qt/
这个是来到Qt.pro的目录下
2. ......output/host/bin/qmake
在这个目录下运行对应的qmake,自动生成Makefile文件
3. make clean
这个是清除编译的中间文件
4. make
make的过程中,可能有报错,通过vim修修,我这个如果在Windows下编译过,好像需要去掉某个头文件,打开报错的ui_xxxxx.h,注释掉 ness...h
5.再次make
编译成功就会有Qt这个可执行文件了,可以查看生成时间,看是不是刚刚生成的
6.将Qt 与 hdl.nes 这两个文件copy到板子的根文件,然后 cd / ls 看有没有这两个目录,如果有就 ./Qt 声音暂时没有移植上去,谁有兴趣可以在我的基础上改一下。
for (y = 0; y < NES_DISP_HEIGHT; y++ )//240
{
for (x = 0; x < NES_DISP_WIDTH; x++ )//256
{
*p=*(WorkFrame+(y*NES_DISP_WIDTH)+x);
*(*(WorkFrameX+(y<<1))+(x<<1))=*p;
*(*(WorkFrameX+(y<<1))+((x<<1)+1))=*p;
*(*(WorkFrameX+((y<<1)+1))+(x<<1))=*p;
*(*(WorkFrameX+((y<<1)+1))+((x<<1)+1))=*p;
}
}
这个是将图像放大两倍,mask一个标签
infones的linux版本 绘制点是一点一点计算,如果屏幕比较大,应该就比较慢
qt4-NES4_5_512_480_640_480.7z
这个是QT5源文件,,qt4-NES4_5_512_480_640_480/Qt/hdl.nes 拷贝到根目录可以直接一运行,接上键盘就可以直接玩。
1 2 A W S D L O通过这几个键就可以玩魂斗罗啦,嘻嘻。
小白通过buildroot搭建哪吒D1开发环境详细步骤,并且在HDMI显示器上玩上了魂斗罗(基于QT5).(感谢晕哥对我的指导)
所有的内容都通过buildroot搭建,包括uboot,内核,qt5等等。
我是通过UBUNTU18.4搭建的,如果在buildroot的下载过程中遇到了半天都下不下来,直接就强行终止,然后执行
sudo systemd-resolve --flush-caches (UBUNTU18.4,其他的版本需要自己查)这个是刷DNS,我有的时候下载不动就用此命令。
1.apt-get update
2.sudo apt-get install -y sed make binutils build-essential gcc g++ bash patch gzip bzip2 perl tar cpio unzip rsync file bc wget python cvs git mercurial rsync scp subversion android-tools-mkbootimg libncurses5-dev
Bzr 注意:第2步骤是我自己摸索出来的,与韦东山老师要求安装的库的不同,请注意。
3.找一个文件夹 或者是home文件夹 mkdir -p ~/Neza-D1/ && cd ~/Neza-D1/ 这样就有Neza-D1文件夹了。
4.git clone https://gitee.com/weidongshan/neza-d1-buildroot.git buildroot-2021 这个是韦东山老师的buildroot,下载速度应该是比较快。
5.在buildroot-2021/configs/的文件夹下有neza-d1_defconfig,这个就是默认的配置文件。 通过make neza-d1_defconfig 生成默认文件。然后通过
make menuconfig 进入buildroot配置,Qt5的这三个库去掉。(我是下载不下来没有办法去掉的,如果可以下载下来,也不用去掉)
Qt5-coap需要去掉
Qt5-knx 需要去掉
Qt5-mqtt需要去掉
6.make all,这个过程非常漫长。完成之后会在buildroot/image下生成sdcard.img,通过写SD卡的工具写入就可以了。
7.写入之后,可以通过串口启动,就成功了一半,这个时候插入HDMI是不能识别,好像是sink什么什么错误。然后执行
mount -t debugfs none /sys/kernel/debug;
cd /sys/kernel/debug/dispdbg;
echo disp0 > name;
echo switch1 > command;
echo 4 10 0 0 0x4 0x101 0 0 0 8 > param;
echo 1 > start;
然后你的显示屏幕就只能显示左边一部分,然后你执行 cat /dev/urandom > /dev/fb0 应该可以看到左边一小半屏幕有雪花屏幕。
8.我的LCD是1024x600的,显示不全应该是设备树的问题,然后就修改uboot设备树和linux内核设备树。
uboot与linux内核都在 buildroot的output/build/目录下
uboot设备树在 uboot-origin_master文件夹下的 arch/boot/dts/uboot-board.dts
linux内核设备树在 linux-origin_master文件夹下的 arch/riscv/boot/dts/board.dts
两个设备树都要修改成下面这种,-就是要去掉,+就是要增加,其中dev0_output_mode是调分辨率
<10>就是1080p
<5> 就是720p
<2> 就是360p
具体可以查文档
disp_init_enable = <1>;
disp_mode = <0>;
- screen0_output_type = <1>;
- screen0_output_mode = <4>;
-
- screen1_output_type = <3>;
- screen1_output_mode = <10>;
-
- screen1_output_format = <0>;
- screen1_output_bits = <0>;
- screen1_output_eotf = <4>;
- screen1_output_cs = <257>;
- screen1_output_dvi_hdmi = <2>;
- screen1_output_range = <2>;
- screen1_output_scan = <0>;
- screen1_output_aspect_ratio = <8>;
-
- dev0_output_type = <1>;
- dev0_output_mode = <4>;
+ screen0_output_type = <3>;
+ screen0_output_mode = <10>;
+
+ screen0_output_format = <0>;
+ screen0_output_bits = <0>;
+ screen0_output_eotf = <4>;
+ screen0_output_cs = <257>;
+ screen0_output_dvi_hdmi = <2>;
+ screen0_output_range = <2>;
+ screen0_output_scan = <0>;
+ screen0_output_aspect_ratio = <8>;
+
+ screen1_output_type = <1>;
+ screen1_output_mode = <4>;
+
+ dev0_output_type = <4>;
+ dev0_output_mode = <10>;
dev0_screen_id = <0>;
- dev0_do_hpd = <0>;
-
- dev1_output_type = <4>;
- dev1_output_mode = <10>;
- dev1_screen_id = <1>;
- dev1_do_hpd = <1>;
+ dev0_do_hpd = <1>;
修改完成之后,在uboot-origin_master文件夹下与 linux-origin_master文件夹下都需要执行
rm .stamp_built
然后 在buildroot目录下 make all
然后下载到sd卡,
cat /dev/urandom > /dev/fb0 应该是全屏幕的雪花
9.这个时候插入鼠标键盘虽然有打印消息但是没有/dev/input/ 这个时候需要在内核加入Event interface,
修改完成还是需要 rm .stamp_built,烧入sd卡,这个时候就有/dev/input/eventx,这个时候鼠标与键盘还是不能用在qt5中。
export QT_QPA_GENERIC_PLUGINS=tslib,evdevkeyboard:/dev/input/eventx,evdevmouse:/dev/input/eventx
这个eventx需要根据实际情况来 这个时候qt5就支持键盘了.
10.交叉编译QT5的NES模拟器,我在github下的,它那个需要很多的依赖,
例如需要继承OPENGL。我后面就改成了,只要有最基本的库就可以了。(文件会随后发出来)
qmake在 buildroot的output/host/bin目录下,有qmake就可以交叉编译。
主线uboot与主线linux折腾记录.7z
这个应该是步骤,
QT_LINUX_V3S_ALLDMINI.7z
这个是qt的源文件
uboot-内核-buildroot-3个config.rar
主线uboot,主线linux4.13,buildroot2017.8的.config
好吧我承认我中秋佳节在搞diy,年初就想做一个属于自己的Linux板,去年过年开始选型,从NUC977,到IMX6ULL,最后选定国产的IC,V3s。
然后端午做的软件设计,趁着中秋佳节前几天发板子到嘉立创,还好嘉立创给力,放假第二天板子就回来了,然后焊接+调试了一个下午,不出意外的话应该会开源到GitHub,自己水平有限,也只能做到下面的模样。
工作内容是:原理图设计+PCB设计+uboot+Linux内核(BSP)+buildroot+Qt上位机软件设计以及交叉编译到板子。
硬件调试的结果:nand flash正常,lcd正常,sd卡可以挂载,usb正常-可以下载程序,麦克风正常-可以录音,喇叭正常-可以播放录下的音,以太网正常-可以ping百度,按键正常。Wi-Fi异常,这个不知道是不是天线的问题,可能没有做阻抗匹配。整机功耗2W,wifi应该是驱动没有调好现在可以ping通
软件调试的结果:文本编辑器正常,支持富文本格式,字体大小,图片插入,类似word。电子时钟正常,计算器正常,NES模拟器正常,图片浏览器正常,支持GIF,JPEG,PNG,BMP,网络调试助手正常,支持TCP服务器,TCP客户端,UDP,俄罗斯方块正常,嘻嘻e400823。软件运行比较稳定,只是NES模拟器在运行的时候退出,会死机,通过分析可能是内存泄露。待实现的功能,网页浏览器,音/视频播放器。
最耗费时间的1是pcb设计,因为这一块我比较薄弱,第一次打四层板还是比较激动,好好在成功了。2是焊接,自己为了省钱就没有开钢网,于是一点点的焊接,中间的CPU最难焊接,还好不是BGA。3是Linux系统构建,虽然网上的资料一大堆,但是很多东西需要自己慢慢摸索的。
很多人问我,为什么不做STM32开源与FPGA开源。我想说的是,我是为了避嫌,工作内容有这个,所以感觉不太好这样。
现在四层板10x10免费,还包邮。要是没有免费,我估计都不会自己diy,因为以前双层板都要几十,四层板都要几百。这真的给了我这样的人学习的机会。
不过没有那些大牛做的好,哈哈My_linux_board_v3s_v2_1.rar
大约是9x6的,调试过程我发在下面
QT_LINUX_V3S_ALLC.rar
这个包一个有9个QT程序,1个界面的,8个应用,是我上面的界面源码,NES模拟器,图片浏览器,俄罗斯方块,文本编辑器,计算器,电子时钟,网络调试助手,系统信息,都是比较简单的,欢迎大家提bug
qt4-NES4.rar
这个我在QT4.8.6,全志v3s上跑过,就是图片的NES模拟器,不过没有声音,可以调整宏添加声音。
--------------------------------------------------------------------------------------------------------------------
#define CONFIG_EXTRA_ENV_SETTINGS \
"bootdelay=3\0" \
"bootcmd=run setargs_mmc boot_mmc\0" \
"console=ttyS0,115200\0" \
"nand_root=/dev/nandd\0" \
"mmc_root=/dev/mmcblk0p2\0" \
"init=/linuxrc\0" \
"loglevel=8\0" \
"setargs_nand=setenv bootargs console=${console} root=${nand_root}\0" \
"setargs_mmc=setenv bootargs console=${console} root=${mmc_root}\0" \
"boot_normal=sunxi_flash read 40007800 boot;boota 40007800\0" \
"boot_mmc=fatload mmc 0:1 40007800 uImage;bootm 40007800\0"
#else
#define CONFIG_EXTRA_ENV_SETTINGS \
"bootdelay=3\0" \
"bootcmd=run setargs_nand boot_normal\0" \
"console=ttyS0,115200\0" \
"nand_root=/dev/nandd\0" \
"mmc_root=/dev/mmcblk0p7\0" \
"init=/init\0" \
"loglevel=8\0" \
"setargs_nand=setenv bootargs console=${console} root=${nand_root}\0" \
"init=${init} loglevel=${loglevel} partitions=${partitions}\0" \
"setargs_mmc=setenv bootargs console=${console} root=${mmc_root}\0" \
"init=${init} loglevel=${loglevel} partitions=${partitions}\0" \
"boot_normal=sunxi_flash read 40007800 boot;boota 40007800\0" \
"boot_recovery=sunxi_flash read 40007800 recovery;boota 40007800\0" \
"boot_fastboot=fastboot\0"
#endif
#define CONFIG_SUNXI_SPRITE_ENV_SETTINGS \
"bootdelay=0\0" \
"bootcmd=run sunxi_sprite_test\0" \
"console=ttyS0,115200\0" \
"sunxi_sprite_test=sprite_test read\0"
这个是/u-boot-2011.9/include/configs/sun8iw8p1_spinand_emmc.h
就三个地方提到了ttyS0,我在前面加console=tty0 还是没有用,下面的是uboot编译脚本
--------------------------------------------------------------------------------------------------------------------------
cd $UBOOT_DIR
make -j8 CROSS_COMPILE=${CROSS_COMPILE} sun8iw8p1_spinand_emmc && \
make -j8 CROSS_COMPILE=${CROSS_COMPILE} fes && \
make -j8 CROSS_COMPILE=${CROSS_COMPILE} boot0
[ $? -ne 0 ] && echo "build u-boot Failed"
--------------------------------------------------------------------------------------------------------------------------
@哇酷小二
小二大大,bootargs这个东东在哪个文件夹呀,谅解我是小白。
#define CONFIG_EXTRA_ENV_SETTINGS \
"bootdelay=3\0" \
"bootcmd=run setargs_mmc boot_mmc\0" \
"console=ttyS0,115200\0" \
"nand_root=/dev/nandd\0" \
"mmc_root=/dev/mmcblk0p2\0" \
"init=/linuxrc\0" \
"loglevel=8\0" \
"setargs_nand=setenv bootargs console=${console} root=${nand_root}\0" \
"setargs_mmc=setenv bootargs console=${console} root=${mmc_root}\0" \
"boot_normal=sunxi_flash read 40007800 boot;boota 40007800\0" \
"boot_mmc=fatload mmc 0:1 40007800 uImage;bootm 40007800\0"
#else
不知道是不是这一段
坛友说的滤波电容问题,其实可以放在背面,背面地方还有很多的
微信小程序控制硬件,现在只是实现了UDP,如果想连互联网不知道该怎么弄,如果有教程,我就尝试移植到V3s上或者H3上。下面的链接是图片
https://whycan.com/files/members/6489/2021-08-2.jpg
https://whycan.com/files/members/6489/2021-08-24 092212_20210824-1326.png
My_linux_board_v3s.pdf@rex
这个是我的原理图,我这个LCD可以使用,用QT程序测试过的,SPI_FLASH与TF卡都可以启动,串口也能打印,USB也可以接鼠标键盘,也可以通过USB烧写程序。
这个板子就是没有注意电源,导致供电不足。我所有的走线都是10mil。这个板子焊接的时候也遇到很多问题,我还是简单梳理一下。
1---3.3v与gnd短路,这个问题很难找,因为3.3v供电的地方太多了。我的做法是焊接好了一部分就测试一下电源是不是短路。
2---LQPF虚焊,这个问题还是比较常见的,128个引脚总有几个引脚不上锡。解决方式就是在拖锡的时候,要把引脚包住在拖。
3---0.5mm的40pin排针短路,焊接好了之后可以用手机摄像头看,把焦距调节到极限。这个比放大镜管用。短接就用烙铁处理。
4---USB不识别,我一直把USB插到固定的电脑口,如果实在是识别不了可以换一个口。我换了一个口就成功识别了。
-------