Uses for the Cortex-M4 cores on the OMAP5?


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.
 
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?
 
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?
 
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.
 
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.
 
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.
 
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)
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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...
 
How about a hypervisor boot environment on the m4's that could then boot different VMs running different kernels for the a15 cores?
 
Back
Top