页次: 1
我看openwrt官网标注了
https://openwrt.org/toh/zoomgo/zx10
之前在前辈基础上改了一个支持多种屏的开发板,焊接好后用唱戏机的FLASH测试了一下50PIN的屏就卡在U-BOOT编译了,后面断断续续用了两个月时间学习了一下uboot、Linux、buildboot配置和编译,终于能进文件系统了。
需要PCB文件可以看之前的帖子
https://whycan.com/t_8022.html
因为用的拆机的小牌FLASH,所以中间在uboot和Linux的配置上花了很多时间。一次无意间把装虚拟机的硬盘误删后所有环境都没了就一直搁置了。
今年又翻出来看到之前的屏又心动了一下,于是参照着之前收藏的教程又试了一下,中途有些之前遗忘的和底层文件需要修改的都忘记了需要重新找和翻教程花了几个晚上。看一下效果吧
这次用的40PIN 的屏幕,外接的转50PIN的板子,因为屏上的排线太脆弱了,所以固定一下装在了这个屏里面
这个屏也能给另一个板子使用了
为了方便调试开启了USB host挂网卡和U盘,但是U盘太麻烦了要频繁插拔,所以用USB网卡tftp下载到FLASH,flash写入速度有点慢后期准备烧到内存卡上。
现在支持rtl81xx和dm9xxx系列USB有线网卡,rtl8188无线网卡还没成功,
jffs2.imgsuniv-f1c100s-licheepi-nano.7zu-boot-sunxi-with-spl.7zzImage.7z
lvgl的makefile刚开始配置错,以为是交叉编译器问题,每次出来都是64位的,后面尝试修改终于可以了
在每个环节需要注意的地方
(都是看论坛各位大佬的经验,总结了一下,感谢各位大佬)
1、UBOOT 添加FLASH支持和屏支持
# 显示spiflash的信息
$ sudo sunxi-fel spiflash-info
Manufacturer: Unknown (0Bh), model: 40h, size: 16777216 bytes.
修改 u-boot/drivers/mtd/spi/spi_flash_ids.c,根据上面查询的信息增加 xt25f128b:
const struct spi_flash_info spi_flash_ids[] = {
...
{"w25q128fw", INFO(0xef6018, 0x0, 64 * 1024, 256, RD_FULL | WR_QPP | SECT_4K) },
{"xt25f128b", INFO(0x0b4018, 0x0, 64 * 1024, 256, RD_FULL | WR_QPP | SECT_4K) },
...
};
我的是 n25w128a:
Manufacturer: Unknown (2Ch), model: CBh, size: 16777216 bytes.
{"n25w128a", INFO(0x2ccb18, 0x0, 64 * 1024, 256, RD_FULL | WR_QPP)}, //添加的
来自 <https://whycan.com/t_7558.html>
1. 设置uboot中的bootargs
设置lcd作为控制台
setenv bootargs ‘console=tty1,115200 root=/dev/nfs rw nfsroot=192.168.136.128:/home/rgd/linux/nfs/rootfs/JC
设置串口tty1作为控制台
setenv bootargs ‘console=ttymxc0,115200 root=/dev/nfs rw nfsroot=192.168.136.128:/home/rgd/linux/nfs/rootfs/JC
将lcd显示屏tty1、串口ttymxc0作为终端显示:
setenv bootargs ‘console=tty1 console=ttymxc0,115200 root=/dev/nfs rw nfsroot=192.168.136.128:/home/rgd/linux/nfs/rootfs/JC
在uboot中设置好在saveenv一下
版权声明:本文为CSDN博主「栋哥爱做饭」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_47397155/article/details/122888220
2、Linux
添加 flash 驱动,需要查看板子使用的 flash 芯片:
# 1. 打开 ./drivers/mtd/spi-nor/spi-nor.c 1168行. 添加如下代码. 对flash支持
{"n25w128a", INFO(0x2ccb18, 0, 64 * 1024, 256, SECT_4K)}, // 20230320 我添加的
配置设备树,若无显示器,则显示部分不用配置:
# 1. 打开 /arch/arm/boot/dts/suniv-f1c100s-licheepi-nano.dts 文件
# 2. 修改 flash和显示驱动
&spi0 {
pinctrl-names = "default";
pinctrl-0 = <&spi0_pins_a>;
status = "okay";
spi-max-frequency = <50000000>;
flash: n25w128a@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "winbond,n25w128a", "jedec,spi-nor";
reg = <0>;
&spi0 {
pinctrl-names = "default";
pinctrl-0 = <&spi0_pins_a>;
status = "okay";
spi-max-frequency = <50000000>;
flash: n25w128a@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "winbond,n25w128a", "jedec,spi-nor";
reg = <0>;
版权声明:本文为CSDN博主「℡四叶草~」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/dwh1314/article/details/124872528
配置中设置
Device Drivers --->
<*> Memory Technology Device (MTD) support --->
<*> Command line partition table parsing # 勾选,用来解析uboot传递过来的flash分区信息。(如果 bootarg 是用的我的方法一就需要勾选)
<*> Caching block device access to MTD devices # 勾选,读写块设备用户模块
<*> SPI-NOR device support --->
[ ] Use small 4096 B erase sectors # 取消勾选,否则jffs2文件系统会报错
来自 <https://whycan.com/t_7558.html>
增加USB HOST支持
修改drivers/clk/sunxi-ng/ccu-suniv.c
usb-hpy0
0x0cc, BIT(1), 0);
我买了5块rk3128主板,刷了ubuntu ,感觉没什么用,准备出掉了
Bug就在这里,背光电路的引脚没有接地,只需要在旁边刮开喊上就可以了
更新!更新!
板子收到了,发现一处问题,后面有详细说一下
附上晕哥送的芯片
晕哥还送了一块板子非常nice
感谢晕哥
下面开始焊接
首先从电源部分
淘宝买的元件发错了好几种比如这个16V稳压管,无奈用三个5.2V的稳压管接上的
预留了一下测试点位,方便测试电压
上电,电压一切正常
开始焊接F1C200S和外围电路,焊接完成四周在检查一下有无虚焊
这块板子主要用来测试屏幕,手头目前有两种,一种50pin,一种2pin没有合适的fpc插座用的26pin的,焊接插座
这块经验就是大量放焊油,烙铁温度调高
焊接完毕,没有40pin屏幕所以正面fpc插座没焊接
上电测试一下,一切正常
下载了荔枝派的固件
烧录进去一直卡在u-boot,准备重新编译一版,之前没接触过又是漫长的学习过程了
想起来晕哥送的板子,试试上面的系统
用ch341编程器
把固件下载下来烧率到flash上
接上屏幕
用的之前买的电子屏台卡的屏,就是为了这个屏折腾了这么久
惊喜出现。电路没有问题,背光电流设置的20ma有点小了,可以通过更换电阻解决
后面学习一下u-boot编译,有新进展再来发帖
有其他能跑起来的固件的兄弟可以发我测试一下,在这里先感谢了
@哇酷小二
新手画板,感谢能有机会参加,打板去了,芯片到了就测试
改的开源作品,主要为了测几种屏幕,在原有基础上加了两种屏幕接口并且替换了部分元件
https://whycan.com/p_76409.html#p76409
页次: 1