This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CRC模块的应用

看了你们的资料,介绍了CRC在DMA应用,请问CRC模块还有什么其他的应用?可不可以用于内存CRC检测?,那该怎样怎样检测,流程是什么?,,

  • Hi chow,

    Hercules的外设RAM有CRC校验。片上的Flash和RAM都有ECC保护的。所有这些保护都是硬件实现的。

    Regards,

    Jay

  • 我们是是做安全产品开发的,请问我们怎样使用CRC模块?大致流程是怎样的?

  • Hi Ron,

        CRC模块式做循环冗余校验计算用的模块,一般情况下,用来做内存数据完整性(正确性)的测试。

        按百度百科的说法,这种算法“所不能发现的错误的几率仅为0.0047%以下”,相比简单的校验和计算,它的有效性要强得多。

        比如,系统上电后,需要运行外部RAM中的程序之前,先对其做CRC校验,来验证其中程序的正确性,避免出现程序损坏的问题。

        或者,系统在线更新过程中,从例如以太网上接收了新的应用程序,向Flash烧写以前,可能要做一下CRC校验,以免数据流在传输过程中有损坏。

       

        流程就是您提到的,DMA那个了。

        说白了就是每次把一个内存中的数据放入CRC模块进行计算累加,每处理一个数据就接下来处理下一个内存单元中的数据,一般可能1KB为一个单位。

        所以,最佳方法是用DMA一个一个把数据按顺序从内存读取并放入CRC模块,这样可以最大程度降低CPU的负载。

        我们的CRC模块支持不同工作模式,当然,如果你愿意,也可以用CPU把数据一个一个运送到CRC模块中。