您尚未登录。

#2 Re: 工业芯 匠芯创 » 52位的GTC计时器数值为什么要特意转成格雷码?根本没法用! » 2024-08-13 13:22:28

展开来看的话,代码是这样
{
    u64 tick_high_64;
    u32 tick_low_32;
   

    /* 1.先获取高32位,但是在执行这段的时候,低32位的tick实际还是在增加的 */
    tick_high_64 = csi_coret_get_valueh() << 32;

    /* 2.后获取低32位,如果在执行"1"之前,低32位已经是满量程0xFFFFFFFF。则这里就有可能溢出成0的概率 */
    /* 所以这一段需要在1之前执行 */
    tick_low_32 = csi_coret_get_value();

    tick_high_64 |= tick_low_32;

    return     tick_high_64;
}

#3 Re: 工业芯 匠芯创 » 52位的GTC计时器数值为什么要特意转成格雷码?根本没法用! » 2024-08-13 11:13:07

感谢感谢,这个的确是个bug来着,需要把左移操作放到运算符右边,下一版SDK修改。

#4 Re: 工业芯 匠芯创 » 52位的GTC计时器数值为什么要特意转成格雷码?根本没法用! » 2024-08-10 14:56:28

1、格雷码主要是为了解决跨时钟域异步问题。GTC寄存器自然数->格雷码->CPU寄存器自然数,格雷码两端对自然数的转换都是由硬件进行转换,不需要软件处理。两头寄存器看到的值,都是咱们直接可读的自然数值。
2、GTC自然数的读取有两种方式,一种是读取GTC寄存器GTC_CNTVL GTC_CNTVH的值,一种是读取RISC-V CPU寄存器的值,通过汇编指令(csrr a0, time)(csrr a1, timeh) 获取;第一种方式由于CPU访问GTC寄存器的访问进行各级总线的同步,会占有百纳秒级别的开销,实际不推荐这么使用;建议使用第二种方式,访问CPU寄存器自然数的值,其开销取决于CPU指令的时间。
3、GTC时基250ns,通过读取CPU寄存器的值判断实现1us延迟是可行的。这里还需要特别注意延迟后执行动作耗费的时间,函数调用和寄存器读写都会占用一些时间。

#5 Re: 工业芯 匠芯创 » 请问Linux下D213ECV跑LVGL帧率这么低正常吗? » 2024-07-30 10:30:56

1. Luban SDK 请升级到最新版本,V1.2.4 对性能有加强
2. SDK 自带的8.3 是对接了系统GE/VE的,您自己升级到8.4 不确定GE/VE等加速功能是否对接成功

#6 Re: 工业芯 匠芯创 » D213的工程,加入自己的lib怎么样才能编译通过呢? » 2024-04-18 15:25:54

参考这个
11 define MSNLINK_INSTALL_TARGET_LIBS                                             
12         $(INSTALL) -D -m 644 package/vendor/xxx/lib/* $(STAGING_DIR)/usr/lib/        --编译用目录
13         $(INSTALL) -D -m 644 package/vendor/xxx/lib/* $(TARGET_DIR)/usr/lib/          --运行用目录
14 endef

#7 Re: 工业芯 匠芯创 » luban-lite新发布的# V1.0.4 #变慢了 » 2024-04-18 15:23:02

新版本为了加速UI ,D213上开启了ramdisk,影响了启动时间,您可以关闭一下
me/Local package options /Third-party packages options/ ramdisk:A RAM memory block device
这个关闭掉就可以了

页脚

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

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