menu
techminis

A naukri.com initiative

google-web-stories
source image

Medium

3d

read

380

img
dot

Image Credit: Medium

LicheeRV Nano — Board programming (Part 2)

  • The LicheeRV Nano board programming in C/C++ utilizes a cross-compiler available for x86 Linux or a specialized Jupyter notebook for browser-based development.
  • Compilation issues in examples using ioctl can be resolved by editing ioctl.h or through automatic patching in the Google Colab notebook.
  • Configuration of pins for GPIO, UART, I2C, PWM, and SPI functions on the LicheeRV Nano board involves pin management via multiplexer selection and specific addresses.
  • Settings for pin configurations can be done during board boot using U-Boot or via devmem utility from a running Linux OS for testing purposes.
  • Controlling GPIO pins through the Linux GPIO sysfs interface allows for terminal interaction or programmatically from C code, as demonstrated in project examples.
  • Similarly, interaction with PWM pins occurs through the sysfs interface, with functionalities like generating square waves and programmatically controlling PWM pins from code.
  • Interrupt processing without full-fledged setup is exemplified using Linux API in handling GPIO interruptions effectively.
  • Utilizing UART, I2C, and SPI interfaces on the board involves configuring the multiplexer to set up communication channels and interacting with respective devices through C/C++ code snippets.
  • Examples provided cover UART data sending, SPI hardware interaction, and I2C devices like AHT20 and BMP280 for temperature and barometer readings.
  • Experiments on I2C will be carried out with the WiFi module turned off, and future articles will involve working with a CSI camera connected to the board.

Read Full Article

like

22 Likes

For uninterrupted reading, download the app