Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 如何在u-boot中设置此寄存器的位_C_Arm_Linux Device Driver_Armv7_U Boot - Fatal编程技术网

C 如何在u-boot中设置此寄存器的位

C 如何在u-boot中设置此寄存器的位,c,arm,linux-device-driver,armv7,u-boot,C,Arm,Linux Device Driver,Armv7,U Boot,我试图通过u-boot中的以下语句来确定“SRAM_CTL1_CFG”寄存器的第4位和第5位是如何设置的: /* Map SRAM to EMAC */ setbits_le32(&sram->ctrl1, 0x5 << 2); /*将SRAM映射到EMAC*/ setbits_le32(&sram->ctrl1,0x5所以,答案是肯定的,(0x5如果你设置setbits_le32(&sram->ctrl1,0x4 ctrl1,cfg)通过通常的读取位域的方式,

我试图通过u-boot中的以下语句来确定“SRAM_CTL1_CFG”寄存器的第4位和第5位是如何设置的:

/* Map SRAM to EMAC */
   setbits_le32(&sram->ctrl1, 0x5 << 2);
/*将SRAM映射到EMAC*/

setbits_le32(&sram->ctrl1,0x5所以,答案是肯定的,(0x5如果你设置setbits_le32(&sram->ctrl1,0x4 ctrl1,cfg)
通过通常的读取位域的方式,0b00010100的位4:5是0b01,不设置位2也不会改变这一点。我不理解这个问题……基本上,我不理解setbits_le32是如何设置的(&sram->ctrl1,0x5您可以在纸上书写sram_CTL1_CFG的所有字段,通过笔设置所有位1或0,然后获取所需的32位val,并将其放入
setbits_le32
是的,我的意思是。是的,值上的问号乍看起来并不清楚。感谢您提供的见解,这很有帮助:)