Adam Thornton writes:
2) a modern CPU? Let alone SoC? Fuggedaboutit unless you're way, way
Don't know how many of you are hardware/software folks as opposed to just
software, but it turns out that SoCs are not immune to the problems that
result from bolting disparate stuff together in the software world.
A few years ago I was working on a project that included an Atmel SoC.
Was having some weirdness, and contacted Atmel to ask them about timing
issues between two of the DMA controllers that was unspecified in their
documentation but critical to making the project work. Their initial
response was "Well, we don't know, that's IP that we bought from ARM,
call them and ask." I replied "I don't think that they're gonna talk
to
me because I'm not the one that bought that IP; you did and it's your
job."
Fortunately, at that time I knew someone who could escalate the issue for
me, and only two months later got the timing numbers that I needed.
One could be understandably think that more attention is given to bolting
IP blocks together on an SoC than is given when bolting a thousand libraries
onto a simple program but that turns out to not be true. Software folks
need to be prepared for the fact that there may actually be nobody who
knows how portions of the hardware actually work because it's not all
designed at one place anymore. We have to be prepared for the SoC version
of node.js.
Jon