Pins Tool does not generate code for some pins

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

Pins Tool does not generate code for some pins

Jump to solution
1,113 Views
georgemakarov
Contributor III

Here is an issue with Pins Tool v.5.0 for processor MIMXRT1052xxxxB.
It doesn't generate GPIO configuration structure and invoke of GPIO_PinInit for pin 31 of any port.

To reproduce the bug I configured pins GPIO1_00, GPIO1_31, GPIO2_30, GPIO2_31. It generates gpio1_pinM14_config and gpio2_pinC14_config for GPIO1_00 and GPIO2_30 respectively, but doesn't for GPIO1_31 and GPIO2_31

/*
* TEXT BELOW IS USED AS SETTING FOR TOOLS *************************************
BOARD_InitPins:
- options: {callFromInitBoot: 'false', coreID: core0, enableClock: 'true'}
- pin_list:
- {pin_num: M14, peripheral: GPIO1, signal: 'gpio_io, 00', pin_signal: GPIO_AD_B0_00, direction: OUTPUT, gpio_init_state: 'true'}
- {pin_num: J14, peripheral: GPIO1, signal: 'gpio_io, 31', pin_signal: GPIO_AD_B1_15, direction: OUTPUT, gpio_init_state: 'true'}
- {pin_num: C14, peripheral: GPIO2, signal: 'gpio_io, 30', pin_signal: GPIO_B1_14, direction: OUTPUT}
- {pin_num: B14, peripheral: GPIO2, signal: 'gpio_io, 31', pin_signal: GPIO_B1_15, direction: OUTPUT}
* BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS ***********
*/

/* FUNCTION ************************************************************************************************************
*
* Function Name : BOARD_InitPins
* Description : Configures pin routing and optionally pin electrical features.
*
* END ****************************************************************************************************************/
void BOARD_InitPins(void) {
CLOCK_EnableClock(kCLOCK_Iomuxc); /* iomuxc clock (iomuxc_clk_enable): 0x03U */

/* GPIO configuration on GPIO_AD_B0_00 (pin M14) */
gpio_pin_config_t gpio1_pinM14_config = {
.direction = kGPIO_DigitalOutput,
.outputLogic = 1U,
.interruptMode = kGPIO_NoIntmode
};
/* Initialize GPIO functionality on GPIO_AD_B0_00 (pin M14) */
GPIO_PinInit(GPIO1, 0U, &gpio1_pinM14_config);

/* GPIO configuration on GPIO_B1_14 (pin C14) */
gpio_pin_config_t gpio2_pinC14_config = {
.direction = kGPIO_DigitalOutput,
.outputLogic = 0U,
.interruptMode = kGPIO_NoIntmode
};
/* Initialize GPIO functionality on GPIO_B1_14 (pin C14) */
GPIO_PinInit(GPIO2, 30U, &gpio2_pinC14_config);

IOMUXC_SetPinMux(
IOMUXC_GPIO_AD_B0_00_GPIO1_IO00, /* GPIO_AD_B0_00 is configured as GPIO1_IO00 */
0U); /* Software Input On Field: Input Path is determined by functionality */
IOMUXC_SetPinMux(
IOMUXC_GPIO_AD_B1_15_GPIO1_IO31, /* GPIO_AD_B1_15 is configured as GPIO1_IO31 */
0U); /* Software Input On Field: Input Path is determined by functionality */
IOMUXC_SetPinMux(
IOMUXC_GPIO_B1_14_GPIO2_IO30, /* GPIO_B1_14 is configured as GPIO2_IO30 */
0U); /* Software Input On Field: Input Path is determined by functionality */
IOMUXC_SetPinMux(
IOMUXC_GPIO_B1_15_GPIO2_IO31, /* GPIO_B1_15 is configured as GPIO2_IO31 */
0U); /* Software Input On Field: Input Path is determined by functionality */
}

Here's detailed information about used tool:

*** About MCUXpresso Config Tools:
Version and Build id: 5.0.0.201811140908
Installed tools:
Pins (5.0)

Locally installed data:
C:\ProgramData\NXP\mcu_data_v5
Processors:
MCIMX6QxxVT (5.0.0) - i.MX 6Quad
MIMXRT1051xxxxB (5.0.1) - i.MX RT
MIMXRT1051xxxxx (5.0.0) - i.MX RT
MIMXRT1052xxxxB (5.0.2) - i.MX RT

Boards:
FRDM-K64F (5.0.0)
IMXRT1050-EVKB (5.0.0)
MCIMX6Q-SDB-REV-B (5.0.0)

Components:
adc12_5324d28dd0212c08055a9d9cd4317082 (5.0.0)
adc12_582213dfbd3d6bcee209acc93ebafd79 (5.0.0)
adc16_7d827be2dc433dc756d94a7ce88cbcc5 (5.0.0)
adc_12b1msps_sar_6a490e886349a7b2b07bed10ce7b299b (5.0.1)
adc_etc_f54f0f22e1814a87101dbc3d3da0f030 (5.0.1)
aoi_5a2efbfd7a8a5208f8f552077e2b4ded (5.0.0)
cmp_306724f57b92dbe1771f1514089d2b18 (5.0.0)
cmt_4b415df0953c334612ffa4b1d9ce84dd (5.0.0)
crc_9fd5aeb8f898a23808d5f975e5443f11 (5.0.0)
csi_3739ec1355c7b915be929f3b7e35095b (5.0.0)
csi_b2cf1faba8074e676ac4be93ec552c5a (5.0.0)
dac_a54f338a6fa6fd273bc89d61f5a3b85e (5.0.0)
dcp_95a1068fdf77eaec189146622e54f5e0 (5.0.0)
dcp_972afb0e5bdd98ba89e5860deaf0bf5c (5.0.0)
dma_cb8220597343022981727d8655725baf (5.0.0)
dspi_305e5b03c593d065f61ded8061d15797 (5.0.0)
edma_a23fca76a894e1bcdf9d01a687505ff9 (5.0.0)
elcdif_1c39bcb43ed1a24bc8980672c7378576 (5.0.1)
enc_a31ae546b0cbfc3aa2c35851e1fcb3b8 (5.0.0)
ewm_4792127f422c23cc3392826dba86b9fd (5.0.0)
flexbus_c0f98ce230f06c38b26b546b16ee96cc (5.0.0)
flexcan_ba45456ec815807245205237e2bf425b (5.0.1)
flexcan_d4764a197c0db35c88f36862312557e4 (5.0.1)
flexcomm_i2c_567d1a9d97c12e5d39b00259c3436dc4 (5.0.0)
flexcomm_spi_fa73bcfbc0a2fd3b8c6ba5b0b1f1446f (5.0.0)
flexcomm_usart_fcc110cc6b16332e9dfd9e0df675e21f (5.0.0)
flexio_i2c_master_b1c6d75a13c223349acb4bdd6d771f21 (5.0.0)
flexio_i2s_a594b82e98584b93cd0e9c6b6e73df7f (5.0.0)
flexio_spi_d67d6584d62b130dba246fa5abb61949 (5.0.0)
flexio_uart_fc94dc0ace2887e1e4712084856919fa (5.0.0)
ftm_04a15ae4af2b404bf2ae403c3dbe98b3 (5.0.0)
ftm_5e037045c21cf6f361184c371dbbbab2 (5.0.0)
gpio_65d133e8884c2b67e1400b2f76d174b8 (5.0.0)
gpio_be9de87e5addb6b0f416d9acbab34797 (5.0.0)
gpio_f970a92e447fa4793838db25a2947ed7 (5.0.0)
gpt_e92a0cbd07e389b82a1d19b05eb9fdda (5.0.1)
i2c_2566d7363e7e9aaedabb432110e372d7 (5.0.0)
igpio_b1c1fa279aa7069dca167502b8589cb7 (5.0.0)
kpp_42e527b886eb45655f11a320d8e4317a (5.0.0)
llwu_3300b573fd6e3303f27cdce526747338 (5.0.0)
lpadc_c198e31251158bdd3f87ff4098caeba3 (5.0.0)
lpc_adc_bb2d0dc1b8ebf962ff3f75df84677aae (5.0.0)
lpc_adc_c8a42a3971e43028d68a2161b5fcb2b2 (5.0.0)
lpc_adc_d4840b616722dd9291a911597277144f (5.0.0)
lpc_dma_073e226789af4d91fdf79312787d777b (5.0.0)
lpc_gpio_8c9ab9b3668a514c1f4609fe43001865 (5.0.0)
lpc_gpio_cafc42e5f2c30132836e2ae7603e8a1e (5.0.0)
lpi2c_540b08a1d4a23952ca7a6ac43c82d1e6 (5.0.1)
lpi2c_db68d4f4f06a22e25ab51fe9bd6db4d2 (5.0.1)
lpsci_6cb860df0090aefbbd9e197ba914a87c (5.0.0)
lpsci_d7d643c7d665ff9a7a181303138bb697 (5.0.0)
lpspi_2e4230bc6f188eb74b5476d1b09fc7bf (5.0.1)
lpspi_6e21a1e0a09f0a012d683c4f91752db8 (5.0.1)
lptmr_2eeab91a1a42f8238f9ac768f18c65ae (5.0.1)
lpuart_bebe3e12b6ec22bbd14199038f2bf459 (5.0.0)
pdb_32eb8756416d042c4a30e2cf9bd8fca4 (5.0.0)
pit_a4782ba5223c8a2527ba91aeb2bc4159 (5.0.1)
qtmr_460dd7aa3f3371843c2548acd54252b0 (5.0.0)
rnga_e3462b71d05dedbc6eec554b71e8aafc (5.0.0)
rtc_5a0edd77b33c110032c2a0f5e3d1bd2f (5.0.0)
rtwdog_67fd785e8bb4ab28416270fb114d2253 (5.0.0)
sai_e171ee1d4e17db4b5b234f946b59a148 (5.0.1)
sai_e7c250a6f9f5ec36ac5d0ffad0941743 (5.0.1)
sctimer_11116c58643bd290f0e74db0acbc9466 (5.0.0)
snvs_hp_5fc0a925779e7e5f8b9bedf272c8d94e (5.0.0)
snvs_hp_8aa1d6897a8f71c776216caab5be8259 (5.0.0)
snvs_lp_214d2a8e2ab7b1cb98af7868b3016bee (5.0.0)
snvs_lp_3b9e952b0ef37d4c4fffea74821e74e2 (5.0.0)
spdif_040614b5288766ad77a1a386b39d0a3c (5.0.0)
spi_672b694426b0a10a1d774659ee8f8435 (5.0.0)
system_54b53072540eeeb8f8e9343e71f28176 (5.0.2)
tempmon_c966e400757748d37785414258f2801c (5.0.1)
tpm_e7472ea12d53461b8d293488f3ed72ec (5.0.0)
trng_dd5b2a6f14d45ca091cf6c9a38560d5e (5.0.0)
uart_c6ca9befff8c3e28c85e70f512c4576e (5.0.0)
uart_cd31a12aa8c79051fda42cc851a27c37 (5.0.0)
usb_62ed973d963913bb55111a7b8116ace1 (5.0.0)
usb_e7971d25631a360e2da78a4fcd2653f5 (5.0.1)
vref_62f8e6ca39d44fd8d933f98728e18183 (5.0.0)
wdog01_425640a4cd6cc847fe8bf3baf0d666fc (5.0.0)
wdog01_510a9c5ba7e0ced8deac305549f23fa9 (5.0.0)
wdog_362a0fbc7b41b2e6c7f96894cfc2f4d4 (5.0.0)

Best regards, George Makarov
Labels (1)
Tags (2)
1 Solution
808 Views
Lukas_Heczko
NXP Employee
NXP Employee

Hi George,

the issue is caused by Pins tool code generation script and affects all i.MX RT processors. Attached you can find update of the RT processors data you can import into MCUXpresso Config Tools v5 and Pins Tools for i.MX v5:

  1. In MCUXpresso Config Tools v5 or Pins Tools for i.MX v5, go to File > Import and select Import Processor Data
  2. Browse to the attached archive. The tool will extract information about processors data stored in the update
  3. Select processor you want to update. In your case MIMXRT1052xxxxB. Note that the version of the imported processor data is same as the version cached on disk. This is to make possible future update from the online repository once the fix is published there.
  4. After finishing the update, please restart the tool.

We are sorry for the inconvenience and thank you for reporting this problem.

Regards,

Lukas

View solution in original post

3 Replies
809 Views
Lukas_Heczko
NXP Employee
NXP Employee

Hi George,

the issue is caused by Pins tool code generation script and affects all i.MX RT processors. Attached you can find update of the RT processors data you can import into MCUXpresso Config Tools v5 and Pins Tools for i.MX v5:

  1. In MCUXpresso Config Tools v5 or Pins Tools for i.MX v5, go to File > Import and select Import Processor Data
  2. Browse to the attached archive. The tool will extract information about processors data stored in the update
  3. Select processor you want to update. In your case MIMXRT1052xxxxB. Note that the version of the imported processor data is same as the version cached on disk. This is to make possible future update from the online repository once the fix is published there.
  4. After finishing the update, please restart the tool.

We are sorry for the inconvenience and thank you for reporting this problem.

Regards,

Lukas

808 Views
georgemakarov
Contributor III

Hi Lukas,
I've applied the hotfix and checked code generation. It works properly now. Thank you for quick release of solution.

Best regards, George

Best regards, George Makarov
808 Views
Yuri
NXP Employee
NXP Employee

Hello,

  The issue has been reported.

Thanks for the information!


Have a great day,
Yuri

-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

0 Kudos