Pozdrav, pokusavan da razumem na koji nacin da pristipim mmc chipu direktno preko io, dali je to moguce? Standardna funkcija za pristup je nesto kao:
fd = open(device, O_RDWR);
ret = ioctl(fd, MMC_IOC_CMD, &idata);
Posto nisam root, ne mogu da pristupim /dev/block/mmcblk0 jer je ovner:group root root, dali je moguce iskoristiti mmap i kako? Kako da zamenim funkciju "open" sa "mmap" u smislu da pristupim memoriji direkno umesto sto cu da otvaram mmcblk0, dali je to moguce?
Od prilike nesto ovako:
original funkcija:
Citat:int send_status(int fd, __u32 *response)
{
int ret = 0;
struct mmc_ioc_cmd idata;
memset(&idata, 0, sizeof(idata));
idata.opcode = MMC_SEND_STATUS;
idata.arg = (1 << 16);
idata.flags = MMC_RSP_R1 | MMC_CMD_AC;
ret = ioctl(fd, MMC_IOC_CMD, &idata);
if (ret)
perror("ioctl");
*response = idata.response[0];
return ret;
}
Ako vec ne moze nista da se uradi u zamenu za open, dali je moguce zameniti funkciju ioctl tako da funkcija send_status ne otvara FD file descriptor nego da pise direktno na adresu mmc controlera, ima li ko ideju?
|