How does the aJ-100 know the memory width (8, 16 or 32-bit) at the bootup time?
The initialization data for the aJ-100 processor is completely setup and configured during the build process under the control of JEM Builder. The user can select the configuration options including the width of memory for each of the chip selects with JEM Builder (open the tree under Project and then under Chip Selects) and the appropriate initialization data is integrated in the load image. Within the load image, the width of the boot memory is placed in the low two bits at location 0x0000_0000. Upon reset, the aJ-100 first reads location 0x0000_0000 and extracts the low two bits and places them in the width field of the CS0 configuration register. With the boot memory width properly configured the aJ-100 will read the initialization data to configure the remaining values for the chip selects, I/O, and PLL configuration registers as part of the first steps in the boot process.