Part Number: MSP-EXP430FR5994 I am trying to get some example code for the Kentec QVGA Display BoosterPack ( BOOSTXL-K350QVG-S1 ) to work on the MSP430FR5994 LaunchPad ( MSP-EXP430FR5994 ). Specifically, I am trying the "QVGA 3-D Graphics on Ultra Low Power Microcontrollers" ( TIDM-3DGRAPHICS-QVGA ) example, but I if there is code that works out of the box for the MSP430FR5994 , I can use that instead. The problem I have is that the hardware and, specifically, the HAL code for the LcdDriver and touch interface are not directly compatible with the FR5994. It seems that relatively simple changes to the project and various pin/memory/flag configuration are all that need to be changed, but this is not a simple process for somebody who is getting started with this MSP. Specifically, the QVGA 3D example only provides projects for the MSP430FR5969 and MSP430F5529 . The MSP430FR5969 is very similar to the MSP430FR5994 , but the LaunchPad only has a 20-pin connector, and you must make a hardware modification to the QVGA BoosterPack to use with the FR5969. Also, the driver API for the FR5969 are slightly different from the FR5994. Here is what I have tried so far to get the TIDM_3DGRAPHICS_QVGA_MSP430FR5969LP example working for the FR5994: Because of these two issues, if you simply load the project configuration for the MSP430FR5969 (TIDM_3DGRAPHICS_QVGA_MSP430FR5969LP) in CSS, and change the MSP model in Project->Properties, there are a number of compile errors. The first error is that the LCD HAL and touch screen HAL are only defined for the two officially supported MSP430s (e.g. FR5969 and F5529). OK, so if you change the #if define() macro to check for the FR5994 instead o the FR5969, these HAL files (LCD and touch), then DMA_BASE is undefined. I tried to fix this but adding "${workspace_loc:/${ProjName}/driverlib/MSP430FR5xx_6xx/inc}" to the project includes path, since DMA_BASE is defined in hw_memmap.h, but it seems the FR5994 does not have the __MSP430_HAS_DMAX_3__ or __MSP430_HAS_DMAX_6__ flags set. I noticed that hw_memmap.h is in the QVGA project is actually an older version from 2015 that may be incompatible with CCS 7.0 and/or the FR5994. OK, no big deal, right? I replaced driverlib with the newest version from 2016 for the FR5xx family. But the API function calls have changed. So I updated ADC12_B_init() in HAL_ADC12_B.c to use the struct argument. At this point, it compiles successfully, but I get linking errors for various functions defined in touch.c and demo.c, such as FRAM_write32() and TIMER_A_stop(). TIME_A_stop() seems to be defined in the driverlib for F5xx but not for FR5xx, but I can't find where FRAM_write32() is defined anywhere. However, it seems the name changed for some important reason (joke) to FRAMCtl_write32(), so I updated this in touch.c. However, it seems there is no substitute for FRAM_memoryFill32(), so at this point I got stuck. Please, TI, can somebody update this project and/or tell me what changes are necessary to get it to work on the FR5994??
↧