Possibility to add an additional code generator?

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Possibility to add an additional code generator?

ソリューションへジャンプ
1,488件の閲覧回数
The0
Contributor I

Hi 

I was wondering whether it is possible to generate additional .c/.h files with the MCUXpresso Config Tool?

So what I have in mind, the MCUXpresso Config Tool already generates very nice pin_mux.h header files including all the symbols for PORTs and GPIOs. E.g. for the GPIO where my red LED is connected to:

#define BOARD_INITPINS_LED_RED_GPIO GPIO0  /*!<@brief GPIO peripheral base pointer */

With that I would like to generate an additional header file containing same symbols as in pin_mux.h, but with a typecast:

#define LED_RED_PORT (GPIO::Port*)BOARD_INITPINS_LED_RED_GPIO

I fear MCUXpresso Config Tool isn't that flexible. But what do you think, are there any other good approaches/tools to generate such header files each time I run the code generator in MCUXpresso Config Tool?

Best,
THE0

 

 

 

0 件の賞賛
返信
1 解決策
1,459件の閲覧回数
Harry_Zhang
NXP Employee
NXP Employee

Hi @The0 

You’re right that the MCUXpresso Config Tool doesn’t have built-in flexibility to generate additional customized .c or .h files with the kind of modifications you’re describing, such as adding typecasts or additional symbols based on the ones in pin_mux.h. However, you can still achieve this by setting up a custom post-processing script that runs after the code generation.

After running the MCUXpresso Config Tool, use a script (Python, Bash, etc.) to read the generated pin_mux.h file, extract the relevant symbols, and create your additional header file (custom_pin_mux.h or similar).

BR

Hang

元の投稿で解決策を見る

0 件の賞賛
返信
2 返答(返信)
1,460件の閲覧回数
Harry_Zhang
NXP Employee
NXP Employee

Hi @The0 

You’re right that the MCUXpresso Config Tool doesn’t have built-in flexibility to generate additional customized .c or .h files with the kind of modifications you’re describing, such as adding typecasts or additional symbols based on the ones in pin_mux.h. However, you can still achieve this by setting up a custom post-processing script that runs after the code generation.

After running the MCUXpresso Config Tool, use a script (Python, Bash, etc.) to read the generated pin_mux.h file, extract the relevant symbols, and create your additional header file (custom_pin_mux.h or similar).

BR

Hang

0 件の賞賛
返信
1,452件の閲覧回数
The0
Contributor I

Hi @Harry_Zhang 

Thank you very much for your feedback. I think the approach using a post-processing script should work well.

BR
The0

0 件の賞賛
返信
%3CLINGO-SUB%20id%3D%22lingo-sub-1978927%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E3%82%B3%E3%83%BC%E3%83%89%E3%82%B8%E3%82%A7%E3%83%8D%E3%83%AC%E3%83%BC%E3%82%BF%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%99%E3%82%8B%E5%8F%AF%E8%83%BD%E6%80%A7%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%81%8B%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1978927%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%26nbsp%3B%3C%2FP%3E%3CP%3EMCUXpresso%20Config%20Tool%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E8%BF%BD%E5%8A%A0%E3%81%AE.c%20%2F%20.h%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E7%94%9F%E6%88%90%E3%81%A7%E3%81%8D%E3%82%8B%E3%81%8B%E3%81%A9%E3%81%86%E3%81%8B%E7%96%91%E5%95%8F%E3%81%AB%E6%80%9D%E3%81%A3%E3%81%A6%E3%81%84%E3%81%BE%E3%81%97%E3%81%9F%E3%81%8B%3F%3C%2FP%3E%3CP%3E%E3%81%A0%E3%81%8B%E3%82%89%E7%A7%81%E3%81%8C%E8%80%83%E3%81%88%E3%81%A6%E3%81%84%E3%82%8B%E3%81%AE%E3%81%AF%E3%80%81MCUXpresso%20Config%20Tool%E3%81%AF%E3%81%99%E3%81%A7%E3%81%AB%E9%9D%9E%E5%B8%B8%E3%81%AB%E7%B4%A0%E6%99%B4%E3%82%89%E3%81%97%E3%81%84pin_mux.h%E3%82%92%E7%94%9F%E6%88%90%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%81%A8%E3%81%84%E3%81%86%E3%81%93%E3%81%A8%E3%81%A7%E3%81%99PORT%20%E3%81%A8%20GPIO%20%E3%81%AE%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E3%82%B7%E3%83%B3%E3%83%9C%E3%83%AB%E3%82%92%E5%90%AB%E3%82%80%E3%83%98%E3%83%83%E3%83%80%E3%83%BC%20%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%80%82%E3%81%9F%E3%81%A8%E3%81%88%E3%81%B0%E3%80%81%E8%B5%A4%E3%81%84LED%E3%81%8C%E6%8E%A5%E7%B6%9A%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8BGPIO%E3%81%AE%E5%A0%B4%E5%90%88%3A%3C%2FP%3E%3CP%3E%3CEM%3E%23define%20BOARD_INITPINS_LED_RED_GPIO%20GPIO0%20%2F*!%26lt%3B%40brief%20GPIO%E3%83%9A%E3%83%AA%E3%83%95%E3%82%A7%E3%83%A9%E3%83%AB%E3%83%99%E3%83%BC%E3%82%B9%E3%83%9D%E3%82%A4%E3%83%B3%E3%82%BF%20*%2F%3C%2FEM%3E%3C%2FP%3E%3CP%3E%E3%81%9D%E3%82%8C%E3%81%A7%E3%80%81pin_mux.h%E3%81%A8%E5%90%8C%E3%81%98%E3%82%B7%E3%83%B3%E3%83%9C%E3%83%AB%E3%82%92%E5%90%AB%E3%82%80%E8%BF%BD%E5%8A%A0%E3%81%AE%E3%83%98%E3%83%83%E3%83%80%E3%83%BC%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E7%94%9F%E6%88%90%E3%81%97%E3%81%9F%E3%81%84%E3%81%A8%E6%80%9D%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E3%81%97%E3%81%8B%E3%81%97%E3%80%81%E3%82%BF%E3%82%A4%E3%83%97%E3%82%AD%E3%83%A3%E3%82%B9%E3%83%88%E3%81%A7%E3%81%AF%3A%3C%2FP%3E%3CP%3E%3CEM%3E%23define%20LED_RED_PORT%20(GPIO%3A%3AP%20ort*)BOARD_INITPINS_LED_RED_GPIO%3C%2FEM%3E%3C%2FP%3E%3CP%3EMCUXpresso%20Config%20Tool%E3%81%AF%E3%81%9D%E3%82%8C%E3%81%BB%E3%81%A9%E6%9F%94%E8%BB%9F%E6%80%A7%E3%81%8C%E3%81%AA%E3%81%84%E3%81%AE%E3%81%A7%E3%81%AF%E3%81%AA%E3%81%84%E3%81%8B%E3%81%A8%E6%80%9D%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E3%81%97%E3%81%8B%E3%81%97%E3%80%81%E3%81%82%E3%81%AA%E3%81%9F%E3%81%AF%E3%81%A9%E3%81%86%E6%80%9D%E3%81%84%E3%81%BE%E3%81%99%E3%81%8B%E3%80%81MCUXpresso%20Config%20Tool%E3%81%A7%E3%82%B3%E3%83%BC%E3%83%89%E3%82%B8%E3%82%A7%E3%83%8D%E3%83%AC%E3%83%BC%E3%82%BF%E3%83%BC%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%E3%81%9F%E3%81%B3%E3%81%AB%E3%81%9D%E3%81%AE%E3%82%88%E3%81%86%E3%81%AA%E3%83%98%E3%83%83%E3%83%80%E3%83%BC%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E4%BB%96%E3%81%AE%E8%89%AF%E3%81%84%E3%82%A2%E3%83%97%E3%83%AD%E3%83%BC%E3%83%81%2F%E3%83%84%E3%83%BC%E3%83%AB%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%81%8B%3F%3C%2FP%3E%3CP%3E%E6%9C%80%E8%89%AF%3CBR%20%2F%3ETHE0%3C%2FP%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1980038%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%E8%BF%BD%E5%8A%A0%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E3%82%B8%E3%82%A7%E3%83%8D%E3%83%AC%E3%83%BC%E3%82%BF%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%99%E3%82%8B%E5%8F%AF%E8%83%BD%E6%80%A7%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%81%8B%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1980038%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F229957%22%20target%3D%22_blank%22%3E%40Harry_Zhang%3C%2FA%3E%26nbsp%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%E8%B2%B4%E9%87%8D%E3%81%AA%E3%81%94%E6%84%8F%E8%A6%8B%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%E5%BE%8C%E5%87%A6%E7%90%86%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%9F%E3%82%A2%E3%83%97%E3%83%AD%E3%83%BC%E3%83%81%E3%81%AF%E3%81%86%E3%81%BE%E3%81%8F%E3%81%84%E3%81%8F%E3%81%AF%E3%81%9A%E3%81%A0%E3%81%A8%E6%80%9D%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3EBR%E3%81%AE%3CBR%20%2F%3E%E3%82%B60%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1980032%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%E8%BF%BD%E5%8A%A0%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E3%82%B8%E3%82%A7%E3%83%8D%E3%83%AC%E3%83%BC%E3%82%BF%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%99%E3%82%8B%E5%8F%AF%E8%83%BD%E6%80%A7%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%81%8B%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1980032%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F242345%22%20target%3D%22_blank%22%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%40The0%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EMCUXpresso%20Config%20Tool%E3%81%AB%E3%81%AF%E3%80%81%E8%BF%BD%E5%8A%A0%E3%81%AE%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA%E3%81%95%E3%82%8C%E3%81%9F.c%E3%82%92%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E6%9F%94%E8%BB%9F%E6%80%A7%E3%81%8C%E7%B5%84%E3%81%BF%E8%BE%BC%E3%81%BE%E3%82%8C%E3%81%A6%E3%81%84%E3%81%AA%E3%81%84%E3%81%93%E3%81%A8%E3%81%AF%E6%AD%A3%E3%81%97%E3%81%84%E3%81%A7%E3%81%99%E3%81%BE%E3%81%9F%E3%81%AF%20.h%E3%81%82%E3%81%AA%E3%81%9F%E3%81%8C%E8%AA%AC%E6%98%8E%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E7%A8%AE%E9%A1%9E%E3%81%AE%E5%A4%89%E6%9B%B4%E3%82%92%E5%90%AB%E3%82%80%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%20(%E3%82%BF%E3%82%A4%E3%83%97%E3%82%AD%E3%83%A3%E3%82%B9%E3%83%88%E3%81%AE%E8%BF%BD%E5%8A%A0%E3%82%84%E3%80%81pin_mux.h%20%E3%81%AE%E3%82%B7%E3%83%B3%E3%83%9C%E3%83%AB%E3%81%AB%E5%9F%BA%E3%81%A5%E3%81%8F%E8%BF%BD%E5%8A%A0%E3%81%AE%E3%82%B7%E3%83%B3%E3%83%9C%E3%83%AB%E3%81%AA%E3%81%A9)%E3%80%82%E3%81%9F%E3%81%A0%E3%81%97%E3%80%81%E3%82%B3%E3%83%BC%E3%83%89%E7%94%9F%E6%88%90%E5%BE%8C%E3%81%AB%E5%AE%9F%E8%A1%8C%E3%81%95%E3%82%8C%E3%82%8B%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%81%AE%E5%BE%8C%E5%87%A6%E7%90%86%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%81%A7%E3%80%81%E3%81%93%E3%82%8C%E3%82%92%E5%AE%9F%E7%8F%BE%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3EMCUXpresso%20Config%20Tool%20%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%97%E3%81%9F%E5%BE%8C%E3%80%81%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%20(Python%E3%80%81Bash%20%E3%81%AA%E3%81%A9)%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%80%81%E7%94%9F%E6%88%90%E3%81%95%E3%82%8C%E3%81%9F%20.h%20pin_mux%E3%82%92%E8%AA%AD%E3%81%BF%E5%8F%96%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E4%BD%9C%E6%88%90%E3%81%97%E3%80%81%E9%96%A2%E9%80%A3%E3%81%99%E3%82%8B%E3%82%B7%E3%83%B3%E3%83%9C%E3%83%AB%E3%82%92%E6%8A%BD%E5%87%BA%E3%81%97%E3%80%81%E8%BF%BD%E5%8A%A0%E3%81%AE%E3%83%98%E3%83%83%E3%83%80%E3%83%BC%20%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%20(custom_pin_mux.h%E3%81%BE%E3%81%9F%E3%81%AF%E9%A1%9E%E4%BC%BC%E3%81%AE%E3%82%82%E3%81%AE)%E3%80%82%3C%2FP%3E%0A%3CP%3EBR%3C%2FP%3E%0A%3CP%3E%E6%8E%9B%E3%81%91%E3%82%8B%3C%2FP%3E%3C%2FLINGO-BODY%3E