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?
- 258 All Categories
- 102 Announcements & News
- 33 Product News - New Product/Product Change Notice/ End-of-life
- 173 Welcome Developers!
- 46 Unboxing & Project Sharing
- 14 Tech Updates
- 151 UP Products
- 4 UP Squared Pro
- 96 UP Xtreme
- 740 UP Squared
- 1.3K UP Board
- 79 UP Core Plus
- 205 UP Core
- UP Xtreme Lite
- 34 UP AI Edge
- 206 Starter Kits & Peripheral