Resources to learn and implement in Base Support Package(BSP) and Device Drivers Projects.

SP_Nova
2 min readAug 22, 2021

--

WHO ?? would benefit from this article- Freshers or Rookies from Computer Science or Electronics related field, who have NO to the bare minimal experience/Knowledge of working on Linux kernel or BSP project.

Source: BusinessInsider.com Linus Torvalds with Linux Mascot
Source: BusinessInsider.com Linus Torvalds with Linux Mascot
Source: developer.qualcomm.com- BSP Development Board
Source: developer.qualcomm.com- BSP Development Board for Snapdragon 845 chipset Mobile Hardware

THE RECOMMENDED way to LEARN:

->LEARN the BASIC Concepts(Topic-wise)

-> OBSERVE from existing kernel code

-> IMPLEMENT the concept LEARNT

SOURCES

PRE-REQUISITES to below-mentioned Resources:

a) Hands-on and understanding of C programming.

b) Hands-on/Understanding of Embedded C Programming.

GET THE FUNDAMENTALS OF THE LINUX KERNEL RIGHT:

Books and Links for Purchase/Free Download

a)Linux Device Drivers, Third Edition by Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman

Free Download link: https://lwn.net/Kernel/LDD3/

b)Linux Kernel Development (Developer’s Library) 3rd Edition, by

Love Robert

Purchase Link: https://www.amazon.in/Linux-Kernel-Development-Developers-Library-ebook/dp/B003V4ATI0

c) Purpose: Understanding Android Stack and Practical Applications with Code Snippets for BSP board Bring-up/Customizations/Porting/Bug-Fixing

Embedded Android: Porting, Extending, and Customizing 1st Edition, by Karim Yaghmour

Purchase Link: https://www.amazon.com/Embedded-Android-Porting-Extending-Customizing/dp/1449308295

WEB RESOURCES-LEARNING FROM THE PROs

Once you have gone through the basics it is recommended to observe how it is done and start implementing as soon as a topic is learned.

This, evidently is the fastest way to grasp, understand and remember any concept.

0] http://androidxref.com/

1] http://aospxref.com/

2] https://developer.android.com/

3] https://www.kernel.org/

4] https://bootlin.com/

5] https://elixir.bootlin.com/linux/latest/source

6] https://www.linuxfoundation.org/

7] https://www.opensourceforu.com/2011/02/linux-character-drivers/THE BEST SERIES TO START WITH, FOR NOOBs:-P

WATCH OUT FOR THIS SPACE FOR DETAILED INFORMATION ON HOW TO GO ABOUT EACH RESOURCE TO OPTIMIZE FOR TIME AND EFFORTS!!

Till Then,

STAY HUNGRY, STAY FOOLISH!!

--

--

SP_Nova

Tech Enthusiast | Explorer | Personal Growth | Lifelong Learner