I'm still working on my
$1 MCU review, and I wanted to make sure I get the facts right.
With respect to low-end PSoC devices like the 4000S, there's essentially no PSoC reconfigurable "magic" — it's essentially a straight-up ARM microcontroller, with fixed function blocks. At least, that's what it looks like to me. Is this true?
These *appear* to be configured entirely through normal peripheral registers, not by the PSoC configuration bitstream. Is this true?
If so, do these devices support programming directly from outside of the PSoC environment, since they don't have any proprietary bitstream stuff?
Device header files seem like they're auto-generated based on the peripheral selection. Is this true? Is there a standard header file that has all the definitions for all the peripherals, which would allow, say, GCC to target the device directly?
I'm interested in learning more about how the configuration bitstream works, what's *actually* in it, and what's not — I'm struggling to find documentation on this stuff, but I think I'm just being dumb and not searching for the right terminology.
I totally get how this works on higher-end PSoC devices that have reconfigurable digital logic / analog (or at least, I can imagine how it would work --- similarly to an FPGA or CPLD, right?)
I know there's a few PSoC die-hard developers here, so if anyone could walk me through this stuff, I'd really appreciate it!
Thanks everyone! Looking forward to learning more.