我有一個beagleboard-xm rev C板。處理器的TRM。我看到一些示例如何在網絡上進行焊盤配置。這裏是一個例子:pad配置由mmap
int fd = open("/dev/mem", O_RDWR | O_SYNC);
if (fd < 0) {
printf("Could not open memory\n");
exit(1);
}
// Pad configuration
volatile ulong *pinconf;
pinconf = (ulong*) mmap(NULL, 0x10000, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0x48000000);
if (pinconf == MAP_FAILED) {
printf("Pinconf Mapping failed\n");
close(fd);
exit(1);
}
// configure expansion header
pinconf[0x2174/4] = 0x001A001A; //
close(fd);
我的問題是,什麼是除以4 0x2174
的目的是什麼?
我看到0x2174代表我想要配置的針(CONTROL_PADCONF_UART2_CTS[15:0]
)http://www.ti.com/lit/ug/spruf98x/spruf98x.pdf page778。我看到它是一個32位寄存器。但是我不能通過4點得到該寄存器的低16位的功能0x2174?用C