Up Board using MRAA unable to initalize gpio
I tried to initialize gpio on UP Board using libmraa C API:
i2c = mraa_i2c_init(0);
but it always returns NULL. Then I learned that it requires root permissions, so I installed ubilinux 4 instead of ubuntu and updated the OS according to the wiki page, but again it returns NULL. Since I use Arduino Create IDE to upload sketches so I believe the code is running with root permissions. But still I got NULL, and initializing gpio or spi simply return NULL too. libmraa itself should be working fine because I can get the board name "UP" using mraa_get_platform_name() function.
Then today, I suddenly notice that after booting the board, just before entering the login page, there seem to be some errors:
efi: requested map not found.
esrt: ESRT header is not in the memory map.
CPLD verify error (expected: FFFFFFF, actual: 0)
up-pinctrl up-pinctrl: CPLD initialisation failed
Failed to find cpu0 device node
i8042: Can't read CTR while initializing i8042
I understand that GPIO buses on UP are driven by a CPLD, so does that mean my board is damaged? Or something else could be done to initialize all these correctly?
- 302 All Categories
- 104 Announcements & News
- 50 Product News - New Product/Product Change Notice/ End-of-life
- 184 Welcome Developers!
- 50 Unboxing & Project Sharing
- 24 Tech Updates
- 478 UP Products
- UP Element i12 Edge
- 1 UP Squared V2
- 2 UP 4000
- 23 UP Xtreme i11
- 30 UP Squared 6000
- 42 UP Squared Pro
- 137 UP Xtreme
- 806 UP Squared
- 1.4K UP Board
- 87 UP Core Plus
- 219 UP Core
- 3 UP Xtreme Lite
- 43 UP AI Edge
- 215 Starter Kits & Peripheral