您尚未登录。

#2 全志 SOC » 交作业:在本站开源的F1C200S开发板跑LVGL demo(支持USB host、usb存储、键盘鼠标、usb有线网卡) » 2023-03-21 15:21:41

zhangyadong300
回复: 1

之前在前辈基础上改了一个支持多种屏的开发板,焊接好后用唱戏机的FLASH测试了一下50PIN的屏就卡在U-BOOT编译了,后面断断续续用了两个月时间学习了一下uboot、Linux、buildboot配置和编译,终于能进文件系统了。

需要PCB文件可以看之前的帖子
https://whycan.com/t_8022.html

因为用的拆机的小牌FLASH,所以中间在uboot和Linux的配置上花了很多时间。一次无意间把装虚拟机的硬盘误删后所有环境都没了就一直搁置了。
今年又翻出来看到之前的屏又心动了一下,于是参照着之前收藏的教程又试了一下,中途有些之前遗忘的和底层文件需要修改的都忘记了需要重新找和翻教程花了几个晚上。看一下效果吧
这次用的40PIN 的屏幕,外接的转50PIN的板子,因为屏上的排线太脆弱了,所以固定一下装在了这个屏里面
IMG_20230321_135729.jpg

IMG_20230321_143054.jpgIMG_20230321_143110.jpg

这个屏也能给另一个板子使用了
IMG_20230321_150503.jpgIMG_20230321_150508.jpg

为了方便调试开启了USB host挂网卡和U盘,但是U盘太麻烦了要频繁插拔,所以用USB网卡tftp下载到FLASH,flash写入速度有点慢后期准备烧到内存卡上。
现在支持rtl81xx和dm9xxx系列USB有线网卡,rtl8188无线网卡还没成功,
IMG_20230321_142933.jpgIMG_20230321_135740.jpgIMG_20230321_143003.jpgIMG_20230321_142937.jpg


jffs2.imgsuniv-f1c100s-licheepi-nano.7zu-boot-sunxi-with-spl.7zzImage.7z

lvgl的makefile刚开始配置错,以为是交叉编译器问题,每次出来都是64位的,后面尝试修改终于可以了

.png

在每个环节需要注意的地方
(都是看论坛各位大佬的经验,总结了一下,感谢各位大佬)

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 Re: 全志 SOC » 站在巨人肩膀上,改了一块F1C200s开发板,用于测试屏幕(8bit、16bit),替换了常用原件增加 » 2022-04-14 14:54:22

更新!更新!
板子收到了,发现一处问题,后面有详细说一下
IMG_20220403_162528.jpgIMG_20220403_162536.jpg

附上晕哥送的芯片
IMG_20220403_162603.jpg

晕哥还送了一块板子非常nice
IMG_20220403_162603.jpg
感谢晕哥



下面开始焊接
首先从电源部分
IMG_20220403_165625_1.jpgIMG_20220403_225911.jpgIMG_20220403_225857.jpg

淘宝买的元件发错了好几种比如这个16V稳压管,无奈用三个5.2V的稳压管接上的
预留了一下测试点位,方便测试电压
IMG_20220403_225916.jpg

上电,电压一切正常
IMG_20220403_231608.jpg
IMG_20220403_231630.jpg

开始焊接F1C200S和外围电路,焊接完成四周在检查一下有无虚焊
IMG_20220404_001226.jpg


这块板子主要用来测试屏幕,手头目前有两种,一种50pin,一种2pin没有合适的fpc插座用的26pin的,焊接插座
这块经验就是大量放焊油,烙铁温度调高
IMG_20220404_002035_1.jpgIMG_20220404_002253_1.jpgIMG_20220404_003817.jpg

焊接完毕,没有40pin屏幕所以正面fpc插座没焊接
IMG_20220404_004703.jpgIMG_20220404_003809.jpgIMG_20220404_005109_1.jpgIMG_20220404_005116_1.jpgIMG_20220404_005132_1.jpg

上电测试一下,一切正常
IMG_20220404_013433.jpg

下载了荔枝派的固件
烧录进去一直卡在u-boot,准备重新编译一版,之前没接触过又是漫长的学习过程了
Snipaste_2022-04-14_14-49-19.png

想起来晕哥送的板子,试试上面的系统
用ch341编程器
把固件下载下来烧率到flash上
接上屏幕
IMG_20220413_083319.jpg

用的之前买的电子屏台卡的屏,就是为了这个屏折腾了这么久
IMG_20220413_083339.jpg
IMG_20220413_083412.jpg

惊喜出现。电路没有问题,背光电流设置的20ma有点小了,可以通过更换电阻解决
后面学习一下u-boot编译,有新进展再来发帖
有其他能跑起来的固件的兄弟可以发我测试一下,在这里先感谢了

#6 Re: 全志 SOC » 不雷同开源送两片,可选 D1/ D1s/ V3x/XR806/XR829/XR32/R11【长期有效】, F1C200s/V3s暂停 » 2022-03-30 17:03:52

Snipaste_2022-03-30_16-49-06.pngSnipaste_2022-03-30_16-50-27.png

@哇酷小二
新手画板,感谢能有机会参加,打板去了,芯片到了就测试
改的开源作品,主要为了测几种屏幕,在原有基础上加了两种屏幕接口并且替换了部分元件
https://whycan.com/p_76409.html#p76409

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn