您尚未登录。

#1 Re: RISC-V » RISC-V不支持非对齐地址访问非常坑 » 2024-06-20 09:53:52

把uint8_t* 指向的实际对象,放在对齐变量,就没有任何问题。
比如:
int i;
uint8_t str[512];
uint8_t* t =(uint8_t*)&str[0];

然后,你再给int* p=(int*)t;
这个就是对齐访问啊。如果str[0]是头 str[1]以后是数据
用uint8_t* t =(uint8_t*)&str[1];

这时候用int* p=(int*)t;     p可能会有不对齐的情况。

#2 Re: Cortex M0/M3/M4/M7 » 看daplink源码编译教程,为何会生成多个if目录? » 2024-05-15 13:38:46

前面是dap的主控 后面是目标的主控  为了拖着烧录用的 好像是这样

#4 Re: 工业芯 匠芯创 » 入坑D133 » 2024-02-02 21:50:37

Rafx 说:

请问支持40PIN的LVDS吗

LVDS要使用RGB的座子转一下了。

#5 Re: 工业芯 匠芯创 » 入坑D133 » 2024-02-02 21:48:53

liozeng 说:

@sjshe3326
楼主,这个工程能分享下吗? 比如原理图和代码, 我自己手头上有一块正点原子7寸1024*600的屏幕,正在找方案把它点亮呢

可以 我整理下发出来,本来这个第一版就是把屏调一调。
本来想再改一下,把屏的接口都兼容上去。手上没有其他屏幕 就还没有改第二版。

#6 Re: 工业芯 匠芯创 » 入坑D133 » 2024-02-02 11:10:22

@Gentlepig

我改动是下面代码里面panel_x  panel_y哪里xy交换,这个是和硬件相关的

static void test_draw_a_point(u32 cnt, struct aic_rtp_event *e,
                              calibration *cal)
{
    u32 pos = 0;
    u8 *buf = NULL;
    int panel_x = 0;
    int panel_y = 0;
    int a[7] = {0};
    u8 rate = g_fb_info.bits_per_pixel / AIC_BITS_TO_BYTE_RATE;

    panel_x = AIC_RTP_MAX_VAL - e->y;       // ls x<->y   //
    panel_y = AIC_RTP_MAX_VAL - e->x;       // ls x<->y   //
    panel_x = (panel_x * g_fb_info.width) / AIC_RTP_MAX_VAL;
    panel_y = (panel_y * g_fb_info.height) / AIC_RTP_MAX_VAL;

#7 Re: 工业芯 匠芯创 » 入坑D133 » 2024-02-01 19:58:09

@Gentlepig
一条斜线问题 我开始也遇到了,是x y 坐标反了造成的。我在rtp里面把 xy交换就可以了

#9 Re: 工业芯 匠芯创 » 入坑D133 » 2024-01-29 10:29:12

@Gentlepig
另外要看下 好像官方SDK默认是LVDS还是mipi 没有把RGB管脚全部配成RGB模式功能 需要自己加一下

#10 Re: 工业芯 匠芯创 » 入坑D133 » 2024-01-29 10:27:49

@Gentlepig
感觉是1240 和 650两个参数有问题 因该没有这么大

#11 Re: 工业芯 匠芯创 » 入坑D133 » 2024-01-26 13:29:11

Gentlepig 说:

我用的7寸800*480的40pin的rgb屏幕,没点亮,能给点指导吗?背光是亮了。
de里,选了rgb,试过rgb888,rgb565,屏幕都没图像。panel那里改成了800*480.

还要配置下其他的时序, 另外你用什么哪一个代码显示屏的? 我是裸机直接刷FB

#12 Re: 工业芯 匠芯创 » 第一块D133CBS 烧录并运行成功 » 2024-01-23 11:09:41

@Gentlepig
我前面也遇到同样问题,换了一篇SPI FLSHA就正常了。后来使用新的下载软件,没有再出现。

#13 Re: 全志 SOC » 全志F1C100S摄像头效果怎么样?感觉失真比较严重,跟TW88XX相比,差别比较大 » 2024-01-22 17:58:47

要看你用的是什么数据模式RGB/还是YUV,摄像头本身的色彩怎么样。

#14 Re: 工业芯 匠芯创 » D133CBS 完全使用内置LDO,原理图要如何设计 » 2024-01-12 10:45:36

睡眠不足 说:

如标题:D133CBS 完全使用内置LDO,原理图要如何设计?gitee上的文档不详细,找不到任何信息,LDO1X可以像LDO25那样,外接一个电容就行了吗?

是的外面加电容就行了

#15 Re: 工业芯 匠芯创 » 匠芯创ArtInChip Datasheet更新2023-12-14 » 2024-01-09 08:42:45

请问 D133芯片使用的SPI NOR容量大小和分区参数 在哪里设置 不跑系统的裸机代码

#16 Re: 工业芯 匠芯创 » 入坑D133 » 2024-01-08 09:48:06

huaxi 说:

可以驱动MIPI屏幕吗

看规格是可以的,我手上没有mipi的屏  暂时没试。

#17 Re: 工业芯 匠芯创 » 入坑D133 » 2024-01-05 09:42:23

移植nes,运行速度飞快

_20240105094058.jpg

#18 Re: 工业芯 匠芯创 » D133EBS烧录失败问题 » 2024-01-04 21:17:42

@老鸟kkk

请问你是用官方的BSP重新编译bootload的么, 我试了用原先自带的bootload.bin可以正常启动APP 重新编译了bootload后 就会报错

Pre-Boot Program ... (2023-11-14 13:46:14)
                                          SPINOR

tinySPL (LDO11_LDO18 ON) [Built on Jan  4 2024 14:50:59]
[W] usbh_get_connect_id()107 usb 0 port change wait failed.
[E] main()137 Not find udisk.
qspi0 freq (input): 100000000Hz
qspi0 freq ( bus ): 50000000Hz
qspi0 freq ( bus ): 100000000Hz
Not found FIT
 114913 : Run APP

#19 Re: 工业芯 匠芯创 » 匠芯创ArtInChip Datasheet更新2023-12-14 » 2024-01-04 20:54:16

ArtInChip 说:

@sjshe3326

可以问一下我们工程师


怎么问有联系方式或者官方论坛什么渠道么

#20 Re: 工业芯 匠芯创 » 匠芯创ArtInChip Datasheet更新2023-12-14 » 2024-01-04 15:27:43

D133芯片 使用外部的1.1V和1.8V可以正常下载启动运行。想使用内部LDO的1.8V 1.1V. boot代码已经开启1.1和1.8V的配置app里面也开启了。
重新编译后,下载到芯片内启动SPL后无法启动APP显示Not FOUND FIT, 就卡住了,是什么问题?

Pre-Boot Program ... (2023-11-14 13:46:14)
                                          SPINOR

tinySPL (LDO11_LDO18 ON) [Built on Jan  4 2024 14:50:59]
[W] usbh_get_connect_id()107 usb 0 port change wait failed.
[E] main()137 Not find udisk.
qspi0 freq (input): 100000000Hz
qspi0 freq ( bus ): 50000000Hz
qspi0 freq ( bus ): 100000000Hz
Not found FIT
 114913 : Run APP

#21 Re: 工业芯 匠芯创 » D133 烧录经常失败,怎么解决 » 2023-12-27 14:02:04

你这个是 编译内核和应用的 menuconfig里的把。 使用的boot好像是个bin,需要把哪个boot的bin重新做个。

参考 :


我的是只用了3.3V供电,其他的是用的内置的ldo电源,用的nor flash。根据官方的说法要先把config配置成bootloader,然后在bootloader的menuconfig中把1.1和1.8的电源使能输出(默认1.1有1.2V输出,1.8没有输出),根据手册1.1V和1.8V的寄存器值应设为4和3,然后编译;接下来把config配置成app的,同理配置1.1和1.8电源后再编译,按他们的说法打包镜像的时候会自动去找前面编译好的bootloader一起打包。
举个例子:
在luban-lite下使用env:scons --apply-def=2 ---> scons --menuconfig配置ldo输出 --->编译;scons --apply-def=3 ---> scons --menuconfig配置ldo输出 --->编译,然后就可以烧录镜像了

#22 Re: 工业芯 匠芯创 » D133 烧录经常失败,怎么解决 » 2023-12-27 11:28:14

看其他贴消息 好像需要boot里面先开启电源 然后才行。我一开始使用1.8V也是没电,可以下载没法运行。

#25 Re: 工业芯 匠芯创 » 匠芯创ArtInChip QSPI双屏异显的应用 » 2023-12-25 21:36:30

请问楼主 在panel_xxx_xx.c 中display_timing结构体中pixelclock。
在RGB模式下 应该是输出的像素时钟 PCLK,在8080模式下的WR时钟和SPI模式下SCLK时钟关系是怎么样的。
文档里面的说的不是太明确。

#27 Re: 工业芯 匠芯创 » 匠芯创ArtInChip QSPI双屏异显的应用 » 2023-12-21 20:59:18

tangloong 说:
chaplin1999 说:

@ArtInChip
双屏异显 有例程么?

我的gitee 里的SPI显示0.96寸的是IO模拟的 按理说 只要IO够 10几个屏幕异显都可以
当然分辨率高了 就需要硬件SPI了


多个屏幕显示直接驱动都问题不大,怎么在系统框架或者FB实现多个屏幕的统一管理和图层,UI多屏移动。

#28 Re: 工业芯 匠芯创 » 入坑D133 » 2023-12-21 20:57:23

wujique 说:

我的板子还没做好。

你要调其他屏,可以参考

https://gitee.com/hokgaai/PetiteDrv?_from=gitee_search

里面有很多lcd驱动。



调屏不难,MCU做过很多。使用这个芯片的库和一些驱动,需要看下。主要是手上屏幕没有这么多种。

#29 Re: 工业芯 匠芯创 » 入坑D133 » 2023-12-21 14:53:55

@ArtInChip  就是样品价格有点贵……

#30 工业芯 匠芯创 » 入坑D133 » 2023-12-21 14:23:27

sjshe3326
回复: 40

全志的资料太少,研究太累不想玩了。这个芯片资料比较全,入坑玩玩。
做了个D133板子88P的,支持多种LCD接口,可以当点屏神器了。  支持RGB/LVDS/MIPI/8080/SPI/QSPI
目前裸机代码调通320*480 8080-16bit。其他继续调。

后面改版,大家有什么想法可以参考。

_20231221140827.jpg
_20231221140855.jpg
_20231221140845.jpg

#31 Re: 工业芯 匠芯创 » 烧录失败问题 » 2023-12-21 14:16:31

@ ArtInChip  1.34 工具哪里下?
换了个空的FLASH又可以下了 奇怪。

#32 Re: 工业芯 匠芯创 » 一个人调试太孤单了,终于可以卖4块D133CBS开发板了,公布一下进展,找人一起玩 » 2023-12-21 14:14:32

也做了一个133的板子  支持多种LCD接口,目前调通8080-16bit和RTP。其他再调。空板子还有几片,有人要么。
_20231221140827.jpg
_20231221140845.jpg

#33 工业芯 匠芯创 » 烧录失败问题 » 2023-12-20 12:55:54

sjshe3326
回复: 14

前面烧录都正常,今天发现烧录不对,Aiburn显示成功,但是log里面有错误,实际上img也没有烧录进去,还是旧的。
看看是什么问题?

err.jpg

[debug] [2023-12-20 12:41:08] Software Version: "1.0.8"
[debug] [2023-12-20 12:41:08] Machine Name: "123[img]https://whycan.com/files/members/5326/err.jpg[/img][img]https://whycan.com/files/members/5326/err.jpg[/img]"
[debug] [2023-12-20 12:41:08] System Name: "Windows 10 (10.0)"
[debug] [2023-12-20 12:41:08] CPU Architecture: "x86_64" 

[debug] [2023-12-20 12:41:08] Parse the image header from "E:/ArtinChip/luban-lite/output/d13x_demo88-nor_baremetal_helloworld/images/d13x_demo88-nor_v1.0.0.img"
[debug] [2023-12-20 12:41:08] Soc type: "d13x"
[debug] [2023-12-20 12:41:08] Board type: "demo88-nor"
[debug] [2023-12-20 12:41:08] Image version: "1.0.0"
[debug] [2023-12-20 12:41:08] Storage type: "spi-nor"
[debug] [2023-12-20 12:41:08] Storage ID: ""
[debug] [2023-12-20 12:41:08] Meta count: "4" 

[debug] [2023-12-20 12:41:08] Refresh the partition tree ...
[debug] [2023-12-20 12:41:08]   Part name: image.target.spl , size: 125968 
[debug] [2023-12-20 12:41:08]   Part name: image.target.os , size: 122320 

[debug] [2023-12-20 12:41:08] Current connect type: 0
[debug] [2023-12-20 12:41:08] No device available
[debug] [2023-12-20 12:41:12] Current file path: "E:/ArtinChip/luban-lite/output/d13x_demo88-nor_baremetal_helloworld/images/d13x_demo88-nor_v1.0.0.img"
[debug] [2023-12-20 12:41:30] Parse the image header from "E:/ArtinChip/baremetal/output/d13x_demo88-nor_baremetal_helloworld/images/d13x_demo88-nor_v1.0.0.img"
[debug] [2023-12-20 12:41:30] Soc type: "d13x"
[debug] [2023-12-20 12:41:30] Board type: "demo88-nor"
[debug] [2023-12-20 12:41:30] Image version: "1.0.0"
[debug] [2023-12-20 12:41:30] Storage type: "spi-nor"
[debug] [2023-12-20 12:41:30] Storage ID: ""
[debug] [2023-12-20 12:41:30] Meta count: "4" 

[debug] [2023-12-20 12:41:30] Refresh the partition tree ...
[debug] [2023-12-20 12:41:30]   Part name: image.target.spl , size: 96272 
[debug] [2023-12-20 12:41:30]   Part name: image.target.os , size: 96784 


[debug] [2023-12-20 12:41:38] WinEvent: Some devnode changed
[debug] [2023-12-20 12:41:38] There are "1" device available

[debug] [2023-12-20 12:41:38] Try to connect the ArtInChip device ...
[debug] [2023-12-20 12:41:38] Try to get Usb device hd info...
[debug] [2023-12-20 12:41:38] Boot device1: "0"
[debug] [2023-12-20 12:41:38] Boot device2: "0"
[debug] [2023-12-20 12:41:38] The status of ArtInChip device:  true

[debug] [2023-12-20 12:41:38] WinEvent: Some devnode changed
[debug] [2023-12-20 12:41:38] There are "1" device available
[debug] [2023-12-20 12:41:50] Start burn online ...
[debug] [2023-12-20 12:41:50] Progress range: 0 ~  294912

[debug] [2023-12-20 12:41:50] Burn Image file "E:/ArtinChip/baremetal/output/d13x_demo88-nor_baremetal_helloworld/images/d13x_demo88-nor_v1.0.0.img" ...


[debug] [2023-12-20 12:41:50] Meta 0 image.updater.spl , size 96272 ...
[debug] [2023-12-20 12:41:50] Blocksize 4 , chunk 1048576 * 0 , rest 96272
[debug] [2023-12-20 12:41:50] Offset: 4096 Size: 96272
[debug] [2023-12-20 12:41:50]  Dev "1:3" Send the rest data 96272
[error] [2023-12-20 12:41:51] aicupg_trans_recv_pkt()208:             CSW size 0, Pipe error(-9)
[error] [2023-12-20 12:41:51] aicupg_cmd_send_fwc_data_final()704:    Recv resp failed, expect 16, got 0
[debug] [2023-12-20 12:41:51] Don't check the result of image.updater.spl

[debug] [2023-12-20 12:41:51] Meta 1 image.info , size 2048 ...
[error] [2023-12-20 12:41:51] aicupg_trans_send_pkt()80:              CBW tag 0x41, size 0, Input/Output Error(-1)
[error] [2023-12-20 12:41:51] aicupg_cmd_get_hwinfo()85:              Send command failed. ret = 0, siz = 16
[debug] [2023-12-20 12:41:51] Wait to reconnect dev "1:3"
[debug] [2023-12-20 12:41:51] QTime("12:41:51.210") Wait for Dev "1:3" ready

[debug] [2023-12-20 12:41:51] WinEvent: Some devnode changed

[debug] [2023-12-20 12:41:51] WinEvent: Some devnode changed
[warn ] [2023-12-20 12:41:51] Set upg work mode: 0

[debug] [2023-12-20 12:41:51] WinEvent: Some devnode changed
[debug] [2023-12-20 12:41:51] Blocksize 1 , chunk 1048576 * 0 , rest 2048
[debug] [2023-12-20 12:41:51] Offset: 0 Size: 2048
[debug] [2023-12-20 12:41:51]  Dev "1:3" Send the rest data 2048

[debug] [2023-12-20 12:41:51] Meta 2 image.target.spl , size 96272 ...
[debug] [2023-12-20 12:41:51] Blocksize 2048 , chunk 1048576 * 0 , rest 96272
[debug] [2023-12-20 12:41:51] Offset: 102400 Size: 96272
[debug] [2023-12-20 12:41:51]  Dev "1:3" Send the rest data 98304

[debug] [2023-12-20 12:41:51] Meta 3 image.target.os , size 96784 ...
[debug] [2023-12-20 12:41:51] Blocksize 2048 , chunk 1048576 * 0 , rest 96784
[debug] [2023-12-20 12:41:51] Offset: 200704 Size: 96784
[debug] [2023-12-20 12:41:51]  Dev "1:3" Send the rest data 98304
[warn ] [2023-12-20 12:41:51] Invalid progress position:  "294928"

[debug] [2023-12-20 12:41:51] Burn online successfully!
[debug] [2023-12-20 12:41:51] Update "success_cnt" of "2023-12-20"
[debug] [2023-12-20 12:42:21] Current connect type: 1
[debug] [2023-12-20 12:42:21] Release usb resource
[debug] [2023-12-20 12:42:21] Scan the available Serial Device ...

[debug] [2023-12-20 12:42:21] Current serial dev: "COM4"
[debug] [2023-12-20 12:42:21] " ޷  򿪴    COM4"

[debug] [2023-12-20 12:42:31] WinEvent: Some devnode changed

[debug] [2023-12-20 12:42:31] Try to connect the ArtInChip device ...
[debug] [2023-12-20 12:42:31] Try to connect  "COM4"
[warn ] [2023-12-20 12:42:31] Cannot find ArtInChip device in "COM4"
[debug] [2023-12-20 12:42:31] The status of ArtInChip device:  false

[debug] [2023-12-20 12:42:32] WinEvent: Some devnode changed
[error] [2023-12-20 12:42:32] uart_conn_mgr_thread()431:              uart_conn_mgr_thread: Got 00
[error] [2023-12-20 12:42:32] uart_conn_mgr_thread()431:              uart_conn_mgr_thread: Got C0
[debug] [2023-12-20 12:43:05] Current file path: "E:/ArtinChip/baremetal/output/d13x_demo88-nor_baremetal_helloworld/images/d13x_demo88-nor_v1.0.0.img"
[debug] [2023-12-20 12:43:06] Parse the image header from "E:/ArtinChip/baremetal/output/d13x_demo88-nor_baremetal_helloworld/images/d13x_demo88-nor_v1.0.0.img"
[debug] [2023-12-20 12:43:06] Soc type: "d13x"
[debug] [2023-12-20 12:43:06] Board type: "demo88-nor"
[debug] [2023-12-20 12:43:06] Image version: "1.0.0"
[debug] [2023-12-20 12:43:06] Storage type: "spi-nor"
[debug] [2023-12-20 12:43:06] Storage ID: ""
[debug] [2023-12-20 12:43:06] Meta count: "4" 

[debug] [2023-12-20 12:43:06] Refresh the partition tree ...
[debug] [2023-12-20 12:43:06]   Part name: image.target.spl , size: 96272 
[debug] [2023-12-20 12:43:06]   Part name: image.target.os , size: 96784 

[error] [2023-12-20 12:43:09] uart_conn_mgr_thread()431:              uart_conn_mgr_thread: Got 00

[debug] [2023-12-20 12:43:09] WinEvent: Some devnode changed

[debug] [2023-12-20 12:43:12] WinEvent: Some devnode changed

[debug] [2023-12-20 12:43:12] WinEvent: Some devnode changed
[error] [2023-12-20 12:43:14] uart_conn_mgr_thread()431:              uart_conn_mgr_thread: Got 00
[debug] [2023-12-20 12:43:18] Current connect type: 0
[debug] [2023-12-20 12:43:18] There are "1" device available

[debug] [2023-12-20 12:43:18] Try to connect the ArtInChip device ...
[debug] [2023-12-20 12:43:18] Try to get Usb device hd info...
[debug] [2023-12-20 12:43:18] Boot device1: "0"
[debug] [2023-12-20 12:43:18] Boot device2: "0"
[debug] [2023-12-20 12:43:18] The status of ArtInChip device:  true
[debug] [2023-12-20 12:43:22] Release Serial resource
[debug] [2023-12-20 12:43:23] Current connect type: 1
[debug] [2023-12-20 12:43:23] Release usb resource
[debug] [2023-12-20 12:43:23] Scan the available Serial Device ...

[debug] [2023-12-20 12:43:23] Current serial dev: ""
[debug] [2023-12-20 12:43:23] Current serial dev: "COM4"
[debug] [2023-12-20 12:43:24] Start burn online ...
[debug] [2023-12-20 12:43:24] Progress range: 0 ~  294912

[debug] [2023-12-20 12:43:24] Burn Image file "E:/ArtinChip/baremetal/output/d13x_demo88-nor_baremetal_helloworld/images/d13x_demo88-nor_v1.0.0.img" ...

[debug] [2023-12-20 12:43:24] Try to connect  ""
[error] [2023-12-20 12:43:24] libuart_open()520:                      Failed to open COM device.
[warn ] [2023-12-20 12:43:24] Failed to open  ""
[error] [2023-12-20 12:43:24] Failed to open ArtInChip device
[debug] [2023-12-20 12:43:24] Update "fail_cnt" of "2023-12-20"
[debug] [2023-12-20 12:43:33] Current connect type: 0
[debug] [2023-12-20 12:43:33] Release Serial resource
[debug] [2023-12-20 12:43:33] There are "1" device available

[debug] [2023-12-20 12:43:33] Try to connect the ArtInChip device ...
[debug] [2023-12-20 12:43:33] Try to get Usb device hd info...
[debug] [2023-12-20 12:43:33] Boot device1: "0"
[debug] [2023-12-20 12:43:33] Boot device2: "0"
[debug] [2023-12-20 12:43:33] The status of ArtInChip device:  true
[debug] [2023-12-20 12:43:35] Start burn online ...
[debug] [2023-12-20 12:43:35] Progress range: 0 ~  294912

[debug] [2023-12-20 12:43:35] Burn Image file "E:/ArtinChip/baremetal/output/d13x_demo88-nor_baremetal_helloworld/images/d13x_demo88-nor_v1.0.0.img" ...


[debug] [2023-12-20 12:43:35] Meta 0 image.updater.spl , size 96272 ...
[debug] [2023-12-20 12:43:35] Blocksize 4 , chunk 1048576 * 0 , rest 96272
[debug] [2023-12-20 12:43:35] Offset: 4096 Size: 96272
[debug] [2023-12-20 12:43:35]  Dev "1:3" Send the rest data 96272
[error] [2023-12-20 12:43:35] aicupg_trans_recv_pkt()208:             CSW size 0, Pipe error(-9)
[error] [2023-12-20 12:43:35] aicupg_cmd_send_fwc_data_final()704:    Recv resp failed, expect 16, got 0
[debug] [2023-12-20 12:43:35] Don't check the result of image.updater.spl

[debug] [2023-12-20 12:43:35] Meta 1 image.info , size 2048 ...
[error] [2023-12-20 12:43:35] aicupg_trans_send_pkt()80:              CBW tag 0xb9, size 0, Input/Output Error(-1)
[error] [2023-12-20 12:43:35] aicupg_cmd_get_hwinfo()85:              Send command failed. ret = 0, siz = 16
[debug] [2023-12-20 12:43:35] Wait to reconnect dev "1:3"
[debug] [2023-12-20 12:43:35] QTime("12:43:35.710") Wait for Dev "1:3" ready

[debug] [2023-12-20 12:43:35] WinEvent: Some devnode changed

[debug] [2023-12-20 12:43:35] WinEvent: Some devnode changed
[warn ] [2023-12-20 12:43:35] Set upg work mode: 0
[debug] [2023-12-20 12:43:35] Blocksize 1 , chunk 1048576 * 0 , rest 2048
[debug] [2023-12-20 12:43:35] Offset: 0 Size: 2048
[debug] [2023-12-20 12:43:35]  Dev "1:3" Send the rest data 2048

[debug] [2023-12-20 12:43:35] Meta 2 image.target.spl , size 96272 ...

[debug] [2023-12-20 12:43:36] WinEvent: Some devnode changed
[debug] [2023-12-20 12:43:36] Blocksize 2048 , chunk 1048576 * 0 , rest 96272
[debug] [2023-12-20 12:43:36] Offset: 102400 Size: 96272
[debug] [2023-12-20 12:43:36]  Dev "1:3" Send the rest data 98304

[debug] [2023-12-20 12:43:36] Meta 3 image.target.os , size 96784 ...
[debug] [2023-12-20 12:43:36] Blocksize 2048 , chunk 1048576 * 0 , rest 96784
[debug] [2023-12-20 12:43:36] Offset: 200704 Size: 96784
[debug] [2023-12-20 12:43:36]  Dev "1:3" Send the rest data 98304
[warn ] [2023-12-20 12:43:36] Invalid progress position:  "294928"

[debug] [2023-12-20 12:43:36] Burn online successfully!
[debug] [2023-12-20 12:43:36] Reboot the device ...
[error] [2023-12-20 12:43:36] aicupg_trans_recv_pkt()182:             CBW size 0, Pipe error(-9)
[debug] [2023-12-20 12:43:36] Update "success_cnt" of "2023-12-20"

[debug] [2023-12-20 12:43:36] WinEvent: Some devnode changed
[debug] [2023-12-20 12:43:36] No device available

[debug] [2023-12-20 12:43:37] WinEvent: Some devnode changed
[debug] [2023-12-20 12:43:37] No device available

[debug] [2023-12-20 12:43:38] WinEvent: Some devnode changed
[debug] [2023-12-20 12:43:38] No device available

[debug] [2023-12-20 12:44:18] WinEvent: Some devnode changed
[debug] [2023-12-20 12:44:18] There are "1" device available

[debug] [2023-12-20 12:44:18] Try to connect the ArtInChip device ...
[debug] [2023-12-20 12:44:18] Try to get Usb device hd info...

[debug] [2023-12-20 12:44:18] WinEvent: Some devnode changed
[debug] [2023-12-20 12:44:18] Boot device1: "0"
[debug] [2023-12-20 12:44:18] Boot device2: "0"
[debug] [2023-12-20 12:44:18] There are "1" device available
[debug] [2023-12-20 12:44:18] The status of ArtInChip device:  true
[debug] [2023-12-20 12:44:56] Start burn online ...
[debug] [2023-12-20 12:44:56] Progress range: 0 ~  294912

[debug] [2023-12-20 12:44:56] Burn Image file "E:/ArtinChip/baremetal/output/d13x_demo88-nor_baremetal_helloworld/images/d13x_demo88-nor_v1.0.0.img" ...


[debug] [2023-12-20 12:44:56] Meta 0 image.updater.spl , size 96272 ...
[debug] [2023-12-20 12:44:56] Blocksize 4 , chunk 1048576 * 0 , rest 96272
[debug] [2023-12-20 12:44:56] Offset: 4096 Size: 96272
[debug] [2023-12-20 12:44:56]  Dev "1:3" Send the rest data 96272
[error] [2023-12-20 12:44:57] aicupg_trans_recv_pkt()208:             CSW size 0, Pipe error(-9)
[error] [2023-12-20 12:44:57] aicupg_cmd_send_fwc_data_final()704:    Recv resp failed, expect 16, got 0
[debug] [2023-12-20 12:44:57] Don't check the result of image.updater.spl

[debug] [2023-12-20 12:44:57] Meta 1 image.info , size 2048 ...
[error] [2023-12-20 12:44:57] aicupg_trans_send_pkt()80:              CBW tag 0x132, size 0, Input/Output Error(-1)
[error] [2023-12-20 12:44:57] aicupg_cmd_get_hwinfo()85:              Send command failed. ret = 0, siz = 16
[debug] [2023-12-20 12:44:57] Wait to reconnect dev "1:3"
[debug] [2023-12-20 12:44:57] QTime("12:44:57.542") Wait for Dev "1:3" ready

[debug] [2023-12-20 12:44:57] WinEvent: Some devnode changed

[debug] [2023-12-20 12:44:57] WinEvent: Some devnode changed

[debug] [2023-12-20 12:44:57] WinEvent: Some devnode changed
[warn ] [2023-12-20 12:44:57] Set upg work mode: 0
[debug] [2023-12-20 12:44:57] Blocksize 1 , chunk 1048576 * 0 , rest 2048
[debug] [2023-12-20 12:44:57] Offset: 0 Size: 2048
[debug] [2023-12-20 12:44:57]  Dev "1:3" Send the rest data 2048

[debug] [2023-12-20 12:44:57] Meta 2 image.target.spl , size 96272 ...
[debug] [2023-12-20 12:44:57] Blocksize 2048 , chunk 1048576 * 0 , rest 96272
[debug] [2023-12-20 12:44:57] Offset: 102400 Size: 96272
[debug] [2023-12-20 12:44:57]  Dev "1:3" Send the rest data 98304

[debug] [2023-12-20 12:44:57] Meta 3 image.target.os , size 96784 ...
[debug] [2023-12-20 12:44:57] Blocksize 2048 , chunk 1048576 * 0 , rest 96784
[debug] [2023-12-20 12:44:57] Offset: 200704 Size: 96784
[debug] [2023-12-20 12:44:57]  Dev "1:3" Send the rest data 98304
[warn ] [2023-12-20 12:44:57] Invalid progress position:  "294928"

[debug] [2023-12-20 12:44:57] Burn online successfully!
[debug] [2023-12-20 12:44:57] Reboot the device ...
[error] [2023-12-20 12:44:57] aicupg_trans_recv_pkt()182:             CBW size 0, Pipe error(-9)
[debug] [2023-12-20 12:44:58] Update "success_cnt" of "2023-12-20"

[debug] [2023-12-20 12:44:58] WinEvent: Some devnode changed
[debug] [2023-12-20 12:44:58] No device available

[debug] [2023-12-20 12:45:32] Try to scan the current disk device ...
[debug] [2023-12-20 12:45:37] No device available
[debug] [2023-12-20 12:45:46] Http request: http://aitestserver.artmem.com:8080/api/get_last_version?app_id=1
[error] [2023-12-20 12:45:46] Http request error: QNetworkReply::HostNotFoundError
[debug] [2023-12-20 12:45:49] Http request: http://aitestserver.artmem.com:8080/api/get_last_version?app_id=1
[error] [2023-12-20 12:45:49] Http request error: QNetworkReply::HostNotFoundError
[debug] [2023-12-20 12:45:50] Http request: http://aitestserver.artmem.com:8080/api/get_last_version?app_id=1
[error] [2023-12-20 12:45:50] Http request error: QNetworkReply::HostNotFoundError

[debug] [2023-12-20 12:46:06] WinEvent: Some devnode changed
[debug] [2023-12-20 12:46:06] There are "1" device available

[debug] [2023-12-20 12:46:06] Try to connect the ArtInChip device ...

[debug] [2023-12-20 12:46:06] WinEvent: Some devnode changed
[debug] [2023-12-20 12:46:06] Try to get Usb device hd info...
[debug] [2023-12-20 12:46:06] Boot device1: "0"
[debug] [2023-12-20 12:46:06] Boot device2: "0"
[debug] [2023-12-20 12:46:06] There are "1" device available
[debug] [2023-12-20 12:46:06] The status of ArtInChip device:  true
[debug] [2023-12-20 12:46:07] Start burn online ...
[debug] [2023-12-20 12:46:07] Progress range: 0 ~  294912

[debug] [2023-12-20 12:46:07] Burn Image file "E:/ArtinChip/baremetal/output/d13x_demo88-nor_baremetal_helloworld/images/d13x_demo88-nor_v1.0.0.img" ...


[debug] [2023-12-20 12:46:07] Meta 0 image.updater.spl , size 96272 ...
[debug] [2023-12-20 12:46:07] Blocksize 4 , chunk 1048576 * 0 , rest 96272
[debug] [2023-12-20 12:46:07] Offset: 4096 Size: 96272
[debug] [2023-12-20 12:46:07]  Dev "1:3" Send the rest data 96272
[error] [2023-12-20 12:46:08] aicupg_trans_recv_pkt()208:             CSW size 0, Pipe error(-9)
[error] [2023-12-20 12:46:08] aicupg_cmd_send_fwc_data_final()704:    Recv resp failed, expect 16, got 0
[debug] [2023-12-20 12:46:08] Don't check the result of image.updater.spl

[debug] [2023-12-20 12:46:08] Meta 1 image.info , size 2048 ...
[error] [2023-12-20 12:46:08] aicupg_trans_send_pkt()80:              CBW tag 0x1ab, size 0, Input/Output Error(-1)
[error] [2023-12-20 12:46:08] aicupg_cmd_get_hwinfo()85:              Send command failed. ret = 0, siz = 16
[debug] [2023-12-20 12:46:08] Wait to reconnect dev "1:3"
[debug] [2023-12-20 12:46:08] QTime("12:46:08.186") Wait for Dev "1:3" ready

[debug] [2023-12-20 12:46:08] WinEvent: Some devnode changed

[debug] [2023-12-20 12:46:08] WinEvent: Some devnode changed
[warn ] [2023-12-20 12:46:08] Set upg work mode: 0

[debug] [2023-12-20 12:46:08] WinEvent: Some devnode changed
[debug] [2023-12-20 12:46:08] Blocksize 1 , chunk 1048576 * 0 , rest 2048
[debug] [2023-12-20 12:46:08] Offset: 0 Size: 2048
[debug] [2023-12-20 12:46:08]  Dev "1:3" Send the rest data 2048

[debug] [2023-12-20 12:46:08] Meta 2 image.target.spl , size 96272 ...
[debug] [2023-12-20 12:46:08] Blocksize 2048 , chunk 1048576 * 0 , rest 96272
[debug] [2023-12-20 12:46:08] Offset: 102400 Size: 96272
[debug] [2023-12-20 12:46:08]  Dev "1:3" Send the rest data 98304

[debug] [2023-12-20 12:46:08] Meta 3 image.target.os , size 96784 ...
[debug] [2023-12-20 12:46:08] Blocksize 2048 , chunk 1048576 * 0 , rest 96784
[debug] [2023-12-20 12:46:08] Offset: 200704 Size: 96784
[debug] [2023-12-20 12:46:08]  Dev "1:3" Send the rest data 98304
[warn ] [2023-12-20 12:46:08] Invalid progress position:  "294928"

[debug] [2023-12-20 12:46:08] Burn online successfully!
[debug] [2023-12-20 12:46:08] Reboot the device ...
[error] [2023-12-20 12:46:08] aicupg_trans_recv_pkt()182:             CBW size 0, Pipe error(-9)
[debug] [2023-12-20 12:46:08] Update "success_cnt" of "2023-12-20"

[debug] [2023-12-20 12:46:08] WinEvent: Some devnode changed
[debug] [2023-12-20 12:46:08] No device available
[debug] [2023-12-20 12:46:56] Current file path: "E:/ArtinChip/baremetal/output/d13x_demo88-nor_baremetal_helloworld/images/d13x_demo88-nor_v1.0.0.img"
[debug] [2023-12-20 12:47:08] Parse the image header from "E:/ArtinChip/luban-lite/output/d13x_demo88-nor_baremetal_helloworld/images/d13x_demo88-nor_v1.0.0.img"
[debug] [2023-12-20 12:47:08] Soc type: "d13x"
[debug] [2023-12-20 12:47:08] Board type: "demo88-nor"
[debug] [2023-12-20 12:47:08] Image version: "1.0.0"
[debug] [2023-12-20 12:47:08] Storage type: "spi-nor"
[debug] [2023-12-20 12:47:08] Storage ID: ""
[debug] [2023-12-20 12:47:08] Meta count: "4" 

[debug] [2023-12-20 12:47:08] Refresh the partition tree ...
[debug] [2023-12-20 12:47:08]   Part name: image.target.spl , size: 125968 
[debug] [2023-12-20 12:47:08]   Part name: image.target.os , size: 122320 


[debug] [2023-12-20 12:47:12] WinEvent: Some devnode changed
[debug] [2023-12-20 12:47:12] There are "1" device available

[debug] [2023-12-20 12:47:12] Try to connect the ArtInChip device ...

[debug] [2023-12-20 12:47:12] WinEvent: Some devnode changed
[debug] [2023-12-20 12:47:12] Try to get Usb device hd info...
[debug] [2023-12-20 12:47:12] Boot device1: "0"
[debug] [2023-12-20 12:47:12] Boot device2: "0"
[debug] [2023-12-20 12:47:12] There are "1" device available
[debug] [2023-12-20 12:47:12] The status of ArtInChip device:  true
[debug] [2023-12-20 12:47:22] Start burn online ...
[debug] [2023-12-20 12:47:22] Progress range: 0 ~  376832

[debug] [2023-12-20 12:47:22] Burn Image file "E:/ArtinChip/luban-lite/output/d13x_demo88-nor_baremetal_helloworld/images/d13x_demo88-nor_v1.0.0.img" ...


[debug] [2023-12-20 12:47:22] Meta 0 image.updater.spl , size 125968 ...
[debug] [2023-12-20 12:47:22] Blocksize 4 , chunk 1048576 * 0 , rest 125968
[debug] [2023-12-20 12:47:22] Offset: 4096 Size: 125968
[debug] [2023-12-20 12:47:22]  Dev "1:3" Send the rest data 125968
[error] [2023-12-20 12:47:22] aicupg_trans_recv_pkt()208:             CSW size 0, Pipe error(-9)
[error] [2023-12-20 12:47:22] aicupg_cmd_send_fwc_data_final()704:    Recv resp failed, expect 16, got 0
[debug] [2023-12-20 12:47:22] Don't check the result of image.updater.spl

[debug] [2023-12-20 12:47:22] Meta 1 image.info , size 2048 ...
[error] [2023-12-20 12:47:22] aicupg_trans_send_pkt()80:              CBW tag 0x232, size 0, Input/Output Error(-1)
[error] [2023-12-20 12:47:22] aicupg_cmd_get_hwinfo()85:              Send command failed. ret = 0, siz = 16
[debug] [2023-12-20 12:47:22] Wait to reconnect dev "1:3"
[debug] [2023-12-20 12:47:22] QTime("12:47:22.967") Wait for Dev "1:3" ready

[debug] [2023-12-20 12:47:22] WinEvent: Some devnode changed

[debug] [2023-12-20 12:47:23] WinEvent: Some devnode changed

[debug] [2023-12-20 12:47:23] WinEvent: Some devnode changed
[warn ] [2023-12-20 12:47:23] Set upg work mode: 0
[debug] [2023-12-20 12:47:23] Blocksize 1 , chunk 1048576 * 0 , rest 2048
[debug] [2023-12-20 12:47:23] Offset: 0 Size: 2048
[debug] [2023-12-20 12:47:23]  Dev "1:3" Send the rest data 2048

[debug] [2023-12-20 12:47:23] Meta 2 image.target.spl , size 125968 ...
[debug] [2023-12-20 12:47:23] Blocksize 2048 , chunk 1048576 * 0 , rest 125968
[debug] [2023-12-20 12:47:23] Offset: 131072 Size: 125968
[debug] [2023-12-20 12:47:23]  Dev "1:3" Send the rest data 126976

[debug] [2023-12-20 12:47:23] Meta 3 image.target.os , size 122320 ...
[debug] [2023-12-20 12:47:23] Blocksize 2048 , chunk 1048576 * 0 , rest 122320
[debug] [2023-12-20 12:47:23] Offset: 258048 Size: 122320
[debug] [2023-12-20 12:47:23]  Dev "1:3" Send the rest data 122880
[warn ] [2023-12-20 12:47:23] Invalid progress position:  "377872"

[debug] [2023-12-20 12:47:23] Burn online successfully!
[debug] [2023-12-20 12:47:23] Reboot the device ...
[error] [2023-12-20 12:47:23] aicupg_trans_send_pkt()104:             CSW tag 0x268, size 0, Pipe error(-9)
[debug] [2023-12-20 12:47:23] Update "success_cnt" of "2023-12-20"

[debug] [2023-12-20 12:47:23] WinEvent: Some devnode changed
[debug] [2023-12-20 12:47:23] No device available

#34 Re: 工业芯 匠芯创 » D133/D213有IAR可用的开发包吗? » 2023-12-11 17:56:57

上面说的和佳奇说反思自己有没有努力一样

#35 Re: 工业芯 匠芯创 » d13x系列封装 » 2023-12-11 13:22:59

封装参考 88P的已经使用没有问题。100P的芯片还没有。
PackagePcbDoc.zip

#36 Re: 全志 SOC » F1C100S裸跑实现硬件多图层叠加和Alpha » 2023-11-03 18:05:00

nature_hln 说:

请教楼主,colorkey能用吗?

可以用。不过这个代码没有。我在其他代码试过了

#38 Re: 全志 SOC » VE裸机使用-读取VideoEngine寄存器 » 2023-10-23 11:20:10

验证F133上使用F1C200的 JPEG裸解码代码可以正常解码图片,
估计MJPEG视频也是可以的,代码参考 https://whycan.com/t_8114.html

_20231023111518.jpg

FB init is ok. 
show FB is ok. 
FB[0] 0, 1 = 0xf800,f800. 
VE   Module 0x01C0E000 = 0xc0000007. 
VE Version  0x01C0E0F0 = 0x16670040. 
VE Version  0x01C0E11C = 0x0. 
Resolution: 480x320 
JPEG decoding: finish. 0mS 
CISC GPIO init OK. 
Cam ChipID : 0xffff 
Cam ChipID : Error 

#40 全志 SOC » VE裸机使用-读取VideoEngine寄存器 » 2023-10-21 17:28:29

sjshe3326
回复: 1

F133-A 芯片读取VideoEngine寄存器,VE版本为0x16670040 和A33好像是一样的。
200S的VE寄存器好像也是一样的位置。是否可以用参考200的解码代码用在133上面呢,后面研究下。

FB init is ok. 
show FB is ok. 
FB[0] 0, 1 = 0xf800,f800. 
VE   Module 0x01C0E000 = 0xc0000007. 
VE Version  0x01C0E0F0 = 0x16670040. 
VE Version  0x01C0E11C = 0x0. 
CISC GPIO init OK. 
Cam ChipID : 0x5640 
OV5640 init OK. 
CISC Module init OK. 
CISC Module init OK. C = 0x0. 70040. 

VE 版本信息:

MACC_VE_VERSION
Offset: 0x00f0

Known values:

0x16230055 (A10/A20)
0x16250055 (A13)
0x16330040 (A31s)
0x16390028 (A80)
0x16670040 (A33)
0x16800040 (H3)
0x16890040 (A64)

#41 Re: 全志 SOC » F133 摄像头图像显示在屏幕上 » 2023-10-20 18:39:21

测试bin文件,可以再上面图里的板子上跑,应该也可以在芒果派 MQ 上跑,原理图是一样,不过我没有就没测。串口为UART1
Demo.zip

#42 Re: 全志 SOC » F133 摄像头图像显示在屏幕上 » 2023-10-20 18:32:20

增加G2D测试了下,使用Fill和rotate功能。

#43 Re: 全志 SOC » F133 摄像头图像显示在屏幕上 » 2023-10-20 18:29:44

微凉VeiLiang 说:

赞,颜色好像反了

颜色是对的,手机拍的时候有点偏蓝了。

#44 全志 SOC » F133 摄像头图像显示在屏幕上 » 2023-10-19 17:23:22

sjshe3326
回复: 4

断断续续研究了1个月,到处找资料,看规格书,研究xboot代码和Mils的代码,终于搞出来图像了。裸机5640的图像直接保存到FB显存位置,TCON显示。 如下图。目前还没有使用G2D,后面再继续。
F133-CAM.jpg

#47 全志 SOC » F133 摄像头驱动 » 2023-09-26 20:13:50

sjshe3326
回复: 0

有人可以dump一份F133 CSI摄像头正常工作时候的寄存器信息么。我裸机调试摄像头配置都OK了,示波器测试都正常,就是LCD没有显示。
好像数据没有到显存里。求大佬帮忙。

#49 Re: 全志 SOC » F1c200s display engine 通过layer将YUV转RGB系数配置问题 » 2023-09-23 15:09:35

45074810 说:

大神,这个功能现在是否完善了,想向您学习一下,能否留一下联系方式。

使用图层yuv转RGB功能参数如下:

static const uint32_t csc_tab[4][12] =
{
    //Y/G   Y/G     Y/G     Y/G     U/R     U/R     U/R     U/R     V/B     V/B     V/B     V/B
    //bt601
    0x04a8, 0x1e70, 0x1cbf, 0x0878, 0x04a8, 0x0000, 0x0662, 0x3211, 0x04a8, 0x0812, 0x0000, 0x2eb1, //yuv2rgb
    //bt709
    0x04a8, 0x1f26, 0x1ddd, 0x04d0, 0x04a8, 0x0000, 0x072c, 0x307e, 0x04a8, 0x0876, 0x0000, 0x2dea, //yuv2rgb
    //DISP_YCC
    0x0400, 0x1e9e, 0x1d24, 0x087b, 0x0400, 0x0000, 0x059c, 0x34c8, 0x0400, 0x0716, 0x0000, 0x31d5, //yuv2rgb
    //xvYCC
    0x04a8, 0x1f26, 0x1ddd, 0x04d0, 0x04a8, 0x0000, 0x072c, 0x307e, 0x04a8, 0x0876, 0x0000, 0x2dea, //yuv2rgb
};


    uint32_t Tn = 1;
    write32((virtual_addr_t)F1C100S_DEBE_BASE + 0x950, (csc_tab[Tn][0]));   //G
    write32((virtual_addr_t)F1C100S_DEBE_BASE + 0x954, (csc_tab[Tn][1]));
    write32((virtual_addr_t)F1C100S_DEBE_BASE + 0x958, (csc_tab[Tn][2]));
    write32((virtual_addr_t)F1C100S_DEBE_BASE + 0x95C, (csc_tab[Tn][3]));
   
    write32((virtual_addr_t)F1C100S_DEBE_BASE + 0x960, (csc_tab[Tn][4]));   //R
    write32((virtual_addr_t)F1C100S_DEBE_BASE + 0x964, (csc_tab[Tn][5]));
    write32((virtual_addr_t)F1C100S_DEBE_BASE + 0x968, (csc_tab[Tn][6]));
    write32((virtual_addr_t)F1C100S_DEBE_BASE + 0x96C, (csc_tab[Tn][7]));   
   
    write32((virtual_addr_t)F1C100S_DEBE_BASE + 0x970, (csc_tab[Tn][8]));   //B
    write32((virtual_addr_t)F1C100S_DEBE_BASE + 0x974, (csc_tab[Tn][9]));
    write32((virtual_addr_t)F1C100S_DEBE_BASE + 0x978, (csc_tab[Tn][10]));
    write32((virtual_addr_t)F1C100S_DEBE_BASE + 0x97C, (csc_tab[Tn][11]));

#50 Re: 全志 SOC » F1C100s的CSI摄像头接口好裸奔么? » 2023-09-23 11:04:21

lanlanzhilian 说:
mind 说:

裸奔 DVP CSI的,有没有调通的,linux主线的启动时间剪裁后还是太长,客户不接受

我们可以一起讨论一下

F1C200 DVP简单的。

#51 Re: 全志 SOC » 【全开源/D1s】芒果派麻雀 MangoPi-MQ1 基于D1s 的 RISC-V Linux小板 【最新消息:淘宝开卖了,链接在一楼】 » 2023-09-23 11:02:49

mango 说:
yelong98 说:

dvp only r2 r3 目前的版本没有摄像头接口是吧?

复制粘贴错误。

MQ已设计DVP口(背面24Pin连接器)


DVP调通了吗

#52 Re: 全志 SOC » 有偿求助F1C100S 硬件defe转yuv » 2023-09-18 18:40:10

@wuyu
可以直接用DEBE YUV转RGB直接输出到LCD

#53 Re: 全志 SOC » 摄像头驱动 主线DVP与MIPI-CSI2 » 2023-09-09 11:32:06

微凉VeiLiang 说:

厉害了,mipi我一直是裸机下跑

裸机下的mipi 资料能够提供下参考么。谢谢

#54 全志 SOC » V3S FC100 IO电压问题 » 2023-09-09 09:13:31

sjshe3326
回复: 1

大家好,V3S FC100 的VCCIO电压可以使用1.8V么,几个VCCIO可以接不同电压么。
我看资料里面对电气这方面信息很少。
在使用摄像头发现摄像头IO电源2.8V时候发热比较高,1.8V的发热就比较少。所以想看能不能使用1.8V。

#55 全志 SOC » OV5640摄像头画质问题 » 2023-09-04 09:58:32

sjshe3326
回复: 1

使用FC100和GD32F450驱动摄像头显示在320240的屏幕上 OV5640/OV2640/OV7640 /GC0308 几款都调过。使用DVP RGB565格式。
显示都基本正常就是画质不太行,图片整体片灰暗,色彩不够鲜艳。用的都是网上通用的配置参数,调了下EV和色饱和度参数没有太大效果。
有人对这块比较熟悉么,怎么样可以把画质调整好一些。

#56 Re: 全志 SOC » 有什么带MIPI CSI和MIPIDSI的低成本芯片么。 » 2023-08-14 16:32:57

全志里面DE细节还是没有介绍,就不能全公开么哎

#57 Re: 全志 SOC » 有什么带MIPI CSI和MIPIDSI的低成本芯片么。 » 2023-08-14 16:32:00

tango_zhu 说:

联咏的nt98562

这个资料太少,个人没法开发。

#58 全志 SOC » 有什么带MIPI CSI和MIPIDSI的低成本芯片么。 » 2023-08-14 08:34:49

sjshe3326
回复: 7

现在主流的高分屏幕和摄像头很多都是mipi的了。很多低成本方案还是DVP接口 8080/RGB接口。
有什么带MIPI CSI和MIPI DSI的低成本芯片么。 现在看的几个芯片都有点不足, v3S没有DSI接口。

#59 Cortex M0/M3/M4/M7 » OV5640摄像头驱动 » 2023-05-22 17:28:02

sjshe3326
回复: 1

OV5640摄像头驱动使用DCI接口直接DMA传到屏上显示。
现在看起来效果不太好,噪点比较多,自动曝光效果也一般。那位有好点的设置参数可以调整下效果。谢谢

#60 Re: 全志 SOC » 开源 全志f1c100s(200s)所有IO都引出 » 2023-05-19 14:39:27

mapleft 说:

F1C 中间那个大洞是用老散热的么?, 我看很多人画的PCB中间的洞都是这么大的

因为没有风枪,后面有个洞可以用烙铁焊地下的地

#62 Re: Cortex M0/M3/M4/M7 » GD32F450 内置IPA图像引擎 BUG » 2023-05-15 09:31:02

MTLINUX 说:

换V3S裸机,曾经EXMC接SDRAM+FPGA不行。。。

全志v3s 是不错  f1s200我也玩过。可惜资料不全很多藏着掖着,DE模块的资料就是0,开放度哎~

#63 Re: Cortex M0/M3/M4/M7 » GD32F450 内置IPA图像引擎 BUG » 2023-05-15 09:29:36

nongxiaoming 说:

不能参数给的时候就减一个像素吗

它是给出起始地址,长度 和偏移量。一个矩形区域,然后自己在最后多发了一行一个像素。设置上减不了/

#64 Cortex M0/M3/M4/M7 » GD32F450 内置IPA图像引擎 BUG » 2023-05-11 09:44:31

sjshe3326
回复: 4

GD32F450 内置IPA图像引擎 有bug 在寄存器填充时候 会多个像素。EXMC控制器 使用sdram时候还不能使用其他外设。困扰啊

#67 Re: Cortex M0/M3/M4/M7 » STM32使用CMake+MinGW+arm-none-eabi 编译通过 链接失败问题 » 2021-06-21 09:26:34

弄好了,Win下的VSC这两句要放在最开始,否则会认为要make win下的exe。置顶就可以了。

set(CMAKE_SYSTEM_NAME Generic)
set(CMAKE_SYSTEM_PROCESSOR arm)

#68 Re: Cortex M0/M3/M4/M7 » STM32使用CMake+MinGW+arm-none-eabi 编译通过 链接失败问题 » 2021-06-19 18:14:05

哇酷小二 说:

--major-image-version 

链接命令行, 这个选项去掉试一试.

上面这个是CMake自动生成的。就算手动去掉了--major-image-version,会报--minor-image-version错误
再去掉,会接着后面的错误……

#69 Cortex M0/M3/M4/M7 » STM32使用CMake+MinGW+arm-none-eabi 编译通过 链接失败问题 » 2021-06-19 17:09:22

sjshe3326
回复: 3

STM32使用CMake+MinGW+arm-none-eabi 编译通过
每个C都可以生成.obj文件,但是生成elf进行链接时候出现错误:unrecognized option '--major-image-version'

信息如下

PS D:\TEST\C2\build> make
[ 33%] Building C object CMakeFiles/S123.dir/111.c.obj
[ 66%] Building C object CMakeFiles/S123.dir/123.c.obj
[100%] Linking C executable S123.exe
f:/softtools/ide/gun/toolchain/10_2020-q4-major/bin/../lib/gcc/arm-none-eabi/10.2.1/../../../../arm-none-eabi/bin/ld.exe: unrecognized option '--major-image-version'
f:/softtools/ide/gun/toolchain/10_2020-q4-major/bin/../lib/gcc/arm-none-eabi/10.2.1/../../../../arm-none-eabi/bin/ld.exe: use the --help option for usage information
collect2.exe: error: ld returned 1 exit status
make[2]: *** [CMakeFiles\S123.dir\build.make:114: S123.exe] Error 1
make[1]: *** [CMakeFiles\Makefile2:82: CMakeFiles/S123.dir/all] Error 2
make: *** [Makefile:90: all] Error 2

然后就简单做了个2个c文件的测试。也是同样问题。麻烦大牛给点意见,谢谢。
CMake 文件如下:

cmake_minimum_required(VERSION 3.10)

project(S123)

set(CMAKE_SYSTEM_NAME Generic)
set(CMAKE_SYSTEM_PROCESSOR arm)

# debug build?
set(DEBUG  "1") 
# optimization
set(OPT  "-Og")


ENABLE_LANGUAGE(ASM)

set(CROSS_COMPILER_PATH "F:/SoftTools/IDE/GUN/Toolchain/10_2020-q4-major")

set(CMAKE_C_COMPILER "${CROSS_COMPILER_PATH}/bin/arm-none-eabi-gcc")
MESSAGE(STATUS,"compiler is ${CMAKE_C_COMPILER}")
set(CMAKE_ASM_COMPILER "${CROSS_COMPILER_PATH}/bin/arm-none-eabi-gcc")
set(CMAKE_CXX_COMPILER "${CROSS_COMPILER_PATH}/bin/arm-none-eabi-g++")
set(CMAKE_OBJCOPY "${CROSS_COMPILER_PATH}/bin/arm-none-eabi-objcopy")
set(CMAKE_OBJDUMP "${CROSS_COMPILER_PATH}/bin/arm-none-eabi-objdump" )
set(CMAKE_SIZE "${CROSS_COMPILER_PATH}/bin/arm-none-eabi-size" )
set(CMAKE_NM "${CROSS_COMPILER_PATH}/bin/arm-none-eabi-nm" )
set(CMAKE_DEBUGER "${CROSS_COMPILER_PATH}/bin/arm-none-eabi-gdb")
set(CMAKE_CPPFILT "${CROSS_COMPILER_PATH}/bin/arm-none-eabi-c++filt" )
set(CMAKE_FIND_ROOT_PATH "${CROSS_COMPILER_PATH}")

set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)


aux_source_directory(. DIR_TOOT_SRCS)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g")

add_executable(${PROJECT_NAME} ${DIR_TOOT_SRCS})
#add_executable(${PROJECT_NAME} 123.c)

#70 Re: Nuvoton N32905/N32926/NUC972/N9H20/N9H26/N9H30 » 新唐裸机移植NES模拟器 » 2021-06-03 09:58:45

自己做的板子。 价格比F200 贵。只是项目想稳定点用这个。

#71 Re: Cortex M0/M3/M4/M7 » st单片机涨价这么厉害,有什么好的替代? » 2021-03-28 10:08:09

灵动的芯片还好。不过现在一家缺其他家也会慢慢缺

#76 Re: 全志 SOC » 裸跑 libmad播放Mp3问题 » 2021-02-28 11:29:01

微凉VeiLiang 说:

f1c100s裸机我移植了一个解码mp3的,核心汇编的,效果还可以

是用libmad 还是 helix库吗  代码可以参考下不?谢谢。

#77 全志 SOC » 裸跑 libmad播放Mp3问题 » 2021-02-26 17:51:51

sjshe3326
回复: 4

各位好, 我在用裸跑 移植libmad播放Mp3时候发现问题,开始前面1S左右杂音特别大,后面就正常了。
mp3文件时没问题的。有遇到的大神可以给个解决方向吗。

#78 Re: 全志 SOC » 大家新年好,请问一下,引脚不够用,我将TF卡的检测引脚去掉了,怎样保证TF正常使用??? » 2021-02-21 14:15:27

不用单独IO做CD检测。好像协议里面可以通过D0,还是D3的电平来判断有没有卡。
或者就是软件里面自己做个检测 读取卡初始化是否成功来判断。

#79 Re: Nuvoton N32905/N32926/NUC972/N9H20/N9H26/N9H30 » N32926U1DN SD boot » 2021-02-03 09:20:45

Serj 说:
sjshe3326 说:

我使用的是N32905,926应该也是类似的。在固件包中有一个SDLoader的工程。编译这个SDLoader 就是SD启动的文件。
将编译好的SDLoader.bin文件用TurboWriter工具写在SD卡的sector0中。然后就可以用SD卡启动了,会加载用户代码执行。

I have not 固件包中.
I saw only some documentation on nuvoton site, and i dont know where I can download flash packet.


你可以在 https://gitee.com/OpenNuvoton 中找到你需要的BSP。
如果不使用linux系统,可以编译 https://gitee.com/OpenNuvoton/N32926_NonOS_BSP/tree/master/Loader/SDLoader  的工程,
生成SDLoader.bin用于SD启动。
如果使用Linux 也有对应的工具可能是uboot。

#81 Re: 硬件设计 KiCAD/Protel/DXP/PADS/ORCAD/EAGLE » pcb都快被过孔打成了筛子 » 2021-02-01 11:13:43

芯片下方这么密没有必要,散热考虑在背后露铜效果更好点

#83 Re: Nuvoton N32905/N32926/NUC972/N9H20/N9H26/N9H30 » N32926U1DN SD boot » 2021-01-30 09:49:36

Serj 说:
sjshe3326 说:

你需要在SD卡中写入启动IMG

where i can download bootable image for SD card?

我使用的是N32905,926应该也是类似的。在固件包中有一个SDLoader的工程。编译这个SDLoader 就是SD启动的文件。
将编译好的SDLoader.bin文件用TurboWriter工具写在SD卡的sector0中。然后就可以用SD卡启动了,会加载用户代码执行。

#85 Nuvoton N32905/N32926/NUC972/N9H20/N9H26/N9H30 » 新唐裸机移植NES模拟器 » 2021-01-26 18:55:02

sjshe3326
回复: 3

看到这里有人做的移植 https://whycan.com/viewtopic.php?id=5913 也跟风一下。

调试新唐N3290x时候,顺便玩一下花1个小时移植了infoNES模拟器,跑起来还行。只移植了显示部分,控制和声音没去弄。
参考GitHub 上移植到STM32F4 芯片的代码。参考链接 https://github.com/Woody00h/InfoNES
屏幕240*320。NES输出256*240 不想旋转就直接裁掉了多的16列。NES输出RGB565,不是是逆序的BGR格式。要反一下不然颜色不对。


#86 Re: Nuvoton N32905/N32926/NUC972/N9H20/N9H26/N9H30 » N32905移植LVGL demo » 2021-01-26 18:01:12

blade_cheng 说:

楼主的屏用的什么接口的?

外接了摄像头,所以屏幕是用8080 8bit并口屏

#87 Re: Nuvoton N32905/N32926/NUC972/N9H20/N9H26/N9H30 » N32926U1DN SD boot » 2021-01-26 16:40:03

Serj 说:

Hello. I have device with N32926U1DN cpu, which booting from SPI flash.
I want to boot from sd card. How can I make bootable SD?
Cant found any datasheets with boot description.

Here is starting log, SD booting has first priority:
-------------------------------------------------------------------
Initial RTC .Enable Access Fail - Timeout
DRAM Init..2p
SD Port 0 Booting Fail - No/Unknown Device
NAND CS0 Booting Fail - No Boot Code Header
NAND CS1 Booting Fail - No Boot Code Header
SPI Booting
     Write - 0xB0000204 = 0xFFFFFFFF
     Write - 0xB0000208 = 0xFFFFFFFF
     Write - 0xB0003008 = 0x0000805A
     Write - 0xB0003028 = 0x2AFF3B4A
     Write - 0xB0003004 = 0x00000021
     Delay 256 us
....
-------------------------------------------------------------------

你需要在SD卡中写入启动IMG

#89 Re: 全志 SOC » 全志 f1200s ADC问题 » 2021-01-14 18:13:05

可用的测试代码如下

 //------------------------------------------------------//
    // ADC input test 
    #if(0)
    {
        adc_init();
        printf("adc test init OK. \n\r");
        delay_s();
        i = 0;
        
        while(1)
        {
            delay_s();
            u32_t v1 = adc_f1c100s_read(ADC_CHANNEL_FMINL);
            delay_s();
            u32_t v2 = adc_f1c100s_read(ADC_CHANNEL_FMINR);  
            delay_s();
            u32_t v3 = adc_f1c100s_read(ADC_CHANNEL_LINL);  
            delay_s();        
            u32_t v4 = adc_f1c100s_read(ADC_CHANNEL_MIC);    
            printf("ADC: %08X, %08X, %08X, %08X \n\r", v1,v2,v3,v4);
        }
    }
    #endif

u32_t adc_f1c100s_read(int channel)
{
    u32_t mixerReg = read32(ADC_BAISADDR + ADC_MIXER_CTRL) & ~(0x1f << 8);
    switch (channel) 
    {
        case ADC_CHANNEL_FMINL:
            write32(ADC_BAISADDR + ADC_MIXER_CTRL, mixerReg | (1 << 12));
            break;
        case ADC_CHANNEL_FMINR:
            write32(ADC_BAISADDR + ADC_MIXER_CTRL, mixerReg | (1 << 11));
            break;
        case ADC_CHANNEL_LINL:
            write32(ADC_BAISADDR + ADC_MIXER_CTRL, mixerReg | (1 << 10));
            break;
        case ADC_CHANNEL_MIC:
            write32(ADC_BAISADDR + ADC_MIXER_CTRL, mixerReg | (1 << 13));
            break;
        default:
            // mute all
            break;
    }
    
    udelay();  // wait for internal filter to be stable

    // FIFO flush
    write32(ADC_BAISADDR + ADC_FIFOC, read32(ADC_BAISADDR + ADC_FIFOC) | (1 << 0));
    while( (read32(ADC_BAISADDR + ADC_FIFOS) & (1 <<23))==0);
    
    // by default, 0V = -24000 and VRA = 0.
    // make 0V = 0 and vreference = 65535.
    int val = (read32(ADC_BAISADDR + ADC_RXDATA));// >> 16);

    return (u32_t)val;
}

void adc_init(void)
{
	
    // ADC打开时钟 //
    write32( 0x01C20008, (read32(0x01C20008) | (1<<31)) );
    write32( 0x01C20068, (read32(0x01C20068) | (1<<0)) );
    write32( 0x01C20140, (read32(0x01C20140) | (1<<31)) );
    udelay(); 
    write32( 0x01C202D0, (read32(0x01C202D0) | (1<<0)) );
    udelay();
    
    //24kHz采样率 ,// digital enable // fifo mode 0 delay 0 8fifo 16bit mono
	u32_t regVal = 	(2 << 29) | (1 <<28) | (0xf << 8) | (1 << 7);
    write32(ADC_BAISADDR + ADC_FIFOC, regVal);


    // ADC enable gain 0  all mute
	regVal = (1 << 31) | (3<<24) | (3<<16)| (1 <<14) | (1<<7) | (1<<3) | (0 << 0); 
    write32(ADC_BAISADDR + ADC_MIXER_CTRL, regVal);
    
}

#91 Re: 全志 SOC » 全志 f1200s 能实现录音功能吗? » 2020-12-08 12:57:54

能啊 ADC MIC输出 采集 压缩就可以了。
linux更简单有Audio的驱动层

#92 Re: 全志 SOC » F1C200S使用panel_simple驱动SPI+RGB液晶控制芯片 » 2020-12-05 16:56:40

对的 我也发现SPI输出数据显示上会有偏移一点。

#93 Nuvoton N32905/N32926/NUC972/N9H20/N9H26/N9H30 » N32903 Non-OS 代码启动 » 2020-12-05 16:45:33

sjshe3326
回复: 0

使用N32903 Non-OS 代码,启动时候遇到问题,麻烦大家帮忙指导下。谢谢。
系统启动信息如下:

Init RTC....OK

DDR size: 32MB

SD Port0 Booting Fail - No/Bad Card Insert

NAND Booting (2K-page 4 Address Cycle) Success

Clock Skew

DQSODS 0x1010

CKDQSDS 0x888800

Code Executes at 0x00700000

然后就卡住了。
如果使用直接在SDRAM中运行单独的bin是可以的。
Execute File 0x0
start gpio test...123

#95 Re: 全志 SOC » F1C200S使用panel_simple驱动SPI+RGB液晶控制芯片 » 2020-12-05 14:00:58

我调试SPI的LCD可以显示,SPI输出感觉会有点数据错误

#97 Re: 全志 SOC » 请问大佬们关于tiny200 r3的小问题!! » 2020-12-05 11:03:22

板子硬件默认串口1,软件默认式串口0 需要修改下的

#99 Nuvoton N32905/N32926/NUC972/N9H20/N9H26/N9H30 » Nuvoton N32905 Non-OS BSP 里面的库 » 2020-11-17 09:19:32

sjshe3326
回复: 0

Nuvoton N32905 Non-OS BSP 里面的库有源码吗 我看都是给的.lib .a文件。

#100 Re: Nuvoton N32905/N32926/NUC972/N9H20/N9H26/N9H30 » N3290x启动设备 » 2020-11-03 12:59:13

孤星泪 说:
redstar 说:

价格和资源/外设都没f1c100s香

在f1c面前n3290x就是个弟弟。

f1c香是香芯片资料不全也是头疼,只能自己摸索

#101 Re: Nuvoton N32905/N32926/NUC972/N9H20/N9H26/N9H30 » N3290x启动设备 » 2020-11-03 12:01:24

N32905的 LCD接口 和 摄像头接口,复用了。如果要用摄像头,屏只能选8bit的总线屏了吧

#102 Re: Nuvoton N32905/N32926/NUC972/N9H20/N9H26/N9H30 » 请教各位大佬一个问题:N9H26 SPI booting with 1/2/4 bit是什么功能? » 2020-11-03 11:09:13

szchen2006 说:
有梦的地方 说:

mcu的spi控制器支持,估计新唐的这三种模式都支持。

全志不支持4bit模式,只支持1bit/2bit 模式

这个bit到底,指的是什么?我刚才咨询了另外一个人,他说是什么降位。什么是降位啊?不懂。


DSPI  QSPI  2个数据口 4个数据口的SPI芯片

#103 Re: Nuvoton N32905/N32926/NUC972/N9H20/N9H26/N9H30 » N3290x启动设备 » 2020-11-03 09:46:14

孤星泪 说:

支持 spi nor,貌似不支持spi nand

裸跑用小容量的SPI nor应该够了,看别人demo板好像都用并口的nand 觉得太费管脚,体积大。

#104 Nuvoton N32905/N32926/NUC972/N9H20/N9H26/N9H30 » N3290x启动设备 » 2020-11-03 09:28:41

sjshe3326
回复: 6

请教各位N3290x启动除了NAND和SD卡,可以用SPI FLASH吗。
另外那位有应用手册文档可以共享下。

#105 全志 SOC » 裸机驱动OV2640显示 » 2020-10-29 18:44:54

sjshe3326
回复: 10

调了几天DCI,终于搞好了,坑真多。
OV2640设置为SVGA,RBG565输出480*272大小。使用DE直接显示在LCD上。
目前还有几个问题待解决:1:PE11输出CLK_OUT 还没搞定,目前使用PE12 PWM0输出24M,飞线给PE11.
                               2:  显示上有点蓝色条纹,很规律,不确定是否是摄像头没有配置好。
                               3:OV的数码变焦和一些参数设定 待研究
TBD:摄像头图层和其他显示图层叠加等后面在研究。
使用硬件为tiny200 R3。摄像头OV2640,LCD480*272,附件bin文件大家可以试试。别忘了PE12,PE11要接在一起,或者给PE11一个24M时钟。

BIN文件:f1c100s_Tiny200r3_CamTest.zip

视频如下:

#106 全志 SOC » CSI 寄存器异常 » 2020-10-29 12:03:54

sjshe3326
回复: 0

设置CSI寄存器时候发现 CSI_SCALE(0x0C) 异常,规格书默认值是0x0F00FFFF。
读取时候发现始终是0x0, 计算手动设置了write32(CSI_BAISADDR + CSI_SCALE, 0x0F00FFFF); 读取还是0.
不知各位有遇到没。

串口输出寄存器信息如下:
Boot to SPI mode
CSI: SCCB ID = 0x26,42.

CSI: OV2640 reg init OK

CSI: Module init OK.

CSI: reg dunp: 0x00     = 0x00000001.....

CSI: reg dunp: 0x04     = 0x00000207.....

CSI: reg dunp: 0x08     = 0x00000000.....

CSI: reg dunp: 0x0c     = 0x00000000.....

CSI: reg dunp: 0x10     = 0x80365D30.....

CSI: reg dunp: 0x14     = 0x80366D30.....

CSI: reg dunp: 0x18     = 0x80367D30.....

CSI: reg dunp: 0x1c     = 0x80368D30.....

CSI: reg dunp: 0x20     = 0x80369D30.....

CSI: reg dunp: 0x24     = 0x8036AD30.....

CSI: reg dunp: 0x28     = 0x00000001.....

CSI: reg dunp: 0x2c     = 0x00000000.....

CSI: reg dunp: 0x30     = 0x000000DF.....

CSI: reg dunp: 0x34     = 0x00000000.....

CSI: reg dunp: 0x38     = 0x00000000.....

CSI: reg dunp: 0x3c     = 0x00000000.....

CSI: reg dunp: 0x40     = 0x05E000FE.....

CSI: reg dunp: 0x44     = 0x01E00064.....

CSI: reg dunp: 0x48     = 0x00000400.....

#107 Re: 全志 SOC » RTT下的CSI调试 » 2020-10-28 23:34:24

david 说:

多谢只招,是clock gating没处理好,问题已经解决。

可以说明下是那里clock gating吗 我也有类似问题。

#108 Re: 全志 SOC » F1C100S裸跑实现硬件多图层叠加和Alpha » 2020-10-26 13:24:28

花了几天时间,裸机 RGB接口LCD显示、SPI,ADC-key,音频ADC,GPIO。都调通了。I2C / PWM 也简单。
准备把CSI调一下,裸机的外设就基本齐全了。准备把外设代码参考stm的方式 重新改一遍,做一套裸机库。
准备做个产品板,大家一起的看看想做成什么样的东西来玩。

#109 Re: 全志 SOC » F1C100S spi1寄存器设置问题-求助 » 2020-10-23 09:21:36

vip888888 说:
sjshe3326 说:

裸跑F1C100S 使用SPI1时候发现,设置spi1寄存器,再读取发现一直时0,没有设置进去。有朋友遇到过没。
SPI1时钟已经开启:
    // SPI1 打开时钟 //
    write32( 0x01C20060, (read32(0x01C20060) | (1<<21)) );

SPI1寄存器基地址也没错0x01c06000,读取SPI0的寄存器就可以返回数据。

使能时钟后一般要使能时钟复位。200s手册上可以查到 spi1_rst是偏移0x02c0地址寄存器的第21位。
所以你可以在后面加上一句write32( 0x01C20000+0x2c0, (read32(0x01C20000+0x2c0) | (1<<21)) );
然后在延时个1ms。然后再操作寄存器看。

非常感谢,的确加上bus rst就正常了。

#110 Re: 全志 SOC » F1C100S裸跑实现硬件多图层叠加和Alpha » 2020-10-23 09:04:12

看寄存器说明是全图层alpha  公用一个alpha参数。
不过图层可以不和lcd尺寸一样,这样可以利用多个图层设置不同尺寸大小实现局部的alpha效果。

#111 全志 SOC » F1C100S spi1寄存器设置问题-求助 » 2020-10-22 19:22:56

sjshe3326
回复: 2

裸跑F1C100S 使用SPI1时候发现,设置spi1寄存器,再读取发现一直时0,没有设置进去。有朋友遇到过没。
SPI1时钟已经开启:
    // SPI1 打开时钟 //
    write32( 0x01C20060, (read32(0x01C20060) | (1<<21)) );

SPI1寄存器基地址也没错0x01c06000,读取SPI0的寄存器就可以返回数据。

#112 Re: 全志 SOC » F1C100S裸跑实现硬件多图层叠加和Alpha » 2020-10-22 18:33:07

硬件是 tiny200 r3。
软件是达克罗德大神的裸跑代码:
F1C100S裸奔framebuffer+PWM+GPIO驱动
http://whycan.com/t_1457.html
(出处:哇酷开发者社区【全志 V3S/F1C100s/X3】)

#114 全志 SOC » F1C100S裸跑实现硬件多图层叠加和Alpha » 2020-10-22 12:06:56

sjshe3326
回复: 24

使用论坛里裸跑 Framebuffer,原始代码只使用了Display Engine种back-end模块的Layer0图层.使用外部2个vbuf作为缓存。
DEbe可以支持4个图层的alpha和叠加等操作。这里测试了下,使用2个图层Layer0 和 Layer1。关闭alpha,只用了叠加(color key)。
效果参考视频。

修改部分主要是 f1c100s_debe_set_mode 函数设置Debe的模式,就可以了。

inline static void f1c100s_debe_set_mode(fb_f1c100s_pdata_t * pdat)
{
	struct f1c100s_debe_reg_t * debe = (struct f1c100s_debe_reg_t *)(pdat->virtdebe);
	uint32_t val;
        
    // F1C200s DEbe模块使用双图层 //
    
    // 是能 DEbe模块 //
	val = read32((virtual_addr_t)&debe->mode);
	val |= (1 << 0);
	write32((virtual_addr_t)&debe->mode, val);
    
    // 显示尺寸 //
	write32((virtual_addr_t)&debe->disp_size, (((pdat->height) - 1) << 16) | (((pdat->width) - 1) << 0));

    // 背景颜色 //
	write32((virtual_addr_t)&debe->backcolor, (0x00503050) );
    
    // 颜色KEY //
	write32((virtual_addr_t)&debe->color_key_max, (0x00FFFFFF) );
	write32((virtual_addr_t)&debe->color_key_min, (0x00303030) );	
	write32((virtual_addr_t)&debe->color_key_config, (0x0000003F) );	
			
	// Layer0 设置 //
	write32((virtual_addr_t)&debe->layer0_size, (((pdat->height) - 1) << 16) | (((pdat->width) - 1) << 0));     // Layer0 尺寸 pos默认0//
	write32((virtual_addr_t)&debe->layer0_stride, ((pdat->width) << 5));                                        // Layer0 帧缓存行尺寸 480*32//
	write32((virtual_addr_t)&debe->layer0_addr_low32b, (uint32_t)(pdat->vram[0]) << 3);                         // Layer0 帧缓存地址 //
	write32((virtual_addr_t)&debe->layer0_addr_high4b, (uint32_t)(pdat->vram[0]) >> 29);
	write32((virtual_addr_t)&debe->layer0_attr1_ctrl, 0x09 << 8);                                               // Layer0 32BPP//
	write32((virtual_addr_t)&debe->layer0_attr0_ctrl, (0x80 << 24) | (0 << 18) | (1 << 15) | (3 << 10) | (0) );// Layer0 Pipe1 优先级3/
	
    // Layer1 设置 //
	write32((virtual_addr_t)&debe->layer1_size, (((pdat->height) - 1) << 16) | (((pdat->width) - 1) << 0));     // Layer1 尺寸 pos默认0//
	write32((virtual_addr_t)&debe->layer1_stride, ((pdat->width) << 5));                                        // Layer1 帧缓存行尺寸 480*32//
	write32((virtual_addr_t)&debe->layer1_addr_low32b, (uint32_t)(pdat->vram[1]) << 3);                         // Layer1 帧缓存地址 //
	write32((virtual_addr_t)&debe->layer1_addr_high4b, (uint32_t)(pdat->vram[1]) >> 29);
	write32((virtual_addr_t)&debe->layer1_attr1_ctrl, 0x09 << 8);                                               // Layer1 32BPP//
	write32((virtual_addr_t)&debe->layer1_attr0_ctrl, (0xF0 << 24) | (1 << 18) | (0 << 15) | (2 << 10) | (0) );// Layer1 Pipe0 优先级2/


		
    // Layer 0/1 使能 //
	val = read32((virtual_addr_t)&debe->mode);
	val |= (1 << 8);        // Layer 0
    val |= (1 << 9);        // Layer 1
	write32((virtual_addr_t)&debe->mode, val);

    // Auto load mode //
	val = read32((virtual_addr_t)&debe->reg_ctrl);
	val |= (1 << 0);
	write32((virtual_addr_t)&debe->reg_ctrl, val);
    
    // start DEbe //
	val = read32((virtual_addr_t)&debe->mode);
	val |= (1 << 1);
	write32((virtual_addr_t)&debe->mode, val);
}

页脚

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

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