|
如何向DM9000A网卡芯片的寄存器写值?在线等!
[复制链接]
我正在看DM9000A网卡的驱动,遇到一段代码看不明白。请各位大侠帮忙,坚决给分。
UI32 FLASH_DATA = (0xbf000000 + 0x188102);
UI32 FLASH_ADDR = (0xbf000000 + 0x100102);
void dm_outb(unsigned char out_addr, unsigned char out_data)//out_addr是寄存器地址,out_data要写入寄存器的数
//据。
{
unsigned short n_out_data = 0;
n_out_data = ((unsigned short)out_data) & 0xff;
if( out_addr )
{
*((volatile UI16*)FLASH_DATA) = n_out_data;
}
else
{
*((volatile UI16*)FLASH_ADDR) = n_out_data;
}
}
我暂时的理解是其中FLASH_DATA是寄存器数据在内存中的地址,FLASH_ADDR是寄存器地址在内存中的地址。至于内存地址和寄存器地址是如何映射的,也不是很清楚。尤其不知道0x188102,0x100102,这两个值是谁确定的。如何确定。
|
|