Differences between BeagleBoneBlack revisions relating to cache and ethernet.

Hi, we were developing a port for the BeagleBoneBlack in RTEMS, and we wanted to use the ethernet driver with LWIP stack.

After some work, we could make it work. I use U-boot to boot rtems, using an sd card.

The problem was that, if we use the ethernet driver with the cache enabled, after a little while the program freezes. We didn’t have a debugger, so we used as a workaround disabling the cache.

After some time, i could get some rev C boards, and to my surprise, the program worked perfectly OK with cache and ethernet.

Currently I have only two types of boards:
a Rev C that works fine.
a Rev A5C that doesn’t work.

I checked the revisions reading the EEPROM, and the processor registers.
I asked another RTEMS user to test this, and he told me that he has a Rev C.
But if he prints the EEPROM it says rev A5, but the processor is the same as in the revision C (AM3358B).

So, after all I have two questions:

  • What differences there are between the two revisions that make one version work OK and the other not?. I use the exact same binary in both boards, and one works and the other doesn’t.

-Is there a revision A5 with an AM3358B processor?


I cannot answer what changes would make one work different than the other other than to say the processors changed. Please check the support wiki for a description of the changes between revisions. You may also want to go to the TI website and check the Errata.