<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Macro issue KSDK1.2.0 (FRDM-KL25Z) in Kinetis Software Development Kit</title>
    <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Macro-issue-KSDK1-2-0-FRDM-KL25Z/m-p/426154#M2352</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Ive looked up several sample codes and have finally decided to write a code myself. Also looked up KL25 family reference manual for the same purpose to understand the arrangement/assignment of registers.&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The code is located in I:/folder1/folder2/folder3/folder4/folder5/1.GPIO_Setup location while the KDS1.2.0 installation is located at C:/Freescale/ location.&lt;/P&gt;&lt;P&gt;For which i have also provided include locations for necessary files being refernced in Tool Settings for Cross ARM C Compiler.&lt;/P&gt;&lt;P&gt;The code is basically toggling LEDs i.e. the RGB available on pins 18,19 on portB and pin 1 on portD, which would be as follows:&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#include "MKL25Z4.h"&lt;/P&gt;&lt;P&gt;#include "fsl_device_registers.h"&lt;/P&gt;&lt;P&gt;#include "fsl_clock_manager.h"&lt;/P&gt;&lt;P&gt;#include "fsl_smc_hal.h"&lt;/P&gt;&lt;P&gt;#include "fsl_port_hal.h"&lt;/P&gt;&lt;P&gt;#include "fsl_sim_hal.h"&lt;/P&gt;&lt;P&gt;#include "fsl_gpio_driver.h"&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*as mentioned in fsl_gpio_driver.h inorder to gain access of GPIOs*/&lt;/P&gt;&lt;P&gt;enum _gpio_pins&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; kGpioLED1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = GPIO_MAKE_PIN(GPIOB_IDX, 19),&amp;nbsp;&amp;nbsp; /* FRDM-KL25Z4 Green LED */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; kGpioLED2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = GPIO_MAKE_PIN(GPIOB_IDX, 18),&amp;nbsp;&amp;nbsp; /* FRDM-KL25Z4 Red LED */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; kGpioLED3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = GPIO_MAKE_PIN(GPIOD_IDX,&amp;nbsp; 1),&amp;nbsp;&amp;nbsp; /* FRDM-KL25Z4 Blue LED */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; kGpioSW1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = GPIO_MAKE_PIN(GPIOD_IDX,&amp;nbsp; 6),&amp;nbsp;&amp;nbsp; /* FRDM-KL25Z4 power manager */&lt;/P&gt;&lt;P&gt;&lt;SPAN style="line-height: 1.5;"&gt;};&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*initialize GPIOs variables array*/&lt;/P&gt;&lt;P&gt;extern gpio_input_pin_user_config_t switchPins[];&lt;/P&gt;&lt;P&gt;extern gpio_output_pin_user_config_t ledPins[];&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/* Declare Output GPIO pins */&lt;/P&gt;&lt;P&gt;gpio_output_pin_user_config_t ledPins[] = {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .pinName = kGpioLED1,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .config.outputLogic = 1,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .config.slewRate = kPortSlowSlewRate,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .config.driveStrength = kPortLowDriveStrength,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .pinName = kGpioLED2,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .config.outputLogic = 1,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .config.slewRate = kPortSlowSlewRate,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .config.driveStrength = kPortLowDriveStrength,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .pinName = kGpioLED3,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .config.outputLogic = 1,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .config.slewRate = kPortSlowSlewRate,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .config.driveStrength = kPortLowDriveStrength,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .pinName = GPIO_PINS_OUT_OF_RANGE,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;};&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*Use following Macros to access the PORT pins*/&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#define LED1_EN (GPIO_DRV_OutputPinInit(&amp;amp;ledPins[0])) /*!&amp;lt; Enable target LED1 */&lt;/P&gt;&lt;P&gt;#define LED2_EN (GPIO_DRV_OutputPinInit(&amp;amp;ledPins[1])) /*!&amp;lt; Enable target LED2 */&lt;/P&gt;&lt;P&gt;#define LED3_EN (GPIO_DRV_OutputPinInit(&amp;amp;ledPins[2])) /*!&amp;lt; Enable target LED3 */&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#define LED1_DIS (PORT_HAL_SetMuxMode(PORTB, 19, kPortMuxAsGpio))&amp;nbsp;&amp;nbsp;&amp;nbsp; /*!&amp;lt; Enable target LED1 */&lt;/P&gt;&lt;P&gt;#define LED2_DIS (PORT_HAL_SetMuxMode(PORTB, 18, kPortMuxAsGpio))&amp;nbsp; /*!&amp;lt; Enable target LED2 */&lt;/P&gt;&lt;P&gt;#define LED3_DIS (PORT_HAL_SetMuxMode(PORTD,&amp;nbsp; 1, kPortMuxAsGpio))&amp;nbsp; /*!&amp;lt; Enable target LED3 */&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#define LED1_OFF (GPIO_DRV_WritePinOutput(ledPins[0].pinName, 1))&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*!&amp;lt; Turn off target LED1 */&lt;/P&gt;&lt;P&gt;#define LED2_OFF (GPIO_DRV_WritePinOutput(ledPins[1].pinName, 1))&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*!&amp;lt; Turn off target LED2 */&lt;/P&gt;&lt;P&gt;#define LED3_OFF (GPIO_DRV_WritePinOutput(ledPins[2].pinName, 1))&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*!&amp;lt; Turn off target LED3 */&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#define LED1_ON (GPIO_DRV_WritePinOutput(ledPins[0].pinName, 0))&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*!&amp;lt; Turn on target LED1 */&lt;/P&gt;&lt;P&gt;#define LED2_ON (GPIO_DRV_WritePinOutput(ledPins[1].pinName, 0))&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*!&amp;lt; Turn on target LED2 */&lt;/P&gt;&lt;P&gt;#define LED3_ON (GPIO_DRV_WritePinOutput(ledPins[2].pinName, 0))&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*!&amp;lt; Turn on target LED3 */&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#define LED1_TOGGLE (GPIO_DRV_TogglePinOutput(ledPins[0].pinName))&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*!&amp;lt; Toggle on target LED1 */&lt;/P&gt;&lt;P&gt;#define LED2_TOGGLE (GPIO_DRV_TogglePinOutput(ledPins[1].pinName))&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*!&amp;lt; Toggle on target LED2 */&lt;/P&gt;&lt;P&gt;#define LED3_TOGGLE (GPIO_DRV_TogglePinOutput(ledPins[2].pinName))&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*!&amp;lt; Toggle on target LED3 */&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;int main(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; unsigned int count = 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp; unsigned int check_gpio = 0;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;// SIM_SCGC5 |= SIM_SCGC5_PORTB_MASK|SIM_SCGC5_PORTD_MASK;&lt;/P&gt;&lt;P&gt;//&lt;/P&gt;&lt;P&gt;// PORTB_PCR18&amp;nbsp; |= (PORT_PCR_MUX(1) | PORT_PCR_DSE_MASK);&lt;/P&gt;&lt;P&gt;// GPIOB_PDDR |= (1&amp;lt;&amp;lt;18);&lt;/P&gt;&lt;P&gt;// GPIOB_PSOR |= (1&amp;lt;&amp;lt;18);&lt;/P&gt;&lt;P&gt;//&lt;/P&gt;&lt;P&gt;// PORTD_PCR1&amp;nbsp; |= (PORT_PCR_MUX(1) | PORT_PCR_DSE_MASK);&lt;/P&gt;&lt;P&gt;// GPIOD_PDDR |= (1&amp;lt;&amp;lt;1);&lt;/P&gt;&lt;P&gt;// GPIOD_PSOR |= (1&amp;lt;&amp;lt;1);&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; LED1_EN;&lt;/P&gt;&lt;P&gt;&amp;nbsp; LED2_EN;&lt;/P&gt;&lt;P&gt;&amp;nbsp; LED3_EN;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(1)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*Toggle bits*/&lt;/P&gt;&lt;P&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GPIOB_PTOR |= (1&amp;lt;&amp;lt;18);&lt;/P&gt;&lt;P&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(count = 0;count &amp;lt;1000000;count++);&lt;/P&gt;&lt;P&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GPIOD_PTOR |= (1&amp;lt;&amp;lt;1);&lt;/P&gt;&lt;P&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(count = 0;count &amp;lt;1000000;count++);&lt;/P&gt;&lt;P&gt;//&lt;/P&gt;&lt;P&gt;//&lt;/P&gt;&lt;P&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GPIOB_PCOR |= (1&amp;lt;&amp;lt;18);&lt;/P&gt;&lt;P&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(count = 0;count &amp;lt;1000000;count++);&lt;/P&gt;&lt;P&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GPIOB_PSOR |= (1&amp;lt;&amp;lt;18);&lt;/P&gt;&lt;P&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(count = 0;count &amp;lt;1000000;count++);&lt;/P&gt;&lt;P&gt;//&lt;/P&gt;&lt;P&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GPIOD_PCOR |= (1&amp;lt;&amp;lt;1);&lt;/P&gt;&lt;P&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(count = 0;count &amp;lt;1000000;count++);&lt;/P&gt;&lt;P&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GPIOD_PSOR |= (1&amp;lt;&amp;lt;1);&lt;/P&gt;&lt;P&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(count = 0;count &amp;lt;1000000;count++);&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LED1_TOGGLE;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(count = 0;count &amp;lt;1000000;count++);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LED2_TOGGLE;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(count = 0;count &amp;lt;1000000;count++);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LED3_TOGGLE;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(count = 0;count &amp;lt;1000000;count++);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I get following errors:&lt;/P&gt;&lt;P&gt;I:\Folder\Evalutation Board Trials\Freescale\Freescale FRDMKL25Z\Trial Codes\1.GPIO_Setup\Debug/../Sources/main.c:109: undefined reference to `GPIO_DRV_OutputPinInit'&lt;/P&gt;&lt;P&gt;I:\Folder\Evalutation Board Trials\Freescale\Freescale FRDMKL25Z\Trial Codes\1.GPIO_Setup\Debug/../Sources/main.c:110: undefined reference to `GPIO_DRV_OutputPinInit'&lt;/P&gt;&lt;P&gt;I:\Folder\Evalutation Board Trials\Freescale\Freescale FRDMKL25Z\Trial Codes\1.GPIO_Setup\Debug/../Sources/main.c:111: undefined reference to `GPIO_DRV_OutputPinInit'&lt;/P&gt;&lt;P&gt;I:\Folder\Evalutation Board Trials\Freescale\Freescale FRDMKL25Z\Trial Codes\1.GPIO_Setup\Debug/../Sources/main.c:115: undefined reference to `GPIO_DRV_TogglePinOutput'&lt;/P&gt;&lt;P&gt;I:\Folder\Evalutation Board Trials\Freescale\Freescale FRDMKL25Z\Trial Codes\1.GPIO_Setup\Debug/../Sources/main.c:118: undefined reference to `GPIO_DRV_TogglePinOutput'&lt;/P&gt;&lt;P&gt;I:\Folder\Evalutation Board Trials\Freescale\Freescale FRDMKL25Z\Trial Codes\1.GPIO_Setup\Debug/../Sources/main.c:121: undefined reference to `GPIO_DRV_TogglePinOutput'&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am suspecting that i haven't defined a macro that is preventing the compiler to gain access of this function.&lt;/P&gt;&lt;P&gt;Also attached is the source code and project file of the same.&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Im stuck please help!!!&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Original Attachment has been moved to: &lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-338730"&gt;1.GPIO_Setup.rar&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 04 Sep 2015 13:45:38 GMT</pubDate>
    <dc:creator>nelsonlobo</dc:creator>
    <dc:date>2015-09-04T13:45:38Z</dc:date>
    <item>
      <title>Macro issue KSDK1.2.0 (FRDM-KL25Z)</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Macro-issue-KSDK1-2-0-FRDM-KL25Z/m-p/426154#M2352</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Ive looked up several sample codes and have finally decided to write a code myself. Also looked up KL25 family reference manual for the same purpose to understand the arrangement/assignment of registers.&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The code is located in I:/folder1/folder2/folder3/folder4/folder5/1.GPIO_Setup location while the KDS1.2.0 installation is located at C:/Freescale/ location.&lt;/P&gt;&lt;P&gt;For which i have also provided include locations for necessary files being refernced in Tool Settings for Cross ARM C Compiler.&lt;/P&gt;&lt;P&gt;The code is basically toggling LEDs i.e. the RGB available on pins 18,19 on portB and pin 1 on portD, which would be as follows:&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#include "MKL25Z4.h"&lt;/P&gt;&lt;P&gt;#include "fsl_device_registers.h"&lt;/P&gt;&lt;P&gt;#include "fsl_clock_manager.h"&lt;/P&gt;&lt;P&gt;#include "fsl_smc_hal.h"&lt;/P&gt;&lt;P&gt;#include "fsl_port_hal.h"&lt;/P&gt;&lt;P&gt;#include "fsl_sim_hal.h"&lt;/P&gt;&lt;P&gt;#include "fsl_gpio_driver.h"&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*as mentioned in fsl_gpio_driver.h inorder to gain access of GPIOs*/&lt;/P&gt;&lt;P&gt;enum _gpio_pins&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; kGpioLED1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = GPIO_MAKE_PIN(GPIOB_IDX, 19),&amp;nbsp;&amp;nbsp; /* FRDM-KL25Z4 Green LED */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; kGpioLED2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = GPIO_MAKE_PIN(GPIOB_IDX, 18),&amp;nbsp;&amp;nbsp; /* FRDM-KL25Z4 Red LED */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; kGpioLED3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = GPIO_MAKE_PIN(GPIOD_IDX,&amp;nbsp; 1),&amp;nbsp;&amp;nbsp; /* FRDM-KL25Z4 Blue LED */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; kGpioSW1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = GPIO_MAKE_PIN(GPIOD_IDX,&amp;nbsp; 6),&amp;nbsp;&amp;nbsp; /* FRDM-KL25Z4 power manager */&lt;/P&gt;&lt;P&gt;&lt;SPAN style="line-height: 1.5;"&gt;};&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*initialize GPIOs variables array*/&lt;/P&gt;&lt;P&gt;extern gpio_input_pin_user_config_t switchPins[];&lt;/P&gt;&lt;P&gt;extern gpio_output_pin_user_config_t ledPins[];&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/* Declare Output GPIO pins */&lt;/P&gt;&lt;P&gt;gpio_output_pin_user_config_t ledPins[] = {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .pinName = kGpioLED1,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .config.outputLogic = 1,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .config.slewRate = kPortSlowSlewRate,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .config.driveStrength = kPortLowDriveStrength,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .pinName = kGpioLED2,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .config.outputLogic = 1,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .config.slewRate = kPortSlowSlewRate,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .config.driveStrength = kPortLowDriveStrength,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .pinName = kGpioLED3,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .config.outputLogic = 1,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .config.slewRate = kPortSlowSlewRate,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .config.driveStrength = kPortLowDriveStrength,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .pinName = GPIO_PINS_OUT_OF_RANGE,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;};&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*Use following Macros to access the PORT pins*/&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#define LED1_EN (GPIO_DRV_OutputPinInit(&amp;amp;ledPins[0])) /*!&amp;lt; Enable target LED1 */&lt;/P&gt;&lt;P&gt;#define LED2_EN (GPIO_DRV_OutputPinInit(&amp;amp;ledPins[1])) /*!&amp;lt; Enable target LED2 */&lt;/P&gt;&lt;P&gt;#define LED3_EN (GPIO_DRV_OutputPinInit(&amp;amp;ledPins[2])) /*!&amp;lt; Enable target LED3 */&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#define LED1_DIS (PORT_HAL_SetMuxMode(PORTB, 19, kPortMuxAsGpio))&amp;nbsp;&amp;nbsp;&amp;nbsp; /*!&amp;lt; Enable target LED1 */&lt;/P&gt;&lt;P&gt;#define LED2_DIS (PORT_HAL_SetMuxMode(PORTB, 18, kPortMuxAsGpio))&amp;nbsp; /*!&amp;lt; Enable target LED2 */&lt;/P&gt;&lt;P&gt;#define LED3_DIS (PORT_HAL_SetMuxMode(PORTD,&amp;nbsp; 1, kPortMuxAsGpio))&amp;nbsp; /*!&amp;lt; Enable target LED3 */&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#define LED1_OFF (GPIO_DRV_WritePinOutput(ledPins[0].pinName, 1))&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*!&amp;lt; Turn off target LED1 */&lt;/P&gt;&lt;P&gt;#define LED2_OFF (GPIO_DRV_WritePinOutput(ledPins[1].pinName, 1))&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*!&amp;lt; Turn off target LED2 */&lt;/P&gt;&lt;P&gt;#define LED3_OFF (GPIO_DRV_WritePinOutput(ledPins[2].pinName, 1))&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*!&amp;lt; Turn off target LED3 */&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#define LED1_ON (GPIO_DRV_WritePinOutput(ledPins[0].pinName, 0))&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*!&amp;lt; Turn on target LED1 */&lt;/P&gt;&lt;P&gt;#define LED2_ON (GPIO_DRV_WritePinOutput(ledPins[1].pinName, 0))&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*!&amp;lt; Turn on target LED2 */&lt;/P&gt;&lt;P&gt;#define LED3_ON (GPIO_DRV_WritePinOutput(ledPins[2].pinName, 0))&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*!&amp;lt; Turn on target LED3 */&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#define LED1_TOGGLE (GPIO_DRV_TogglePinOutput(ledPins[0].pinName))&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*!&amp;lt; Toggle on target LED1 */&lt;/P&gt;&lt;P&gt;#define LED2_TOGGLE (GPIO_DRV_TogglePinOutput(ledPins[1].pinName))&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*!&amp;lt; Toggle on target LED2 */&lt;/P&gt;&lt;P&gt;#define LED3_TOGGLE (GPIO_DRV_TogglePinOutput(ledPins[2].pinName))&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*!&amp;lt; Toggle on target LED3 */&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;int main(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; unsigned int count = 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp; unsigned int check_gpio = 0;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;// SIM_SCGC5 |= SIM_SCGC5_PORTB_MASK|SIM_SCGC5_PORTD_MASK;&lt;/P&gt;&lt;P&gt;//&lt;/P&gt;&lt;P&gt;// PORTB_PCR18&amp;nbsp; |= (PORT_PCR_MUX(1) | PORT_PCR_DSE_MASK);&lt;/P&gt;&lt;P&gt;// GPIOB_PDDR |= (1&amp;lt;&amp;lt;18);&lt;/P&gt;&lt;P&gt;// GPIOB_PSOR |= (1&amp;lt;&amp;lt;18);&lt;/P&gt;&lt;P&gt;//&lt;/P&gt;&lt;P&gt;// PORTD_PCR1&amp;nbsp; |= (PORT_PCR_MUX(1) | PORT_PCR_DSE_MASK);&lt;/P&gt;&lt;P&gt;// GPIOD_PDDR |= (1&amp;lt;&amp;lt;1);&lt;/P&gt;&lt;P&gt;// GPIOD_PSOR |= (1&amp;lt;&amp;lt;1);&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; LED1_EN;&lt;/P&gt;&lt;P&gt;&amp;nbsp; LED2_EN;&lt;/P&gt;&lt;P&gt;&amp;nbsp; LED3_EN;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(1)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*Toggle bits*/&lt;/P&gt;&lt;P&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GPIOB_PTOR |= (1&amp;lt;&amp;lt;18);&lt;/P&gt;&lt;P&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(count = 0;count &amp;lt;1000000;count++);&lt;/P&gt;&lt;P&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GPIOD_PTOR |= (1&amp;lt;&amp;lt;1);&lt;/P&gt;&lt;P&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(count = 0;count &amp;lt;1000000;count++);&lt;/P&gt;&lt;P&gt;//&lt;/P&gt;&lt;P&gt;//&lt;/P&gt;&lt;P&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GPIOB_PCOR |= (1&amp;lt;&amp;lt;18);&lt;/P&gt;&lt;P&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(count = 0;count &amp;lt;1000000;count++);&lt;/P&gt;&lt;P&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GPIOB_PSOR |= (1&amp;lt;&amp;lt;18);&lt;/P&gt;&lt;P&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(count = 0;count &amp;lt;1000000;count++);&lt;/P&gt;&lt;P&gt;//&lt;/P&gt;&lt;P&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GPIOD_PCOR |= (1&amp;lt;&amp;lt;1);&lt;/P&gt;&lt;P&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(count = 0;count &amp;lt;1000000;count++);&lt;/P&gt;&lt;P&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GPIOD_PSOR |= (1&amp;lt;&amp;lt;1);&lt;/P&gt;&lt;P&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(count = 0;count &amp;lt;1000000;count++);&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LED1_TOGGLE;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(count = 0;count &amp;lt;1000000;count++);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LED2_TOGGLE;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(count = 0;count &amp;lt;1000000;count++);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LED3_TOGGLE;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(count = 0;count &amp;lt;1000000;count++);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I get following errors:&lt;/P&gt;&lt;P&gt;I:\Folder\Evalutation Board Trials\Freescale\Freescale FRDMKL25Z\Trial Codes\1.GPIO_Setup\Debug/../Sources/main.c:109: undefined reference to `GPIO_DRV_OutputPinInit'&lt;/P&gt;&lt;P&gt;I:\Folder\Evalutation Board Trials\Freescale\Freescale FRDMKL25Z\Trial Codes\1.GPIO_Setup\Debug/../Sources/main.c:110: undefined reference to `GPIO_DRV_OutputPinInit'&lt;/P&gt;&lt;P&gt;I:\Folder\Evalutation Board Trials\Freescale\Freescale FRDMKL25Z\Trial Codes\1.GPIO_Setup\Debug/../Sources/main.c:111: undefined reference to `GPIO_DRV_OutputPinInit'&lt;/P&gt;&lt;P&gt;I:\Folder\Evalutation Board Trials\Freescale\Freescale FRDMKL25Z\Trial Codes\1.GPIO_Setup\Debug/../Sources/main.c:115: undefined reference to `GPIO_DRV_TogglePinOutput'&lt;/P&gt;&lt;P&gt;I:\Folder\Evalutation Board Trials\Freescale\Freescale FRDMKL25Z\Trial Codes\1.GPIO_Setup\Debug/../Sources/main.c:118: undefined reference to `GPIO_DRV_TogglePinOutput'&lt;/P&gt;&lt;P&gt;I:\Folder\Evalutation Board Trials\Freescale\Freescale FRDMKL25Z\Trial Codes\1.GPIO_Setup\Debug/../Sources/main.c:121: undefined reference to `GPIO_DRV_TogglePinOutput'&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am suspecting that i haven't defined a macro that is preventing the compiler to gain access of this function.&lt;/P&gt;&lt;P&gt;Also attached is the source code and project file of the same.&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Im stuck please help!!!&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Original Attachment has been moved to: &lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-338730"&gt;1.GPIO_Setup.rar&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Sep 2015 13:45:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Macro-issue-KSDK1-2-0-FRDM-KL25Z/m-p/426154#M2352</guid>
      <dc:creator>nelsonlobo</dc:creator>
      <dc:date>2015-09-04T13:45:38Z</dc:date>
    </item>
    <item>
      <title>Re: Macro issue KSDK1.2.0 (FRDM-KL25Z)</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Macro-issue-KSDK1-2-0-FRDM-KL25Z/m-p/426155#M2353</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Nelson Lobo:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You are most probably missing 2 steps:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;1-&lt;/STRONG&gt; Build the KSDK platform library project.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;2-&lt;/STRONG&gt; Link the library to your project (in Project -&amp;gt; Properties -&amp;gt; C/C++ Build -&amp;gt; Settings -&amp;gt; Cross ARM C++ Linker).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The detailed steps are in the next guide by colleague Carlos Musich, so I recommend you to give it a check:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/docs/DOC-103288"&gt;Writing my first KSDK1.2 Application in KDS3.0 - Hello World and Toggle LED with GPIO Interrupt&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards!&lt;/P&gt;&lt;P&gt;Jorge Gonzalez&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Sep 2015 21:28:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Macro-issue-KSDK1-2-0-FRDM-KL25Z/m-p/426155#M2353</guid>
      <dc:creator>Jorge_Gonzalez</dc:creator>
      <dc:date>2015-09-04T21:28:36Z</dc:date>
    </item>
  </channel>
</rss>

