私は beagleboard-xm rev C ボードを持っています。プロセッサの TRM。ネットでパッド設定を行う方法の例をいくつか見ました。例の 1 つを次に示します。
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 は、 http:CONTROL_PADCONF_UART2_CTS[15:0]
//www.ti.com/lit/ug/spruf98x/spruf98x.pdf ページ 778 で構成 ( ) したいピンを表していることがわかります。32ビットレジスタであることがわかります。しかし、そのレジスタの下位 16 ビットの 4 ポイントで機能 0x2174 を取得できませんか?