KL25 Sub-Family Reference Manual, in chapter 27, has the Flash Read Resource to read a Version ID.
There is no explanation of what this Version ID means.
When I read the eight bytes I always read eight zeros.
Is this a valid ID?
 
					
				
		
 kerryzhou
		
			kerryzhou
		
		
		
		
		
		
		
		
	
			
		
		
			
					
		
Hi Bob Paddock,
Every chip has a version ID, and not all zero, so I think maybe your read method has some problem.
You can try to read again according to the following code,
INT8U FTFA_RDRSRC(INT32U addr, INT8U resource_select_code, INT32U *data) 
{
    INT8U cmd_ary[12];
    INT32U ret_val;
    INT32U data0;
     
    /*
     *  initialize return variables.
     */
    *data = 0;
          
    /*
     *  Don't forget to do this -> 
     */
    addr = ftfa_convert_addr_to_ccob_addr(addr); 
    /*
     *  if youare using a pflash/FLEXNVM part.
     */
     
    cmd_ary[0] = FTFA_RDRSRC_CMD;
    cmd_ary[1] = bits_23_16(addr);
    cmd_ary[2] = bits_15_8(addr);
    cmd_ary[3] = bits_7_0(addr);
    cmd_ary[8] = resource_select_code;
     
    ret_val = ftfa_run_ccob_cmd(cmd_ary, 9);        
    if (ret_val == 0)
    {
        /*
         *  Read the data out of the CCOB's
         */
        data0 = (FTFA_FCCOB4 << 24) + (FTFA_FCCOB5 << 16) + (FTFA_FCCOB6 << 8) + FTFA_FCCOB7;
        *data = data0;
    }
        
    /*
     *  returns 0 for pass or fstat error bits for fail.
     */
    return ret_val;
}
and read in main.c
INT32U ulDataStore[10] ;
ucTemp = FTFA_RDRSRC(0x0,FTFA_VERSION_ID_RSRC,ulDataStore);
ucTemp = FTFA_RDRSRC(0x4,FTFA_VERSION_ID_RSRC,&ulDataStore[1]);
printf("Read Vesion ID : %#8x %#8x\r\n",ulDataStore[0],ulDataStore[1]);
I use this code read out the right version ID, not all zero!
I hopes it helps you!
Best regards!
Jing
 
					
				
		
Jing,
Where can I find the ftfa_convert_addr_to_ccob_addr() and ftfa_run_ccob_cmd() functions?
Regards,
Allen
 
					
				
		
 kerryzhou
		
			kerryzhou
		
		
		
		
		
		
		
		
	
			
		
		
			
					
		 
					
				
		
In a related inquiry, I read all the ID-info from a K20 and it returns these pieces of information:
K20-100pin Silicon rev 2.4
Flash parameter version 0.0.8.0
Flash version ID 5.2.3.0
512 kBytes of P-flash 128 kBytes of RAM
So on a related question, what does this Flash ID information TELL me that I might NEED to know?
 
					
				
		
 kerryzhou
		
			kerryzhou
		
		
		
		
		
		
		
		
	
			
		
		
			
					
		Hi Earl Goodrich II,
Flash version ID is just the chip's ID, every chip has a Flash ID, and is not the same, it is write in the factory and read only to customer. It is used to distinguish the chip when you use a lot of the same type chip.It is like the person ID number. And it is the only difference between the same type chip.
I wish it helps you!
Best regards!
Jing
