Add New platform and tools!

Hi I’m working on new platform for Infineon Aurix MCU and Arduino framework from Hitex (shieldbuddy board).

I have already run ( compiler and uploader) work 100%.
For TESTING purposes, I have copied a .piopm file from another package and swap the “I’d” by random number and change the name, type,etc for appropriate ones.
This way I got it to work!

I have some questions…

How can I upload it to platformio database?

The .piopm file is generated by pkg installation?

Yes. It should be deleted before upload, the main package info is supposed to be in package.json.

pio pkg publish --type platform.

ok, thanks Max! I’ll try, but first I have another question.
how can i path a toolchain already installed in my pc?

I have added this in builder/main.py and it works, but I don’t know if it’s the right way
env.PrependENVPath(
“PATH”,
“C:/anytoolchain/bin”
)

This is not the PlatformIO way. You should create a toolchain-xxxx package (e.g. toolchain-gccarmnoneeabi), i.e., add a package.json in the the toolchain’s folder with the appropriate name and version (example).

You can reference that in the platform.json (example) and main.py (example).

Note that the version for a package in the platform.json can also be symlink://<some local path on your computer> for the toolchain.

Hi max, thanks for your information, just now I just published 3 packages .
Should I wait for admin approval?
This is the repo:

Packages are usually approved within a week, but if you don’t want to wait, you can also point to the git repository in the version field for a package in the platform.json.

Ok thanks, I don’t know if I should open another post or continue in this one,In the case of Aurix microcontroller it is a multicore and uses:
void setup();
void loop();
void setup1();
void loop1();
void setup2();
void loop2();

How can I generate the main.cpp when starting the project with these extras?
I know that the penv\Lib\site-packages\platformio\home\rpc\handlers\project.py generates this file.

1 Like

IF platform name != “arduino”, SRC folder is empty onCreate project

Thanks i will try this!!! :+1:

Hi,

any news on this?

Have you tried if their platform works? Their platform.json says

so you need to have the toolchain installed there too, plus a package.json.

I have the toolchain installed,

but how do I setup my platformio project?

I’ve tried adding to platformio.ini
platform = https://github.com/juanjqh/infineonaurix.git
With no success, it says
Could not find the package with 'platformio/framework-aurduino @ 1.0.0' requirements for your system 'windows_amd64'

Thanks!

Well the platform.json is definitely wrong because it references that as a PIO registry package when in fact it doesn’t exist (https://registry.platformio.org/search?q=framework-aurduino). It would need to just have the version be the git URL link https://github.com/juanjqh/framework-aurduino.git.
I assume the same mistake is being present for the other packages too.

Let me just fork and fix that…

Well you can try https://github.com/maxgerhardt/infineonaurix.git but I can’t find the repo for framework-aurix.

It’s working now!

I’ve forked your repo in case you delete it, here it is GitHub - nitko12/infineonaurix

Much thanks for the help, you’re awesome!

I had to make adaptations in all the include paths for chip-specific things, that was wrong for atleast the GCC toolchain…

Can you check out https://github.com/maxgerhardt/infineonaurix again (just delete any previous C:\Users\<user>\.platformio\platforms\infineonaurix* folders to be sure to kill the old version) and use one of the examples from https://github.com/maxgerhardt/infineonaurix/tree/main/examples? It should compile fine for both enviornments.

Hello! I had to send an email to Infineon with a copy to Ivan, describing the use of the platform for their approval, but I forgot.

Hello Max! With the Hightec toolchain, there’s no need to modify the include path. What I did was copy the folder with the MCU register package into the GCC Tricore toolchain. Thank you very much for the corrections!

Hi, I would like to know if it is possible to set up a custom debugger in ini file using this commands lines?

AurixDebugger.exe --help

Control CPU Exec: run, stop, step , trace
Select Core[0…2]: core <n_core>
Core registers: r
Reset (and Halt): rst, rsthlt
Dump memory: dump <n_bytes>
ASCII viewer: ascii <n_bytes>
Seek in memory: seek
Read 32 bit word: read
Read 8 bit byte: r8
Write 32 bit word: write
Write 8 bit byte: w8
Set IP breakpoint: bpt
Clear IP breakpoint: bpt
Access HW frequency: frequ <f_hz>
Help: ? (or help)
Exit: q (or exit)

Does AurixDebugger.exe create a GDB-server? If not, it’s not gonna work in the VSCode integration.