My secound problem is I have a table of addresses I need to look up and pass the resault to a function.
The addresses are to external memory mapped locations.
OC_L1_CS INTO NO_INIT 0x40000B'G TO 0x40000B'G; // Output Card 1 CS;
#pragma DATA_SEG __GPAGE_SEG OC_L1_CS
volatile uchar pOC_L1_CS;
#pragma DATA_SEG DEFAULT
typedef struct {
volatile uchar* pSol;
volatile uchar* pAD;
} LCS_SOL_ADDR;
LCS_SOL_ADDR const Sol_Addr[] = {{&pOC_L1_CS, &pOC_AD1_CS},
{&pOC_L2_CS, &pOC_AD2_CS},
{&pOC_L3_CS, &pOC_AD3_CS},
{&pOC_L4_CS, &pOC_AD4_CS},
{&pOC_BAT_CS, &pOC_BATAD_CS}};
my function is decleared as
extern void MAX7301_Init (CARDSETTINGS const* Layout, SPI_PORT Port, volatile uchar* pAddr);
and called as
MAX7301_Init(OC_Layout,Sol_Port,Sol_Addr[cCard].pSol);
Sol_addr[cCard].pSol is the address I are trying to pass.
At the rutine in get the value 255 and it is not correct.
What are I decearing wrong here