how to write bare-metal device drivers

I'm porting a proprietary real-time OS onto UP board and need to develop the bare-metal device drivers, such as  GPIO, I2C and UART peripherals on the 40-pin header.

    Is there any examples and/or documents to help me get started ? Thanks in advanced.

Eric

Answers

  • Javier Arteaga
    Javier Arteaga Emutex Posts: 163 mod

    Hi EricC,

    In case it's still helpful to you (or at least as future reference):

    Linux support for the UP board is open-source, so you may be able to use the Linux device drivers as a guide. The last kernel released for ubilinux can be found here:
    https://github.com/emutex/ubilinux-kernel/commits/upboard-4.9

    If you're developing your own device drivers, you'd also want the documentation for the Cherry Trail SoC (used on the UP board) from Intel:
    https://www.intel.com/content/www/us/en/design/mobile-devices/platforms/cherry-trail/overview.html

    Finally, the wiki may have documentation or examples of interest to you - but feel free to ask if you can't find what you're looking for.

  • EricC
    EricC New Member Posts: 4 ✭

    Hi, Javier:
    Thanks for your reply.
    I've been working on the Linux open source approach following your recommendation but still not able to get what I want. I also study Intel Cherry Trail SoC documents, and no luck either. not to mention there is a "mysterious" FPGA between SoC and the 40-pin GPIOs.
    Is there any chance that UP board has some technical documents on how to configure the 40-pin GPIOs, such as memory map, register definition , pinmux control ?
    EricC

Privacy Policy