First contact & doubts with Beagleplay - Cortex M4F - JTAG - PRU

Hello everyone,

I’m a new BeaglePlay user, and I have some doubts regarding programming its Cortex-M4F microcontroller. I’m not sure if I need a JTAG interface to program it, and if so, what type of JTAG interface is required. How do you share data between processors?

Additionally, I’m wondering if I can use the PRU on the BeaglePlay, and what pins are available on the connectors for that purpose.

If anyone has experience programming the Cortex-M4F on the BeaglePlay or has answers to any of these questions, I would greatly appreciate your help.

In addition, I would also like to inquire if there are any documentation or resources available for programming the Cortex-M4F microcontroller on the BeaglePlay. Any guidance or suggestions on where to find helpful information would be greatly appreciated.

Thank you in advance for any assistance you can provide.

We are using the TI AM62X EVM and CCS.

Don’t believe the the BP has enough pins since the evm is 20 and BP is 10. We have not gotten into the BP other than booting it up, I could very well be wrong on that.

Here is a link to the inter processor communications.

https://software-dl.ti.com/mcu-plus-sdk/esd/AM62X/latest/exports/docs/api_guide_am62x/IPC_GUIDE.html

Multiple questions here. will address the M4F question in this response:

I have started playing with M4F on BeaglePlay (playing with rust atm, but C is trivial)

WIP notes:

There are two ways you can loadup M4F:
a) from remoteproc
b) from jtag/debug interface
for (b) what I did manage to achieve is to get it connected from A53 without a physical jtag cable, instead using openOCD. I ended up using (a) and (b) for my development of baremetal M4F code. (and no, I had not used CCS at all).

M4F processor and subsystem (MCU subsystem) level documentation is in the technical reference manual https://www.ti.com/lit/pdf/spruiv7

1 Like

As far as PRU is concerned, it is very much available on the processor but the Play is not really designed to use it for IO.

If you look at the schematic:
BeaglePlay_sch.pdf · main · BeaglePlay / beagleplay · GitLab)

You can see that some of the MikroBus Header signals are muxable to the PRU, but only PR0_UART0_TXD and PR0_UART0_RXD, PR0_ECAP0_IN_APWM_OUT respectively.

2 Likes

Not sure why they used that connector, it must be purely directed at the hobby market.

All they had to do would have been to use some low profile ribbon style connector (s) and expose as much as possible, that would have been nice and versatile. Then, the board could have used their own add-in board with the MikroBus connector and anything else could be used.

For BeaglePlay, it is all about simplicity. The mikroBUS add-on library is extensive, over 1,300 boards at Click Boards - MIKROE alone. The connector specification is is very direct and free to license, see mikroBUS - MIKROE. I find it extremely suitable for rapid-prototyping and small-scale production utilization.

Putting the mikroBUS connector on an add-on board itself would defeat the purpose of making things simple. For BeagleBone AI-64, we utilized a mikroBUS shuttle connector. For BeaglePlay, the desire was to make it easier than that.

I’d say that BeaglePlay isn’t just for hobbyists, but is also for engineers who aren’t electrical engineers. Many people have reported to me being very intimidated by the BeagleBone headers and wiring things up to them.

For more “traditional” usage, we haven’t walked away from our existing form-factors. BeaglePlay is just different. If you want something in PocketBeagle or BeagleBone form-factor, please feel free to suggest that.

2 Likes

I have, nothing happens.
Fairly certain we are going to stay with the AM62X core for some stuff.

Verbiage is the MikroBus is open source to use on your board. It does not state anything else. Hypothetical scenerio, what happens if we sell an add in board that is competitive to Mikrobus? Or even worse, what happens when we use the board in a commercial product?

Looking at their website they already have a very nice catalog of boards. All that stuff is fine, its just not what we are looking for.

Hello, could you help me disable the microbus node so I could use the gpio as is in a python script.
Thanks

What an interesting discussion and help.
Thank you all.

Actually we would love something with an AM62X core (or even AM62A) core with a beaglebone factor.

On the other hand, where can I check what pins are connected directly to the PRU?

Finally, I see from the document that @foxsquirrel shared, that the IPC is limited to 512 bytes…how fast is it? We need to share data at a high bit rate, around 200MB/s.

Regards

1 Like

Found a company that has a dev board with their AM64 / AM62 SoM strapped on the bottom of a BBB profile / connector layout board. They are going after the BBB market with that one. They are marketing it as a transition board. Did reach out to them and tried to purchase but its been crickets. So, who knows with that one.

Might be wise to get an AM62 EVM and light that one up first and do some live testing. That EVM has the JTAG chip on board so all you need is a USB cable to your box running CCS.

i find mikroBus is fine, but why don’expose all the pins?
What i dont understand is the simplicity argument. Is the am62x a processor for “simple tasks”?