In general, if I wanted to access(read or write) to some hardware device how do the kernel and bsp (board support package) interact to make this possible assuming the device drivers live inside the bsp?
Relationship between kernel and board support package
655 Views Asked by Tellrell White At
1
There are 1 best solutions below
Related Questions in LINUX-KERNEL
- Android kernel error: undefined reference to `get_hw_version_platform'
- Is there a need for BPF Linux namespace?
- Facing fatal errors while running "yum update" command on CentOS 7/Cloudlinux 7
- crash utility itself crashes while decoding kdump generated from null pointer dereference in kernel module
- How to compile the Linux kernel with -O0 for more detailed debug?
- Linux support for parallel Pixel data Image sensor
- Can't upgrade to newest version of linux-image-6.5.0-26-generic
- How to protect a page so that it cannot be write in mips arch?
- How to extract the .img file into normal kernel source file in the linux?
- Storage size of struct hash_desc desc; isn't known
- How can I intercept failed file openning calls?
- struct nameidata-Linux Kernel Module
- How to modify a 'struct msghdr' in Linux Kernel Module?
- How to allocate 500MB+ physically contiguous memory in a Linux kernel module and copy data to that memory from a userspace process?
- Hyper Threading: nosmt in grub configuration
Related Questions in EMBEDDED
- MSP430F5529 on the MSPEXP430F5529LP: UART is not actually transmitting despite seemingly correct setup. What is wrong?
- A FPGA Project Proposal where I can use both PS and PL
- Program doesn't run after DFU
- Sending struct through queue
- How to generate a VPI warpmap for polynomial distortion correction?
- How to present this example concept in UML: Using 2 LCD displays in C/C++
- CLion: Debug via St-Link
- Portenta H7 Baremetal Development and a Little Guidance on Embedded System Learning Roadmap
- STM32 RTC3 Mixed Mode: Writing TR resets SSR
- Unable to read value from gpio set as input
- Mbed TLS: in-place en-/decryption for OAEP doesn't seem to work
- Shared variable read from low priority thread in preemptive scheduling
- Own Pattern / framework for interfacing with components in C
- Performance Difference Between Global Variable and Local Variable in Embedded Systems
- Comparing analog signal from Electret mic with samples
Related Questions in BSP
- Geometry of binary space partitioning tree
- ili2118A touch driver issue
- How to efficiently calculate the decimal value from the first 29 bits of the fractional part (of an CoolFlux BSP32 accumulator)?
- Quake BSPs in pyopengl
- VNDK namespaces are missing in linker configuration file(ld.config.txt) in Android
- HAL vs BSP vs Drivers
- ROM doesn't load U-Boot on imx6solo
- Yocto build for i.MX8QM is not booting
- Set value of GPIO247 to 1
- Program is Unable to exit from interrupt function
- How to Use BSP Library in a Project?
- extern main declaration from bsplib returns error
- Interrupt is pending, but my interrupt routine is not called
- How are BSP and U-Boot different for an embedded dev board?
- Can i install adb on Auto Linux BSP?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
BSP comprises support for CPU/peripheral initialization and on-board peripheral specific functions, drivers. BSP shall have routines specific to entities like interrupt controller, rtc, timers, dma, uart/usb/ethernet/other-interfaces, spi/i2c, pci/isa bus, flash/ ROM/ EEPROM/ NVRAM, memory map, bootloader, filesystem etc. The routines shall be related to device selection/identification, registration, initialization/opening, reading/receiving, writing/sending or closing/freeing the device.
Normally, these routines shall be placed in respective processor directory/sub-directories. These functions shall be used/invoked by kernel in the form of device driver or independently as required by kernel. Since BSP is collection of hardware specific routines(or set of library), the BSP is also termed as a kind of interface between kernel/OS and on-board peripherals/hardware.