Uses for the Cortex-M4 cores on the OMAP5?


Plume

Member
Joined
Sep 21, 2015
Messages
121
Would it be possible to have a tiny bootable Linux that only runs on the M4 cores? Might be handy for charging the device whilst "off",
No, and actually, the power circuit doesn't need any CPU to charge the device.

or as a streamlined MP3 player? It would keep battery usage down meaning faster charge/longer playing time
Maybe, it depends upon how things are wired up inside.
 

pmprog

DNF (Did Not Finish)
Joined
Apr 25, 2011
Messages
4,150
No, and actually, the power circuit doesn't need any CPU to charge the device.
Must have missed that then, so it won't boot up when you start charging like the Pandora does?
 

ible

professional vim user
Joined
Mar 24, 2014
Messages
2,581
Location
Seattle, WA
Would it be possible to have a tiny bootable Linux that only runs on the M4 cores?
No, and actually, the power circuit doesn't need any CPU to charge the device.
well, maybe not full fledged linux -- since 200 MHz is pretty slow (maybe an RTOS?), though if it can offload stuff to the GPU then it makes for interesting stuff.

at any rate, it's not possible to use the M4s without the A15s on?
 

Exophase

Nothing good will ever come of Exophase.
Joined
Sep 21, 2006
Messages
10,308
Age
39
Location
Cleveland OH
well, maybe not full fledged linux -- since 200 MHz is pretty slow (maybe an RTOS?), though if it can offload stuff to the GPU then it makes for interesting stuff.

If by GPU you mean the SGX I think there's going to be a real difficulty using the user space binary blob drivers on the M4s.

at any rate, it's not possible to use the M4s without the A15s on?

It'd be really strange if this were not possible.
 

edlee

Member
Joined
Dec 3, 2013
Messages
79
An M4 processor could be used as a flashlight controller if there is an external white LED that the M4 can control. A flashlight called the Eternalight has a mode in which it turns an LED on and off at a rate that is faster than the human optic nerve response time so that the light looks steady to a human eye but consumes less energy than having the LED constantly on all the time. The Eternalight can operate for 700 hours in this mode. Perhaps the M4 can do something similar.
 

WizardStan

Mega GP Mania
Joined
May 24, 2008
Messages
16,733
That's called PWM: pulse width modulation. That's literally how dimmable backlighting works: it consumes less power by being on less and therefore being not as bright. I believe all of the LEDs on the Pyra will be dimmable in this manner, just replace the RGBs behind the logo with bright whites and set them to 50% and get ages and ages of flashlight.
There's all kinds of instructions for building a PWM USB device, it's not very difficult. It would probably consume more energy using the M4s to regulate it than using the dedicated hardware.
 

Exophase

Nothing good will ever come of Exophase.
Joined
Sep 21, 2006
Messages
10,308
Age
39
Location
Cleveland OH
That's called PWM: pulse width modulation. That's literally how dimmable backlighting works: it consumes less power by being on less and therefore being not as bright. I believe all of the LEDs on the Pyra will be dimmable in this manner, just replace the RGBs behind the logo with bright whites and set them to 50% and get ages and ages of flashlight.
There's all kinds of instructions for building a PWM USB device, it's not very difficult. It would probably consume more energy using the M4s to regulate it than using the dedicated hardware.

There is PWM capability in the OMAP5's timers too, although I have no idea if any can go to exposed GPIOs that you can attach anything to (but it'd be the same with the M4s)
 

Klumpen

Run away! Run away!
Joined
Nov 19, 2011
Messages
8,579
Location
Uncanny Valley
Just a probably stupid n00b question:
Would it be possible to utilize the small core to keep exagear (and wine) running without a performance loss?
This would solve the whole problem with people disliking ARM (and Linux) for some reason.
 

edlee

Member
Joined
Dec 3, 2013
Messages
79
Some of the earliest arcade games used separate processors for the sound effects and music. That still happens today. Perhaps emulator software can use the M4 processors as sound processors to offload some computations from the main processors.
 

Akko

Member
Joined
May 2, 2016
Messages
47
Age
31
Location
Munich
Just a probably stupid n00b question:
Would it be possible to utilize the small core to keep exagear (and wine) running without a performance loss?
This would solve the whole problem with people disliking ARM (and Linux) for some reason.

I think you have a wrong idea of how "small" those two cores are. Running wine on a 200MHz (I think?) Cortex-M4? I don't think you'd have a lot of fun with that ^^. I can imagine that running things like sound effects and music on them (maybe even emulating old sound chips on them) being feasible (and useful). Otherwise, I don't really see much use in them in this kind of device, tbh.
 

slaeshjag

¯\_(ツ)_/¯
Joined
Apr 8, 2010
Messages
2,687
Location
~Stockholm, Sweden
Keep in mind that the M4 cores can't run code compiled for the Cortex-A cores. They are also special in terms of memory layout. Porting normal userspace applications is most probably way too cumbersome for no benefit. The M4 cores have about as many usecases as a DSP, except it's a slow general purpose processor whose main advantage is predictable performance. Performance will suck on a sub-GP32 level, but it will be predictable and relatively uninterrupted. It will most probably require software written especially for it for it to be even vaguely useful. Just shotgunning usage scenarios without knowing the technical details is unlikely to find anything that sticks.
 

Urben

Very Active Member
Joined
Dec 3, 2014
Messages
249
Age
18
Having a really minimalistic OS running on them for PDA functions would be nice too. So in case the battery is really low one can atleast manage their appointments or reminders.
 

stevenc99

Member
Joined
May 10, 2016
Messages
98
These are most useful when you need to sample inputs very fast, like an oscilloscope or logic analyser does, or odometer attached to a bicycle wheel. They can usually read a portion of system RAM and use it to generate complex output, like a video signal. Or respond quickly inputs by changing some output, like controlling the rotors on a quadrocopter. I really hope to see people making these things, especially a flying Pyra.
 

Orbstheorem

Still Fresh
Joined
May 24, 2016
Messages
47
The only worthwhile task I can see for the M4s is monitoring the 3G module. Assuming the A15s can be shut off and leave the M4s running, that could result in reasonable idle time while still being connected and waiting for a message. Of course, most users aren't likely to get the 3G and of those that do most again will probably use it sporadically for data only, so it's a niche of a niche of a niche usage.

I'd love to be able to *suspend* my pyra and have it vibrate when a new sms arrives so I can wake it up from suspension :D
[doublepost=1464130511,1464129562][/doublepost]How does one actually access to M4 cores from linux?
Do you have to write into some "magic offset" to talk to the M4?
Any real world code examples available?

As stated up ^^ I'd like to implement something so I can suspend my pyra when not using it but still vibrate when I get an SMS or a call...
 

SNESFAN

Retro game fanatic
Joined
Oct 3, 2008
Messages
3,430
Age
40
Location
Fort Knox, KY. USA
How about a hypervisor boot environment on the m4's that could then boot different VMs running different kernels for the a15 cores?
 
Top