What's your favorite conspiracy theory? Give me the good stuff, not the lame stuff for the masses.
Notices by lcamtuf :verified: :verified: :verified: (lcamtuf@infosec.exchange)
-
lcamtuf :verified: :verified: :verified: (lcamtuf@infosec.exchange)'s status on Monday, 05-Feb-2024 06:47:56 JST lcamtuf :verified: :verified: :verified: -
lcamtuf :verified: :verified: :verified: (lcamtuf@infosec.exchange)'s status on Tuesday, 19-Dec-2023 08:39:37 JST lcamtuf :verified: :verified: :verified: I hate Elf on the Shelf. I think it teaches children that it's OK to live under constant surveillance. Why not come up with a more benign explanation, such as that Santa is just one of many parties buying behavioral information from an online data broker?
-
lcamtuf :verified: :verified: :verified: (lcamtuf@infosec.exchange)'s status on Friday, 17-Nov-2023 16:50:58 JST lcamtuf :verified: :verified: :verified: IBM, after 90 years of careful deliberation, decides not to associate with Nazis after all.
-
lcamtuf :verified: :verified: :verified: (lcamtuf@infosec.exchange)'s status on Saturday, 21-Jan-2023 15:56:11 JST lcamtuf :verified: :verified: :verified: Time is a flat circle and all that.
It used to be that if you had a need for an embedded processor, you'd either write code for a "bare metal" MCU, or grab a compact real-time OS of some sort.
Nowadays, most people just get a powerful SoC running Linux, even if the project is to blink some Christmas lights. But Linux does Linux things, and getting predictable and performant hardware I/O from userspace is a crapshoot. You do 'echo 1 >/sys/class/gpio/gpio60/value' and then, some indeterminate time later, a pin changes state. Forget gigabit data transfer speeds, you might have a hard time playing back audio on a speaker.
So now, some SoCs come with a separate processor on the die - a PRU (Programmable Real-time Unit). It's a semi-standalone device that lets you run simple code in a "bare metal" environment with a bit of RAM and program memory to orchestrate your GPIO:
In this model, Linux running on the main CPU just tells the PRU "please make fart sounds on pin 60", and your code running on the PRU handles the particulars of toggling the pin at the necessary speed.
I suspect it's just a matter of time before we find a way to run Linux on the PRU, and then demand a secondary PRU for that PRU to solve the I/O issues that arise.