我今天也遇到了,除了更改跟MMC相关的东西外还有一个比较容易忽视的是“Fixed voltage regulator support”要选中。
Device Drivers ---> Voltage and Current Regulator Support ---> Fixed voltage regulator support;
Device Drivers ---> MMC/SD/SDIO card support ---> <*> HW reset support for eMMC
<*> Simple HW reset support for MMC
<*> MMC block device driver
(8) Number of minors per block device
smartcar 说:https://whycan.cn/t_2002.html#p13479
改成 root=31:01 试一试
这么改不行,我觉得应该是官网给的文件系统有问题,或者说内核哪里没有配置好,再去看看;)
我已经将所有的都烧到TF卡上了,使用已有的Nano_pub_vx的uboot可以正常,但是用u-boot-nano-lcd800480重新编译就不行,怎么改都显示
SF: Detected w25q128bv with page size 256 Bytes, erase size 4 KiB, total 16 MiB
device 0 offset 0x100000, size 0x4000
SF: 16384 bytes @ 0x100000 Read: OK
device 0 offset 0x110000, size 0x400000
SF: 4194304 bytes @ 0x110000 Read: OK
烧到TF卡的8k偏移处
终于稿明白了,启动psplash后,手动echo "PROGRESS 100" > /mnt/.psplash/psplash_fifo 可以直接看到效果,在每个启动任务启动的时候加上echo "PROGRESS $progress" > /mnt/.psplash/psplash_fifo 就可以以实现进度条变化了。
在/etc/init.d/rcS中增加如下:
startup_progress() {
# 当前进度大小=上一次的进度+上每次的进度的变化值
step=$(($step + $step_change))
if [ "$num_steps" != "0" ]; then
# 这里相当于重新计算当前step占进度条的百分比
progress=$((($step * $progress_size / $num_steps) + $first_step))
else
# 直接就是100%了
progress=$progress_size
fi
#echo "PROGRESS is $progress $runlevel $first_step + ($step of $num_steps) $step_change $progress_size"
#if type psplash-write >/dev/null 2>&1; then
# TMPDIR=/mnt/.psplash psplash-write "PROGRESS $progress" || true
#fi
# 将上面的progress的值写入fifo中去,echo的值是固定的。
if [ -e /mnt/.psplash/psplash_fifo ]; then
echo "PROGRESS $progress" > /mnt/.psplash/psplash_fifo
fi
}
---------------------
原文:https://www.cnblogs.com/zengjfgit/p/5116713.html
psplash生成:
1.下载psplash:git clone git://git.yoctoproject.org/psplash
2.将图片转换成代码文件:./make-image-header.sh xxxlogo.png POKY,生成图片文件xxxlogo.c,xxxlogo.h
3.修改xxxlogo.c,将#include "psplash-poky-img.h"替换成#include "xxxlogo.h"
4.制作autogen.sh脚本,用于生成Makefile,如下
#!/bin/bash
aclocal
autoheader
automake --add-missing
autoconf
5.生成Makefile:./autogen.sh
6.配置交叉编译库:./configure --host=arm-linux CC=arm-linux-gnueabihf-g
7.执行make:生成psplash与psplash-write。
8.将psplash与psplash-write拷贝到根文件系统/usr/bin/目录下。
9.psplash.sh脚本在根文件系统/etc/init.d中,此项已经存在。
10.psplash.sh的链接在根文件系统/etc/rcS.d/目录下,用于开机启动。
---------------------
原文:https://blog.csdn.net/liming8754955/article/details/78506247
小菜 说:zzm24 说:开cache
开了Icache和Dcache是好点了,但是还是感觉卡。我原来用的一个120MHz的MIPS(估计配置下来也就90多M)的片子跑GUI,很流畅。
你看这个帖子: https://whycan.cn/t_1457_2.html 也是裸跑的,并不卡。
能否把视频效果放出来参考参考?
我刚试了周立功移植过来的那个程序也是卡,难道是我的板子有问题?
在大侠达克罗德放出的《F1C100S裸奔framebuffer + PWM + GPIO驱动》基础上移植LVGL。
目前已经能够在800*480的屏幕上使用32颜色深度,跑lvgl的demo例子。
但感觉速度很慢,比在linux下使用fbdev还慢。
有时间再优化。
看看能不能用DMA实现数据传输。
源代码:
lvgl_f1c100s.zip
[ 0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=0005317f
[ 0.000000] CPU: VIVT data cache, VIVT instruction cache
[ 0.000000] OF: fdt: Machine model: Lichee Pi Nano
[ 0.000000] Memory policy: Data cache writeback
[ 0.000000] random: fast init done
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 8128
[ 0.000000] Kernel command line: console=tty0 console=ttyS0,115200 panic=5 rootwait root=/dev/mmcblk0p2 rw
是不是内核编译的时候有选项?我看我这边上电是白屏,引导完进入linux后才出log信息。
你的 bootargs 的 console 参数是不是 framebuffer /dev/fb0 ?
如果是的那么和 应用程序冲突了, 共用了 framebuffer, 画面当然乱了.
以下是我的bootargs里面的内容。没有提到frambuffer。
setenv bootargs console=tty0 console=ttyS0,115200 panic=5 rootwait root=/dev/mmcblk0p2 rw
load mmc 0:1 0x80C00000 suniv-f1c100s-licheepi-nano-with-lcd.dtb
#load mmc 0:1 0x80C00000 suniv-f1c100s-licheepi-nano.dtb
load mmc 0:1 0x80008000 zImage
bootz 0x80008000 - 0x80C00000
#fatload mmc 0 0x42000000 zImage
#bootz 0x48000000 - 0x45000000
# Recompile with:
# mkimage -C none -A arm -T script -d orangepi.cmd boot.scr
在C600里面使用
./build.sh config
./build.sh -p sunivw1p1 -k linux-3.10 -m all
后出现如下问题。
>>> host-lzo 2.03 Autoreconfiguring
main::scan_file() called too early to check prototype at /home/f1c100s/c600/out/sunivw1p1/linux/common/buildroot/host/usr/bin/aclocal line 618.
acinclude.m4:165: the serial number must appear before any macro definition
acinclude.m4:207: the serial number must appear before any macro definition
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `autoconf'.
libtoolize: copying file `autoconf/ltmain.sh'
libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.ac and
libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree.
libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
main::scan_file() called too early to check prototype at /home/f1c100s/c600/out/sunivw1p1/linux/common/buildroot/host/usr/bin/aclocal line 618.
acinclude.m4:165: the serial number must appear before any macro definition
acinclude.m4:207: the serial number must appear before any macro definition
Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/\${ <-- HERE ([^ \t=:+{}]+)}/ at /home/f1c100s/c600/out/sunivw1p1/linux/common/buildroot/host/usr/bin/automake line 4113.
autoreconf: /home/f1c100s/c600/out/sunivw1p1/linux/common/buildroot/host/usr/bin/automake failed with exit status: 255
make: *** [/home/f1c100s/c600/out/sunivw1p1/linux/common/buildroot/build/host-lzo-2.03/.stamp_configured] 错误 1
make: 离开目录“/home/f1c100s/c600/buildroot”
ERROR: build buildroot Failed