Monday, September 26, 2005

Chip Selects

After reading through the Coldfire manuals, it looks like the memory addresses like 0x31000000 are mapped by these things called chip selects. Apparently you can set the address range for memory and even peripherals.

The LCD screen is connected to the Coldfire chip via a I2C / GPIO bus. I tried starting the bus as master, but gcc yelled at me because it didn't like me referencing the register by name. There must be some sort of register addressing system perhaps by some base address set up with tthe chip select. If there is one, then it may be possible to set registers via memory address ranges in c. For example, if there is a register a with address A then you could set it simply via *A = value;

So i guess i should figure out how to access the LCD bus properly and then figure out how to interface with the device. I have absolutely no idea how I will be able to test this though. Hopefully I can find a way to get some sort of useful output out of the box soon - otherwise I may have to give up the project because I won't be able to do much more.

Another thing to consider: setting up the chip selects may require supervisor mode. Hopefully the bootloader I'm using didn't take that privelege away.