Background: I am working on a senior design and recently purchased the EVM c5515 module. I'm relatively versed in C++ and basic assembly and ultimately plan on using the board in a noise cancellation application.
Problem: Unfortunately, I"m having difficulty comprehending the modules memory map. I'm trying to follow some of the demo programs and don't quite understand where they are getting the addresses for the different functions. For example, in this particular demo code's .h file
/* Timer register declaration*/
#define CPU_TIM0_CTRL ((ioport volatile unsigned*)0x1810)
#define CPU_TIM0_PLWR ((ioport volatile unsigned*)0x1812)
#define CPU_TIM0_PHWR ((ioport volatile unsigned*)0x1813)
#define CPU_TIM0_CLWR ((ioport volatile unsigned*)0x1814)
#define CPU_TIM0_CHWR ((ioport volatile unsigned*)0x1815)
#define CPU_TIM0_IER ((ioport volatile unsigned*)0x1816)
#define CPU_TIMINT_AGGR ((ioport volatile unsigned*)0x1c14)
#define CPU_PRCR ((ioport volatile unsigned*)0x1c05)
1. Are the identifiers programmer assigned, specific to the chip?
2. Are the address's (0x1816 etc etc) arbitrary? Listed somewhere? I have a technical reference and don't seem to see the correlation.
I guess it boils down to flat out not understanding on how to interface with the various hardware aspects on the board. I'm struggling to find a tutorial on how to interact with the different features on EVM board. Overall, I'm struggling to get off the ground with the project. With that in mind, any advice or basic information that you can provide would be more than appreciated.
Thank you in advance!
William and Doug
Lehigh University