У меня есть плата beagleboard-xm rev C. TRM процессора. Я вижу несколько примеров настройки пэдов в сети. вот один из примеров:Конфигурация пэда от 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);
Мой вопрос заключается в том, что какова цель деления 0x2174
на 4?
Я вижу, что 0x2174 представляет собой контакт, который я хотел бы настроить (CONTROL_PADCONF_UART2_CTS[15:0]
) на http://www.ti.com/lit/ug/spruf98x/spruf98x.pdf страница778. Я вижу, что это 32-битный регистр. Но я не могу получить функциональность 0x2174 на 4 пункта ниже 16 бит этого регистра?