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
-
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.9If 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.htmlFinally, 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.
-
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