Open 10RUPTiV opened 4 years ago
Hi,
We are trying to use it but having segmentation fault each time and we are having a bunch of warning while me "make" it!
g++ -fpermissive -Wno-write-strings -o dht22 .c c_gpio.c: In function ‘int setup()’: c_gpio.c:129:23: warning: cast from ‘volatile uint32_t’ {aka ‘volatile unsigned int’} to ‘uint32_t’ {aka ‘unsigned int’} loses precision [-fpermissive] if ((uint32_t)gpio_map < 0) { ^~~~ c_gpio.c:176:27: warning: invalid conversion from ‘void’ to ‘uint8_t’ {aka ‘unsigned char’} [-fpermissive] if ((gpio_mem = malloc(BLOCK_SIZE + (PAGE_SIZE-1))) == NULL)
c_gpio.c:179:19: warning: cast from ‘uint8_t*’ {aka ‘unsigned char*’} to ‘uint32_t’ {aka ‘unsigned int’} loses precision [-fpermissive] if ((uint32_t)gpio_mem % PAGE_SIZE) ^~~~~~~~ c_gpio.c:180:44: warning: cast from ‘uint8_t*’ {aka ‘unsigned char*’} to ‘uint32_t’ {aka ‘unsigned int’} loses precision [-fpermissive] gpio_mem += PAGE_SIZE - ((uint32_t)gpio_mem % PAGE_SIZE); ^~~~~~~~ c_gpio.c:189:19: warning: cast from ‘volatile uint32_t*’ {aka ‘volatile unsigned int*’} to ‘uint32_t’ {aka ‘unsigned int’} loses precision [-fpermissive] if ((uint32_t)gpio_map < 0) ^~~~~~~~ c_gpio.c: In function ‘uint32_t sunxi_readl(volatile uint32_t*)’: c_gpio.c:282:36: warning: cast from ‘volatile uint32_t*’ {aka ‘volatile unsigned int*’} to ‘uint32_t’ {aka ‘unsigned int’} loses precision [-fpermissive] uint32_t mmap_base = (uint32_t)addr & (~MAP_MASK); ^~~~ c_gpio.c:283:37: warning: cast from ‘volatile uint32_t*’ {aka ‘volatile unsigned int*’} to ‘uint32_t’ {aka ‘unsigned int’} loses precision [-fpermissive] uint32_t mmap_seek = ((uint32_t)addr - mmap_base) >> 2; ^~~~ c_gpio.c: In function ‘void sunxi_writel(volatile uint32_t*, uint32_t)’: c_gpio.c:290:36: warning: cast from ‘volatile uint32_t*’ {aka ‘volatile unsigned int*’} to ‘uint32_t’ {aka ‘unsigned int’} loses precision [-fpermissive] uint32_t mmap_base = (uint32_t)addr & (~MAP_MASK); ^~~~ c_gpio.c:291:37: warning: cast from ‘volatile uint32_t*’ {aka ‘volatile unsigned int*’} to ‘uint32_t’ {aka ‘unsigned int’} loses precision [-fpermissive] uint32_t mmap_seek =( (uint32_t)addr - mmap_base) >> 2; ^~~~ c_gpio.c: In function ‘int eventdetected(int)’: c_gpio.c:219:1: warning: control reaches end of non-void function [-Wreturn-type] } ^
Just upgrade to Kernel 5.3.11 and having "Not enough bits:" error when trying!
Hi,
We are trying to use it but having segmentation fault each time and we are having a bunch of warning while me "make" it!
g++ -fpermissive -Wno-write-strings -o dht22 .c c_gpio.c: In function ‘int setup()’: c_gpio.c:129:23: warning: cast from ‘volatile uint32_t’ {aka ‘volatile unsigned int’} to ‘uint32_t’ {aka ‘unsigned int’} loses precision [-fpermissive] if ((uint32_t)gpio_map < 0) { ^
~~~ c_gpio.c:176:27: warning: invalid conversion from ‘void’ to ‘uint8_t’ {aka ‘unsigned char’} [-fpermissive] if ((gpio_mem = malloc(BLOCK_SIZE + (PAGE_SIZE-1))) == NULL)