Freescale Freedom FRDM-K64F Development Platform

View table of contents ...  

Introduction
Freescale FRDM-K64FThe FRDM-K64FFRDM-K64F is an ultra-low-cost development platform for Kinetis K64, K63, and K24 MCUs. The FRDM-K64FFRDM-K64F hardware is form-factor compatible with the Arduino™ R3 pin layout, providing a broad range of expansion board options. The FRDM-K64FFRDM-K64F is feature packed with a lot of peripherals to enable rapid prototyping, including a 6-axis digital accelerometer and magnetometer to create full eCompass capabilities, a tri-colored LED and 2 user push-buttons for direct interaction and feedback, expansion memory with a microSD card slot, and connectivity options using onboard Ethernet port and headers for use with Bluetooth and 2.4 GHz radio add-on modules. The FRDM-K64FFRDM-K64F platform features OpenSDAv2, the Freescale open source hardware embedded serial and debug adapter running an open source bootloader. This circuit offers several options for serial communication, flash programming, and run-control debugging.
Features
  • MK64FN1M0VLL12 MCU (120 MHz, 1 MB flash memory, 256 KB RAM, low-power, crystal-less USB, and 100 Low profile Quad Flat Package (LQFP))
  • Dual role USB interface with micro-B USB connector
  • RGB LED
  • FXOS8700CQ accelerometer and magnetometer
  • Two user push buttons
  • Flexible power supply option – OpenSDAv2 USB, Kinetis K64 USB, and external source
  • Easy access to MCU input/output through Arduino™ R3 compatible I/O connectors
  • Programmable OpenSDAv2 debug circuit supporting the CMSIS-DAP Interface software that provides:
    • Mass storage device (MSD) flash programming interface
    • CMSIS-DAP debug interface over a driver-less USB HID connection providing run-control debugging and compatibility with IDE tools
    • Virtual serial port interface
    • Open source CMSIS-DAP software project
  • Ethernet
  • SDHC
  • Add-on RF module: nRF24L01+ Nordic 2.4GHz Radio
  • Add-on Bluetooth module: JY-MCU BT board V1.05 BT
Product Video
This video is unavailable.
Terms & Conditions
  • Testers will be selected on the basis of quality of applications: we expect a full and complete description of why you want to test this particular product.
  • Testers are required to produce a full, comprehensive and well thought out review within 2 months of receipt of the product.
  • Failure to provide this review within the above timescale will result in the enrolee being excluded from future RoadTests.
RoadTest Reviews
Comments
Anonymous
  • They actually contain more - in addition to the K64F - the kits contain a controller board which may be used in your projects.

  • You r Lucky Guys !! best part is qsg for ibm cloud integration image I am hoping to learn a lot from these reviews.

  • Awesome, thank you for the update!  Do these have any significant difference between these and the original ones?

  • Thank you to everyone for your patience, there has been a severe shortage of FRDM-K64F's due to high demand.  In order to ameliorate the issue, we have been talking to IBM and ARM who have produced this FRDM-K64F based kit -

    image

    The first five of these have arrived and will be dispersed to the testers in whose countries the kits have been approved for use; we will need to check this before shipment, so I estimate the first shipments will be sent next week.

     

    Thanks again.

  • Has anyone received their RoadTest package with this board yet?

  • Ahh, I was hoping there was a delay somewhere because I was beginning to be worried the postal service would be my demise in further RoadTests. image

     

     

    Thank you for the update!

     

    -Daniel W.

  • Christian,

         Thanks for your update! Please keep us informed...image

     

    Clem

  • We are experiencing shipping delays due to the recent holidays in the United States; thank you for your patience.

  • I have not received mine either.  My mailbox has been full of disappointment everyday I wait on the unit. image

  • and you would be correct, strings in C are zero terminated automatically, if you had used a char[] instead then that would be a different story

  • Has anyone received the unit yet?

    I'm waiting impatiently to get started and review it, but I haven't received it yet.

     

    /M

  • Hello Clem Martins,

     

    If I remember correctly (but it could be different with Codewarrior) that when you define something as a string it is automatically appended with a null terminator. But even if I am wrong the whole I2C communication happens before this point. therefore there should be some reply from the device before even reaching the infinite loop.

     

    Thank you for the help though

    Kas

  • @Kas Lewis I did notice that your character string does not have a "/0" or null value, yet you test for this value in your while loop...

     

    1. char string[] = "My name is Bob C. Marley \r\n\r\n";
    2. while(1) {    
    3.     for (i = 0; string[i] != '\0'; i++){ 
    4.     Uart_SendChar(string[i]); 
    5.     } 

     

    Clem

  • Worst thing about Freescale is there LACK of support. I have been trying to get the I2C working on my KEA-64 board for THREE WEEKS and all they can do is send me more demo code that is bloated and overly complicated.

     

    image

     

    As you can see I have the I2C module mostly working, but nothing I try, including following what here myriad of examples shows, to do to get the clock KEA-64 to provide a clock for the device to send back data seems to work. I have tried this with TWO I2C devices and both give the exact same result so it must be the KEA-64. Their "help forums" are hardly any help so I am hoping someone here may have some REAL answers. I am including my code below, and hopefully someone can point to the error I have made in MY code.

     

    Kas

     

    int main(void)
    {
      long int delay;
      unsigned char i;
      unsigned char result;
      char string[] = "My name is Bob C. Marley \r\n\r\n";
    
      Clk_Init();
      UART_Init();
    
      SIM_SCGC |= SIM_SCGC_I2C_MASK;
      SIM_PINSEL |= SIM_PINSEL_I2C0PS_MASK;
      I2C0_F = 0x11;
    
    /**/ //Start
      I2C0_C1 |= I2C_C1_MST_MASK | I2C_C1_TX_MASK | I2C_C1_IICEN_MASK;
    
    /**/ //Write device to read from
      I2C0_D = 0xC0;
      while ((I2C0_S & I2C_S_IICIF_MASK) == 0){
      //Wait for data to transmit
      }
      I2C0_S |= I2C_S_IICIF_MASK;
    
    /**/ //Write register to read from
      I2C0_D = 0x0C;
      while ((I2C0_S & I2C_S_IICIF_MASK) == 0){
      //Wait for data to transmit
      }
      I2C0_S |= I2C_S_IICIF_MASK;
    
    /**/ //Restart
      I2C0_C1 |= I2C_C1_RSTA_MASK;
    
    /**/ //Read from device
      I2C0_D = 0xC1;
      while ((I2C0_S & I2C_S_IICIF_MASK) == 0){
      //Wait for data to transmit
      }
    
    /**/ //RX mode
        I2C0_C1 &= ~I2C_C1_TX_MASK; 
    /**/ //Turn off its ACK
        I2C0_C1 |= I2C_C1_TXAK_MASK;
        for (i = 0; i < 5000; i++){}
        
        result = I2C0_D;
      while ((I2C0_S & I2C_S_IICIF_MASK) == 0){
      //Wait for data to transmit
      }
    
      I2C0_C1 &= ~I2C_C1_MST_MASK;
        result = I2C0_D;
    
    
      while(1) {   
        for (i = 0; string[i] != '\0'; i++){
        Uart_SendChar(string[i]);
        }
       
       
        for(delay = 0; delay < 99999; delay++);
      }
    
    
    
    
      return 0;
    }

  • Yes, yes Thankyou.. I was looking over some other roadtest and there I saw the t&c(as you already mentioned) and was going to edit the last comment but you already replied on that. Thank you anyways!! image

  • Hi , it starts from the moment you receive the kit.

     

    Testers are required to produce a full, comprehensive and well thought out review within 2 months of receipt of the product

     

    Frederick

  • image Nope.. Still waiting.

    Also, does this 2 months period (to submit review) has already been started or it will start when we recieve kit? I think it has already been started.

  • See anything yet @mudz? Not here!