freetech

kinetis入门之——CRC

0
阅读(1762)

kinetis内置了硬件CRC校验功能,下面详述具体步骤:

1、点“文件->新建->bareboard project”出现下面对话框:

image

为工程起个名字(该示例为k10_crc_pe),点“下一步”,出现:

NU)S1WL}0LB(85~9W5BJVTF

选择你所用的芯片型号即可。点“下一步”,出现:

image

“Connetion to be used”中先选我们先前建好的“USBDM K10X256”,点“下一步”,一直点“下一步”直到出现:

image

选“Processor Export”,点“下一步”,出现:

image

选实际用到的芯片(我用的是144-pins LQFP),点“完成”,出现:

image

等待上面对话框消失,一个工程就建好了。

双击“Security”下的“CRC_LDD”添加一个“CRC Bean”,如下图:

image

配置如下图:

image

Methods”里

image

点“项目”->“Generate Processor Export Code”如下图:

clip_image020

下面是“ProcessorExpert.c”的“main()”函数代码:

void main(void)
{
  /* Write your local variable definition here */
    LDD_TDeviceData *DeviceData=NULL;
    uint8_t InputStream;
    uint32_t Result=0;
    uint32_t i;

  /*** Processor Expert internal initialization. DON'T REMOVE THIS CODE!!! ***/
  PE_low_level_init();
  /*** End of Processor Expert internal initialization.                    ***/

  /* Write your code here */
  /* For example: for(;;) { } */
  DeviceData = CRC1_Init(NULL);

  InputStream = 'a';                    /* This can be a char e.g. received from UART */
  CRC1_GetCRC8(DeviceData, InputStream);
  InputStream = 'b';                    /* This can be a char e.g. received from UART */
  CRC1_GetCRC8(DeviceData, InputStream);
  InputStream = 'c';                    /* This can be a char e.g. received from UART */
  Result = CRC1_GetCRC8(DeviceData, InputStream); /* Result contains CRC of input stream */

  CRC1_ResetCRC(DeviceData);            /* Reset CRC module to start new computation */
  InputStream = 'q';                    /* This can be a char e.g. received from UART */

  for (i = 0; i < 10; i++) {
    Result = CRC1_GetCRC8(DeviceData, InputStream);
  }

  /* Now Result contains CRC of input stream "qqqqqqqqqq" */

  /*** Don't write any code pass this line, or it will be deleted during code generation. ***/
  /*** Processor Expert end of main routine. DON'T MODIFY THIS CODE!!! ***/
  for(;;){}
  /*** Processor Expert end of main routine. DON'T WRITE CODE BELOW!!! ***/
} /*** End of main routine. DO NOT MODIFY THIS TEXT!!! ***/

 

至此,代码就写完了。按以前的方法调试即可。下面是一些调试断点截图:

image

image