<div dir="ltr">Hi all!<div><br></div><div>I'm porting a program written in C that uses mmap (fpmmap) that maps GPIOs and other utilities on a beaglebone. Everything is going well, until the test, where I see the all base address of beaglebone  in FPC should be divided by 4096 dec ($1000 hex) to get it working. Example:</div><div><br></div><div>In C: </div><div><div><br></div><div>CM_BaseAddr = mmap(NULL, 0x4000, PROT_READ | PROT_WRITE,                        MAP_SHARED,  devmemfd, <b>0x44e00000</b>); <br></div><div><br></div><div>to get the "same" code working in FPC I have to change some constants.</div><div><br></div><div>CM_BaseAddr := Fpmmap(NULL, $4000, PROT_READ + PROT_WRITE,                        MAP_SHARED,  devmemfd, <b>$44e00</b>); <br></div><div><br></div><div>I did a strace in the FPC executable, and the in line above, the base address is "multiplied" by 4096 dec ($1000 hex)  becoming back equal to the C constant.</div><div><br></div><div>The question is: this is intentional? Has some technical point that's not mentioned on the fpmmap documentation? Or it's simply a bug?</div><div><br></div>-- <br><div dir="ltr" data-smartmail="gmail_signature">The best regards,<br><br>Fabio Luis Girardi<br>PascalSCADA Project<br><a href="http://sourceforge.net/projects/pascalscada" target="_blank">http://sourceforge.net/projects/pascalscada</a><br><a href="http://www.pascalscada.com" target="_blank">http://www.pascalscada.com</a></div></div></div>