一个缺点就是,这个d122没有USB口,只能用串口进行下载,
它串口下载又做的非常慢,就下载一个分区os,大概1M,就要1分钟,如果是整个文件下载,8M左右,都要2分钟以上
这点就很不好,波特率已经设置成了1M,按道理来说,速度可以达到110KB以上,下载一个1M的东西可以10秒钟
就可以搞定,而它居然要1分钟。 另外d122系列,只有68个脚最高,这样大概只能作为显示,不能驱动很多外置的设备。
下面是测试视频,整理来看,还很流畅
离线
d133跑lvgl例程,用的800*480的屏幕。跑aic的base_demo,可能默认是1200*600分辨率的例程,显示不全,但是顶部哪里为何会乱闪?
又尝试lvgl官方的keypad_encoder例程,运行后不显示字体,还很虚。这个例程应该是800*480分辨率的啊。
最近编辑记录 Gentlepig (2024-05-09 17:25:42)
离线
@大明明哥 屏幕多大,分辨率多少?调试用jlink还是专用调试器?
离线
只能说还可以吧。
D1x没测过。测试过D213开发板,32位色,1024*600跑widget例程,全屏刷新,动态帧率最低25帧。
更高分辨率就需要产品设计时予以合理规避了。
理想情况下是希望1920*1024(1K)情况下能保证30帧。目前看还有点差距。
离线
@大明明哥 屏幕多大,分辨率多少?调试用jlink还是专用调试器?
分辨率800*480 ,调试用cklink
离线
参照luban-doc文档,添加lvgl_test程序。按介绍,应该是显示如第一张图片那样,结果却是第二张图片。放大按钮尺寸,显示第三张图片。
离线
问题已找到,lvgl色深选了32,而lcd接口设置的的rgb888,改成argb8888就正常了。
离线
Pre-Boot Program ... (24-03-28 14:17 853acea)
SPINOR
cs=0, phase=3
cs=1, phase=2
Psram_init done.
goto run SPL
tinySPL [Built on May 6 2024 15:16:22]
[W] usbh_get_connect_id()107 usb 0 port change wait failed.
[E] main()133 Not find udisk.
qspi0 freq (input): 99000000Hz
qspi0 freq ( bus ): 49500000Hz
qspi0 freq ( bus ): 99000000Hz
Selecting default config 'Luban-lite firmware'
spl read: 631304 byte, 13254 us -> 46514 KB/s
spl read: 235968 byte, 5011 us -> 45986 KB/s
spl read: 8924 byte, 494 us -> 17640 KB/s
169281 : Run APP
_ _ ___ ___ _ _
/ \ _ __| |_|_ _|_ __ / __| |__ (_)_ __
/ _ \ | '__| __|| || '_ \| | | '_ \| | '_ \
/ ___ \| | | |_ | || | | | |__| | | | | |_) |
/_/ \_\_| \__|___|_| |_|\___|_| |_|_| .__/
|_|
Welcome to ArtInChip Luban-Lite 1.0 [Built on May 10 2024 11:41:54]
qspi0 freq (input): 99000000Hz
qspi0 freq ( bus ): 49500000Hz
01-01 12:13:24 I/NO_TAG: Flash ID: 0xef4018
01-01 12:13:24 I/NO_TAG: Find a Winbond flash chip. Size is 16777216 bytes.
qspi0 freq (input): 99000000Hz
qspi0 freq ( bus ): 99000000Hz
01-01 12:13:24 I/NO_TAG: norflash0 flash device is initialize success.
01-01 12:13:24 I/NO_TAG: Probe SPI flash norflash0 by SPI device qspi01 success.
[I] aic_find_panel()62 find panel driver : panel-rgb
[I] aicfb_probe()950 fb0 allocated at 0x40045920
[I] hal_ge_init()342 cmd queue hal, cmdq buffer size = 2048
[I] hal_ge_init()400 dither line phys: 0x40334180
01-01 12:13:24 I/RTP: x_plate 235 y_plate 665
01-01 12:13:24 I/touch: rt_touch init success
01-01 12:13:24 I/RTP: ArtInChip RTP loaded
01-01 12:13:24 I/WDT: ArtInChip WDT loaded
Reboot action: Watchdog-Reset, reason: Command-Reboot
Startup time: 0.473 sec
info: cmd ring buf size:1920
info: cmd ring buf size:1920
[I] rtp_get_fb_info()97 Screen width: 800, height: 480
dlk /> 01-01 12:13:39 I/RTP: Unsupported cmd: 0x1501
01-01 12:13:39 I/RTP: Unsupported cmd: 0x150b
电阻屏触控不准。
不运行lvgl程序,运行test_rtp_draw校准,然后画线,看着还算跟手,没有啥偏移。
lvgl例程里,也有触控校准部分,运行lvgl后,先执行了校准,然后进lvgl界面,但是触控偏移很大。可以左右滑动、上下滑动总是失败。
看串口信息,有两个关于rtp的警告:
Unsupported cmd: 0x1501
Unsupported cmd: 0x150b
最近编辑记录 Gentlepig (2024-05-10 13:54:13)
离线
看test_rtp_draw程序,有两处xy交换,一处是校准是,画出十字光标后,获取测试点坐标,获取后,进行了次xy转换。
然后画线程序画线时,将获取的触控坐标进行xy转换,再瞄点。
按这个,在lvgl_rtp相关部分加入这两个xy交换,就可以了。
lv_tpc_rtp.c
if (data->x_coordinate > 0 || data->y_coordinate > 0) {
press_flag = 1;
rt_device_control(rtp_dev, RT_TOUCH_CTRL_SET_X_TO_Y, (void *)data);
lv_tpc_run.c
#ifdef AIC_USING_RTP
extern void lv_convert_adc_to_coord(struct rt_touch_data *data);
rt_device_control(dev, RT_TOUCH_CTRL_SET_X_TO_Y, (void *)(&(read_data[i])));
lv_convert_adc_to_coord(&read_data[i]);
#endif
请教,这里为什么要进行xy坐标交换?
离线