This is where I am stuck. I have searched through the MPC823e reference manual and am having trouble understanding the architecture. It states that the chip is a dual processor design, with a PPC core, and a communication processor unit as well. If there are two processors, where would the firmware for the other processor be located? Is this chunk the firmware for the second processor? I cannot see anything else on the board that looks like a memory chip.
My experience is with much smaller, simpler MCUs, so this is a bit outside of my realm of knowledge. However, I'm eager to learn more about it. If anyone has any ideas what this data could be, or ideas on steps to take to figure it out, I'd appreciate it.
This isn't a dual core CPU, but rather a CPU with a special type of co-processor, essentially a DSP. Typically, some task on running on the CPU will guide the execution of the coprocessor. It will put some data into memory (sometimes special fast shared memory) and tell the coprocessor to perform some computationally intensive work on that data, while the CPU is free to do other things. Given this is a GPS receiver, I'd wager that the complex geo-location calculations are done on the coprocessor.
Nothing in the reference manual will tell you anything about this FLASH layout. This is a 32-bit PowerPC CPU. Most of these, when taken out of reset, will fetch and execute the instruction at memory address 0xFFF00100. That is all that you know. That memory address is ~ 1 MB below the top of memory.
Typically, the system is designed so that there is some memory (ROM or FLASH) mapped to this address at reset, containing the rominit: a very small chunk of code to do minimal init of the CPU, RAM, maybe some other busses, in order to be able to load and execute a proper bootloader. The bootloader is more complex and can access the FLASH memory and filesystems in it, often can bring up ethernet for tftp/bootp network booting, etc. It will boot kernel (e.g. for Linux) or a elf or other monolithic image (e.g. for VxWorks). That kernel or image will then continue to init other hardware and start tasking. Note that loading a kernel or image may (and often does) include decompression. Obviously that's the one-paragraph short form of embedded booting on PPC, there is a lot more to it.
I agree with amyk that the second half of the flash likely contains a file system. It will not be FAT or ext based, so look into FLASH file systems. Maybe Squashfs and/or JFFS2 as used in many small embedded linux systems (routers, NAS, etc.).
One of the most basic things you should try to do is to find the serial console connection. Probably >90% of embedded systems will have one, but usually not externally accessible. It is very often on a 3 or 4 (or more) pin 0.1" header, which is itself often not populated, so you will only see bare pads or holes. A larger header, like 10 to 14 pins is likely JTAG. Probe with an oscilloscope the various possible pins for a few seconds after power up. You should eventually find a pin with a UART serial bit stream (commonly 115kbps, sometimes 9600 bps, occasionally other speeds).
This can tell you
so very much about the system: the bootloader used, the operating system, RAM, FLASH, memory map, and other hardware details, etc. Very often the bootloader will have a way to break the boot process by sending a specific keystroke at a specific time, and will drop into a primative shell (this is sometimes also called a monitor). The U-boot bootloader is common today, but given the vintage of that hardware, it is much less likely. It may be a custom job too. If you can drop into this shell, you can often do things like display a memory map, read and write memory, but most importantly, manipulate FLASH. There are usually utilities do display partitions, erase and write, and *maybe* to list files on a FLASH file system. Very often the operating system will also dump much information to the console as it boots, giving even more insight into the hardware and software environment. You may even get a usable shell after the O/S boots, which can be very powerful.