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?
- All Categories
- 105 Announcements & News
- 55 Product News - New Product/Product Change Notice/ End-of-life
- 184 Welcome Developers!
- 55 Unboxing & Project Sharing
- 32 Tech Updates
- 661 UP Products
- 2 UP 7000
- UP Squared i12
- 8 UP Xtreme i12
- 9 UP Squared Pro 7000
- 1 UP Element i12 Edge
- 18 UP Squared V2
- 54 UP 4000
- 24 UP Xtreme i11
- 35 UP Squared 6000
- 58 UP Squared Pro
- 142 UP Xtreme
- 834 UP Squared
- 1.4K UP Board
- 89 UP Core Plus
- 222 UP Core
- 3 UP Xtreme Lite
- 44 UP AI Edge
- 215 Starter Kits & Peripheral