您尚未登录。

#1 工业芯 匠芯创 » D133挂载文件失败 » 2024-12-12 14:13:55

LiuZiqian
回复: 2

各位大佬,求助D133在挂载 rodata 失败,怎么解决。我是用的是mmc,以下是启动信息:

01-01 08:00:00 I/SDMC: SDMC1 BW 1, sclk 49500 KHz, clk expt 400 KHz(act 399 KHz), div 2-62

[I] aic_sdmc_probe()683 SDMC1 driver loaded
01-01 08:00:00 I/sensor: rt_sensor[temp_tsen_cpu] init success
01-01 08:00:00 I/sensor: rt_sensor[temp_tsen_gpai] init success
01-01 08:00:00 I/WDT: ArtInChip WDT loaded
01-01 08:00:00 E/DFS: mount fs[elm] on /rodata failed.

01-01 08:00:00 E/DFS: mount fs[elm] on /sdcard failed.

可以看到这个时候 sdcard 也挂载失败了。
然后在最后,启动lvgl 的时候 sdcard 竟然又挂载上了,测试过可以正常使用文件系统,而 rodata 还是不行。

01-01 08:00:00 I/LVGL: Success to create LVGL thread
D13x /> info: cmd ring buf size:1920
info: cmd ring buf size:1920
lvgl is occupying gt911 device
id = GT911 
range_x = 1024 
range_y = 600 
point_num = 5 
01-01 08:00:00 I/SDMC: SDMC1 BW 1, sclk 49500 KHz, clk expt 400 KHz(act 399 KHz), div 2-62

01-01 08:00:00 I/SDIO: SD card capacity 491520 KB.
01-01 08:00:00 I/SDMC: SDMC1 BW 1, sclk 49500 KHz, clk expt 50000 KHz(act 49500 KHz), div 1-0

01-01 08:00:00 I/DFS: mount fs[elm] device[sd0] to /sdcard ok.

跑 debug 看,挂载 rodata 失败是因为 (\kernel\rt-thread\components\dfs\src\dfs_fs.c) 中:

int dfs_mount(const char   *device_name,
              const char   *path,
              const char   *filesystemtype,
              unsigned long rwflag,
              const void   *data)
{
    const struct dfs_filesystem_ops **ops;
    struct dfs_filesystem *iter;
    struct dfs_filesystem *fs = NULL;
    char *fullpath = NULL;
    rt_device_t dev_id;

    /* open specific device */
    if (device_name == NULL)
    {
        /* which is a non-device filesystem mount */
        dev_id = NULL;
    }
    else if ((dev_id = rt_device_find(device_name)) == NULL)
    {
        /* no this device */
        rt_set_errno(-ENODEV);
        return -1;
    }

rt_device_find 的时候失败了,在 board.c 中,挂载 rodata 的地方为:

{"blk_rodata", "/rodata", "elm", 0, 0, 0},

而正是因为前面没有找到 "blk_rodata" 相关的设备,就退出了挂载。而后面,经过我摸索,"blk_rodata" 在 env.txt 中有声明,
但是我使用的是 mmc,烧录程序的时候如果勾选上 env (配置按照文档正确操作)就会出现以下错误(D133串口输出):

CBW tag 0x1765
TRANS_LAYER_CMD_WRITE, data len 2048
[E] mmc_fwc_raw_write()413 not find env;env_r part info.
CPU Exception: NO.5
x1: 4020ae8c    x2: 4022bbc4    x3: 40229000    x4: 00000000
x5: ffffffff    x6: fffffffd    x7: ffffffff    x8: 00000000
x9: 00000004    x10: 00000039   x11: 00000000   x12: ffffffff
x13: ffffffff   x14: 000f40e2   x15: 00000000   x16: 0000000a
x17: 4022b961   x18: 40294750   x19: 00000800   x20: 40294708
x21: 40295208   x22: 40284620   x23: 4021cc4c   x24: 402247c4
x25: 4022475c   x26: 4022479c   x27: 00004001   x28: 0000000a
x29: 00000200   x30: 00000000   x31: 00000004
mcause : 30000005
mtval  : 0000009c
mepc   : 4020adce
mstatus: 00003800

这就很头大,更不理解的是,在后面 sdcard 设备又挂载上了,目前我还在找它是从什么地方挂载的.......

感谢各位大佬能提供解决思路!

#2 工业芯 匠芯创 » D133EBS LVGL 显示异常 » 2024-10-12 09:46:10

LiuZiqian
回复: 3

我在使用过程中,配置好了所有参数,彩色条纹、单色均能正常显示。一旦使用LVGL,采用最简单的画一个按钮,都会造成花屏,不知道是什么原因。希望大佬能提供一下解决问题的思路。
a3e7940930db64a86e9022f62d988a28.jpg.jpg
IMG_6511.JPG.jpg
时序以及RGB参数均配置无误,另外使用AiPQ调屏助手也显示无误。采用1024x600 RGB屏幕

#3 工业芯 匠芯创 » D13x SVD文件 » 2024-09-23 16:30:21

LiuZiqian
回复: 0

有大佬做过 D13x 相关的 SVD 文件吗?
顺便请教一下,访问外设寄存器,如果不使用这个文件,那么应该用什么方式去访问外设寄存器方便一点(读Memory当然可以,就是不直观)

#4 工业芯 匠芯创 » D133EBS使用 » 2024-09-19 13:50:27

LiuZiqian
回复: 4

各位大佬,有D133EBS的img文件吗?我这边编译之后出现以下问题(AiBurn 日志):
[debug] WinEvent: Some devnode changed
[info ] Set upg work mode: 1
[debug] Blocksize 1 , chunk 1048576 * 0 , rest 2048
[debug] Offset: 0 Size: 2048
[debug]  Dev "1:1-4-2" Send the rest data 2048
[error] Dev "1:1-4-2" Failed to send data 2048
[error]  Dev "1:1-4-2" Failed to send 2048
[warn ] Try to resend firmware component image.info , try count: 1
[warn ] Try to recovery the connection
[error] Connection recovery failed!


串口输出:
Pre-Boot Program ... (24-05-30 17:09 569b02e)
USB/UART
cs=0, phase=3
cs=1, phase=2
Psram_init done.
goto run SPL

tinySPL [Built on Sep 19 2024 13:31:10]
[W] usbh_get_connect_id()107 usb 0 port change wait failed.
[E] main()172 Not find udisk.
Startup reason: Power-On-Reset
Firmware Component:
    name:      image.info
    partition:
    attr:      required
    Media:     RAM(0)
qspi0 freq (input): 99000000Hz
qspi0 freq ( bus ): 49500000Hz
[E] sfud_probe()475 sfud_device_init failed: ret 4
Failed to probe spinor flash.
[E] image_info_proc()117 NOR prepare failed


刚入门,我们这边是自己画的板子,因此想试试是硬件问题还是软件问题。
希望有大佬能提供编译好的D133EBS镜像文件。提前感谢各位大佬!

页脚

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

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