AMCC 440GX Project

Trace Research

As part of some trace research in 2005, an AMCC 440GX processor board with a trace port was purchased. This was our last PowerPC hardware project. The AMCC 440GX with multiple 1 GbE ports shipped around 2004. The 440 was much improved against the 405 core, plus there were 4× 1GbE network ports (two populated on the Avnet board).

A Linux port was promised from Avnet which never materialised, but Avnet did offer to return the board. We opted for the OrCAD design files in place of the Linux port, which were provided. There were enough Linux ports on the AMCC and IBM sites; mostly involving Denx Computer Systems, so the Linux port was not critical. We were more interested in obtaining a trace and real-time research.

The other Avnet PowerPC 405 boards (FPGA based) were used in various projects, but for some reason, the trace ports were not taken out on the Virtex-II Pro boards, so we made sure that the AMCC 440GX board had a trace port. We never looked into the forums to see what others found with the boards, but there were similar problems with the 440 PowerPC in the Xilinx Virtex-5 devices on their website some years later (TLB problems and downloading memory into the DDR external memory).

AMCC 440GX board

The Green Hills Software Slingshot probe is shown on the COP header, with the ribbon cable header shaved a bit to clear the Mictor trace header.

GHS SuperTrace visit

As we had academic licenses for the Green Hills Software tool chain, we asked their UK office if they could arrange a trace from their SuperTrace unit. A trip was organised from South Africa — on the Friday afternoon as we were leaving for the UK, a last check for emails would really sour any future relationship. The GHS office sent a message that they could not make the meeting for the next Tuesday, or for the next two weeks. A business trip turned out to be a waste of money, however there was a conference in Poland where we presented a paper.

We never did get to see the SuperTrace unit and they never got a customer—rather simple but we don't purchase anything we have not touched or held in our own hands at $10,000. Particularly after the Slingshot problems. Without a trace unit, the research essentially died.

Slingshot bricked

The manuals were rather thick, so when we ran into TLB errors on reaching the C startup function, main, we were taken by surprise. We did not want to use the Linux kernel for early tests but the TLB needed to be initialised. The device would have to offer really compelling reasons to sort out the problems. As it turned out, the one Slingshot was bricked on a software upgrade, and Warwick Smith's project was more important at this stage. We both worked on the Freescale 5200 after that, as the probe firmware was different for these two devices, and relied on reflashing the probe — not something we were going to do again after the last exercise! Many years later, the probes would be opened up — the two Slingshot probes were very different inside, although shipped with the Freescale 5200 boards fairly close together. See JTAG Debuggers for links to the various probes.

Debug Notes

We wrote some notes on the 440GX in Debugging Embedded Systems (some early 32-bit work) (PDF) 7,9Meg. See chapter 6, pages 39 → 42. The TLB errors are shown on pg 42. Besides experimenting with the Denx UBOOT monitor and initialisation code, not much became of the purchase. We were rather disappointed with Avnet’s lack of any boards for their expansion connectors that could plug into the 440GX or Virtex-II Pro boards. The audio/video boards had the same connector, but the pinouts did not match up. The connectors could not be purchased in low-volume so we never did make any plug-in cards either. AMCC’s fortunes would change, PA Semi announced their PowerPC dual cores, Freescale started to announce some interesting devices, so the AMCC route was short lived.

A fair amount of time was spent on the 440. The manuals were not bedtime reading. Our attraction besides trace was also the networking. The 405 in the Virtex-II Pro FPGAs was similar to the 440, but any Ethernet would require licensing cores from Xilinx. It all looked so good on paper, but ultimately, a simple core will win. Our years since 2005 have confirmed this on ARM cores.