Where does PE place the configuration code?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Where does PE place the configuration code?

848 Views
neilporven
Senior Contributor I

Hi everyone,

I am using KDS IDE 3.0 and I am using PE to disable a pull up on PTA4, but I am monitoring this PIN and its pulled up.

I made sure I don't have a that pin pulled in my circuit, so that discounts that it a hardware/physical issue.  I would like

to view the actual code that PE is generating to disable the pullup, but I can't find it?  In what file is this located?

9 Replies

571 Views
adriancano
NXP Employee
NXP Employee

Hi Neil,

Can you please share which device are you using? also, are you using KSDK software or just PEX without KSDK?

Regards,
Adrian

0 Kudos

571 Views
neilporven
Senior Contributor I

Hi Adrian,

At this point, I am not really sure what I am using?  I don't know if I am using PEX (what is this???) or KSDK? 

What I can tell you for sure is that I am working with the KDS 3.0.

I am so confused with all this naming conventions KDS....KSDK....PE....PEX.... sorry but this whole thing is alien to me.

Thank you.

0 Kudos

571 Views
adriancano
NXP Employee
NXP Employee

Hi,

Yes, I know there so many acronyms for our products that you can easily get confused. Just to clarify:

  • KDS: Kinetis Design Studio. This is the IDE used to program and debug almost all the Kinetis Devices which are the Freescale's Cortex M0+ and M4 processors.
  • KSDK: Kinetis Software Development Kit. This is the complete software support for new Kinetis devices and the latest version that is the KSDK v1.2.0 works with the Kinetis Design Studio IDE.
  • Processor Expert: Normally is written as PE or PEx or PEX, all of this is referring to the same. This is the software tool included in KDS that allows you to configure the peripherals of the device using a Graphic Method. You will find, for some devices, two options to use PEx. Which are:
    • PEx + KSDK: This is using the KSDK peripheral drivers.
    • PE without KSDK: This is using the classic Processor Expert PDD drivers.

               You can find more information about this difference HERE

Some devices are only supported by the PEx + KSDK but some others are supported by the two PEx options. Which microcontroler are you using?.

Regards,

Adrian

0 Kudos

571 Views
neilporven
Senior Contributor I

So, then

In my case I am using : PEx+SDK 3.0 and the processor MK64FX512VLL12.

0 Kudos

571 Views
adriancano
NXP Employee
NXP Employee

The colleague David Seymour has given you the hints to find the configurations done by PEx to configure the pin. Please let us know if that answer your questions.

Regards,

Adrian

0 Kudos

571 Views
neilporven
Senior Contributor I

Ok,

On the KDS 3.0 Help->Installation Details->Processor Expert for Kinetis (3.0.0.RT7_b1515-0427).

Under Processor Expert for Kinetis->Processor Expert Kinetis SDK Support (1.2.0.RT7_b1515-0427).

Hope this helps.

0 Kudos

571 Views
DavidS
NXP Employee
NXP Employee

Hi Neil,

KDS = Kinetis Design Studio which is eclipse based IDE and uses ARM GNU GCC compiler tools.

KSDK = Kinetis Software Development Kit.....it has the static peripheral software to access the Kinetis on-chip peripherals at low and high levels.

PE (Processor Expert) is integrated into KDS.  It is a GUI based initialization tools.  In general it will be used to generate configuration information to be used with the KSDK peripheral software.  PE does have some legacy support for a few devices and in those cases the KSDK is not being used.

PEX is a standalone version of the PE.

When using PE to configure your GPIO pin, after you configure components, then generate the code, in your Generated_Code folder you should have a file that has the code to initialize the pin.

My test code was based on KDS_3.0, KSDK_1.2, PE....I added a fsl_gpio Component and configured the PTB1 to first have pull resistor enabled and had it configured for pull-down.  The generated code looks like:

const gpio_input_pin_user_config_t gpio1_InpConfig0[] = {

  {

    .pinName = B77,

    .config.isPullEnable = true,

    .config.pullSelect = kPortPullDown,

    .config.isPassiveFilterEnabled = true,

    .config.isDigitalFilterEnabled = true,

    .config.interrupt = kPortIntDisabled

  },

  {

    .pinName = ptb1_test,

    .config.isPullEnable = true,           <- Pull enabled

    .config.pullSelect = kPortPullDown,

    .config.isPassiveFilterEnabled = true,

    .config.isDigitalFilterEnabled = true,

    .config.interrupt = kPortIntDisabled

  },

  {

    .pinName = GPIO_PINS_OUT_OF_RANGE,

  }

};

Then when I disable the pull resistor (the PE terminology is Pull enable) the code changes to following:

const gpio_input_pin_user_config_t gpio1_InpConfig0[] = {

  {

    .pinName = B77,

    .config.isPullEnable = true,

    .config.pullSelect = kPortPullDown,

    .config.isPassiveFilterEnabled = true,

    .config.isDigitalFilterEnabled = true,

    .config.interrupt = kPortIntDisabled

  },

  {

    .pinName = ptb1_test,

    .config.isPullEnable = false,           <- Pull disabled

    .config.pullSelect = kPortPullDown,

    .config.isPassiveFilterEnabled = true,

    .config.isDigitalFilterEnabled = true,

    .config.interrupt = kPortIntDisabled

  },

  {

    .pinName = GPIO_PINS_OUT_OF_RANGE,

  }

};

Adrian was asking you what Kinetis device you are using?  Example:  K60.

If you are using a Freedom or Tower board please mention it specifically as it allows others to help you more easily.

Regards,

David

571 Views
neilporven
Senior Contributor I

Thank you David.

I don't know if you had replied before seeing my reply above: MK64FX512VLL12

0 Kudos

571 Views
DavidS
NXP Employee
NXP Employee

I think we were typing at same time. 

I did see your reply.

As Adrian said, let us know if it helped.

Regards,

David

0 Kudos