Brought over the files from the Freescale site and modified for mbed.

This code is only partially working for me. Not every download seems to be successful on Mac OS X. I just took the example files and hacked them around to get it working with mbed. If you want working code I think Erik Olieman's SLCD project is probably a better source.

main.cpp

//KL46Z try out
#include "mbed.h"
#include "TSISensor.h"
#include "MMA8451Q.h"
#include "MAG3110.h"
#include "vfnLCD.h"
#include <cstdlib>
#include <iostream>

Serial pc(USBTX, USBRX);

TSISensor tsi;
MMA8451Q acc51(PTE25, PTE24, 0x1D<<1);
MAG3110 mag(PTE25, PTE24, 0x0E<<1);
vfnLCD lcd;

PwmOut rled(PTE29);
PwmOut gled(PTD5);
AnalogIn lightSensor(PTE22);
//DigitalIn SW1(PTC3);
//DigitalIn SW3(PTC12);
//AnalogOut lcd03(PTB23);
//PwmOut lcd07(PTB7);

char chBufDisp[10];

int main()
{
    using namespace std;

    float onTime = 1.0;
    float offTime = 0.0;
    float holdTime = 1.0;
    bool on = true;
    bool off = false;
    int magX = 0, magY = 0, magZ = 0;
    int count=100;
 
    uint8_t message[]="1234";
    lcd.vfnLCD_All_Segments_ON();     

    while(true) {  
        cout << "I'm alive and running\n\r";              
        rled = onTime - abs(acc51.getAccX());
        gled = onTime - abs(acc51.getAccY());
        mag.getValues(&magX, &magY, &magZ);
        
        cout << "MMA8451: " << acc51.getAccX() << "\t" << acc51.getAccY() << "\t" << acc51.getAccZ() << "\n\r" << endl;
        cout << "MAG3110: " << magX << "\t" << magY << "\t" << magZ << "\n\r" << endl;
        cout << "MAG3110: " << mag.getHeading() << "\n\r" << endl;
        wait(holdTime);
        
        rled = tsi.readPercentage();
        gled = tsi.readPercentage();
        
        cout << "Touch: " << tsi.readPercentage() << "\n\r" << endl;
        cout << "SW1: " << SW1 << "\n\r" << endl;
        cout << "SW3: " << SW3 << "\n\r" << endl;
        cout << "Light Sensor: " << lightSensor << "\n\r" << endl;
        sprintf(chBufDisp,"%04i",count);
        lcd.vfnLCD_Write_Msg((uint8_t *)chBufDisp);
        count++;
        if (count>9999) count=0;
        wait(holdTime);
    }
    return 0;
}

Revision:
0:c5fea5b6b339
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vfnLCD.h	Mon Jan 13 22:32:43 2014 +0000
@@ -0,0 +1,146 @@
+//#include "common.h"
+#include "mbed.h"
+#include "LCDConfig.h"   // indicates how LCD module is configured and what type of LCD is going to be used 7seg, 14-seg, 16 seg, DotMatrix etc
+
+#define LCD_ALTERNATE_MODE    4   // Write message to Alternate Backplanes
+#define LCD_NORMAL_MODE       0   // Write message to Original BackPlanes 
+
+
+/* variables */
+extern uint32_t __VECTOR_RAM[]; //Get vector table that was copied to RAM
+
+extern const uint32_t MASK_BIT[];  
+extern const uint32_t *LCD_TO_PORT[];
+
+
+#if _LCDINTENABLE == 1
+  extern void LcdInterruptCallBack(void);
+#endif
+  
+class vfnLCD {
+    
+public: 
+/*||||||||||||||||||||||       vfnLCD_Init            ||||||||||||||||||||||
+brief:  Initialize all the registers on the mcu module 
+param:  void                            return:  void    
+*/  
+vfnLCD(void);
+  
+void vfnLCD_Home (void);
+ /*||||||||||||||||||||||       vfnLCD_Write_Char   ||||||||||||||||||||||
+ brief:  Writes on char after the last character was write
+ param:  uint8 --- Ascii to write                            return:  void    
+*/
+void vfnLCD_Write_Char (uint8_t lbValue);
+
+/*
+   Send a message until a end of char or max number of characters
+   if the message size is greater than LCD character the message is cut ad the size of LCD Characters
+   If the message lenght is minor than Display character is filled with Blanks
+ */
+void vfnLCD_Write_Msg (uint8_t *lbpMessage);
+
+
+
+ /*||||||||||||||||||||||       vfnLCD_Write_Msg    ||||||||||||||||||||||
+brief:  Writes on message on the LCD   if the message is longer than the number of character  is send to the Scroll function
+param:  uint8 pointer --- the first character  on the array to write
+param: uint8 --- the numbers of characterts to write      
+return:  void    
+*/
+void vfnLCD_Write_MsgPlace (uint8_t *lbpMessage, uint8_t lbSize );
+
+/*||||||||||||||||||||||       vfnLCD_Scroll    ||||||||||||||||||||||
+brief:  Moves the message on the LCD 
+param:  uint8 pointer --- the first character  on the array to write
+param: uint8 --- the size of the character  
+return:  void    
+*/
+
+void vfnLCD_Scroll (uint8_t *lbpMessage,uint8_t lbSize);
+
+ /*||||||||||||||||||||||       vfnLCD_All_Segments_ON   ||||||||||||||||||||||
+brief: Turns on all the segments on the LCD
+param:  uint8 pointer --- the first character  on the array to write
+param: uint8 --- the size of the character  
+return:  void    
+*/
+
+void vfnLCD_All_Segments_ON (void);
+                                                                                                      
+/*Same as clear dispay */
+void vfnLCD_All_Segments_OFF (void);
+  
+void vfnLCD_Contrast (uint8_t lbContrast);
+void vfnLCD_isrv(void) ;
+
+
+/* functions for DOT matrix LCD panel only*/
+void vfnLCD_All_Segments_Char (uint8_t val);
+void PutPoint(uint8_t x, uint8_t y);
+void ClrPoint(uint8_t x, uint8_t y);
+void SetX(uint8_t x, uint8_t value);
+
+private:
+char  lcdBuffer[];
+
+
+uint8_t lcd_alternate_mode;
+
+
+void LCD_vector_interrupt_init(void);
+void lcd_pinmux(uint8_t  mux_val);  //only 0 or 7 is allowed
+
+void vfnBP_VScroll(int8_t scroll_count);
+
+ // LCD call samples
+ //  vfnLCD_Home();
+ //  vfnLCD_Write_Char ('0');
+ //  vfnLCD_All_Segments_ON();
+ //  vfnLCD_All_Segments_OFF();
+ //  vfnLCD_Write_Msg("@@@@@@@@@");  // TURN ON all characters
+ //  vfnLCD_All_Segments_OFF();
+
+
+
+/*{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{        Macros            }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}*/
+/*{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{   ----------------------------  }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}*/
+
+#define LCD_ENABLE()        (LCD_GCR |=  LCD_GCR_LCDEN_MASK)
+#define LCD_DISABLE()       (LCD_GCR &= ~LCD_GCR_LCDEN_MASK) 
+#define LCD_VTRIM(x)        (LCD_GCR &= ~LCD_GCR_RVTRIM_MASK; LCD_GCR |= LCD_GCR_RVTRIM(x));
+
+
+
+
+
+
+
+/*{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{        Functions        }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}*/
+/*{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{   ----------------------------  }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}*/
+
+
+
+/*||||||||||||||||||||||       vfnLCD_EnablePins   ||||||||||||||||||||
+brief: Enable all the pins of the mcu directly connected to the  LCD on use
+param:  void                            return:  void    
+*/  
+void vfnEnablePins (void);
+
+ /*||||||||||||||||||||||       vfnLCD_SetBackplanes ||||||||||||||
+brief:  Set as a backplane and give the number of COM that corresponds  
+param:  void                            return:  void    
+*/
+void vfnSetBackplanes (void);
+
+/*||||||||||||||||||||||       vfnLCD_Home            ||||||||||||||||||||||
+brief:  Reset the counter to the first position
+param:  void
+return:  void    
+*/  
+
+
+
+void vfnLCD_interrupt_init(void);
+};
+