iMX6 Pinmux Tool to write separate register headers

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

iMX6 Pinmux Tool to write separate register headers

799 Views
rolfw
Contributor I

Hi

I have iMX pinmux tool 4.1. When exporting register header files for iMX6 SOCs, it writes all SOC register definitions into a single huge header file with almost half-a-million lines of code. This is unbearable for most IDEs. Is there a way to make the tool split the register definitions into separate header files ground functionally like it was done before in the old pinmux tool? Unfortenuately I cannot use the old register header files from the old tool since the macro namings and such changed. So, please provide a way to split these up. A header file with half-a-million lines is not usable at all.

Best Regards

Rolf

0 Kudos
2 Replies

523 Views
gusarambula
NXP TechSupport
NXP TechSupport

Hello Rolf,

I extracted the file and it is indeed a very big register header file. I’m afraid there is no simple way of splitting it into different sets depending on the processor to be used (and in case of the i.MX6Q there is no much that can be spared).

Perhaps it would make sense to switch to an IDE that may allow these big register files. Which IDE are you currently using? I haven’t heard of problems working with Eclipse for example.

My apologies for the inconvenience.

Regards,

0 Kudos

523 Views
rolfw
Contributor I

The old pinmux tool split the register headers into separate files based on functional grouping like USB, UART, SPI etc. So, I would assume that the new tool would be able to do that too. 

I changed to the new pinmux tool to ba able to switch SOCs variants more easily for existing projects. But for ex. when switching from iMX6Q to iMX6DL there is a problem with drive strength field. In the iMX6DL variant there are other drive strength values than in the iMX6Q, although they are very close just a few Ohm apart. Now what happens is, that in the converted DL pinmux project the drive strength is unset because of the slightly different values. Since it is unset, it gets in the code no value at all which results in having Hi-Z everywhere which is totally wrong. As a result I needed to manually set all the drive strength values for hundred something pins. A bit painful.

What needs to be the case is that the most similar drive strength value is chosen like 40 instead of 43 Ohms. Maybe that could be fixed.

re IDE: I'm based on gcc and makefiles, so no particular IDE required. The problems start when the editor in the IDE like Eclipse, Xcode etc. starts to do structural code analysis for the pin header. So what I do is to disable code analysis for this particular file, not nice but workable. But honestly, a million lines file isn't a nice fellow to work with.

Thanks

Rolf

0 Kudos