页次: 1
CPU 和 DMA 设备之间的交互需要手工操作 Cache,例如:
发送方向:CPU 写数据到内存,为了确保数据全部写入到了内存需要 Clean Cache(只会 Clean 有过写操作的 Cache, Dirty 置位),然后才能启动 DMA 设备从内存读数据。
接收方向:DMA 设备写入数据到内存,为了确保 CPU 能读到最新的数据需要先 Invalid Cache (清除所有已加载的 Cache, Valid 置位),然后才能启动 CPU 从内存读数据。
csi_dcache_clean_invalid_range() = Clean Cache + Invalid Cache,这个操作的主要目的是用于数据方向不明确的情况下的一个 Cache 同步动作。但是通常也可以当成 Clean Cache 操作来使用。
另外 Cache 的基本操作单位为 CacheLine,我们 64bit CPU 的 CacheLine 为 64 字节, 32bit CPU 的 CacheLine 为 32 字节。在操作 Cache 时起始地址和长度都必须 CacheLine 对齐。
Cache 参考文档:
https://cloud.tencent.com.cn/developer/article/2315608
Luban-lite不仅支持RT-Thread,而且支持uC/OS-ii、freeRTOS和裸机环境,这些都是需要支持以太网协议栈的。所以我们设计之初就将lwIP单独分离出来,并且这样也方便随时与lwIP主线同步,不用受RT-Thread的限制。
至于常用的一些应用协议,如HTTPD、webclient、MQTT、PTPD等协议我们目前都是支持的,并且也有量产产品在使用。
这样的缺点就是大家在熟悉Luban-lite SDK的过程中会感到些许复杂,但是使用起来是很稳定的,就Luban-lite发布以来,我们基本没有收到过关于以太网软件问题的反馈。此外我们也写了非常详细的文档对我们的SDK做了说明,我们也在做其他尝试期望能够降低Luban-lite的复杂度,大家可以期待一下!
这个需要找phy厂家要原理图,我们的接口是通用的,和我们对接上就可以,如果您需要D213的原理图可以去gitee上下载我们的官方文档,
您可以直接从gitee 官网上 ( https://gitee.com/keqian/luban-lite )将我们的SDK下载下来进行编译,选择 d13x_demo88-nor_v1.0.0 ,不需要做其他更改,就可以获取到D133EBS镜像文件
页次: 1