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
652 Views Asked by Tellrell White At
1
There are 1 best solutions below
Related Questions in LINUX-KERNEL
- kernel module does not print packet info
- android linux kernel communicate with user space about NETLINK_USER
- How to offload NAPI poll function to workqueue
- Why Device Tree Structure (DTS) file is needed both in bootloader and kernel source code?
- Bootloader in Assembly with Linux kernel
- pktgen not sending packets more than 1kb big
- Use static analysis tools to check null pointers and memory leaks in Linux device drivers
- How to build Linux kernel to support SO_ATTACH_BPF socket option?
- How do I know the last sched time of a process
- linux kernel compile error....udevd[63]: error getting socket
- Process in background mode trying to read from stdin
- board firmware update through uefi capsule feature from Linux
- spin_lock before writing status register
- Kernel module configuration locked built in?
- Install Subversion 1.7 on Debian jessie
Related Questions in EMBEDDED
- PHP don't use temp file for upload
- Sparkfun SC16IS750 does not work on Raspberry Pi
- Reserve memory space in m_text memory region of FLASH on embedded target
- SAE J1939 Standards Collection -- How much is necessary?
- How to call multiple slaves for Spi data transmission?
- Deployment over GPRS to embedded devices
- Changing just one byte in SD card sector
- Comparion of values won't work without delay
- Better to pass struct, or pointer to struct?
- STM32F4 Handling peripheral error while making a DMA Transfer (RX)
- USB programming, transfer file from iOS device to Embedded os device?
- using Diab, dcc 5.9.4 to compile a windows executable
- does b64_pton() work if input contains special characters? I am using it in C code
- u-boot select boot partition based on GPIO state
- Why is a write to a memory-mapped peripheral register not actioned (LPC43xx)?
Related Questions in BSP
- How to wake-up/resume after calling SetSystemPowerState in WINCE 7
- Constructing a KD-Tree from a cube-based world
- Simple example of BSP dungeon generation
- buiding bsp using make file in vxworks
- No private recovery resources for TARGET_DEVICE msm8974
- extern main declaration from bsplib returns error
- Sample Android BSP(Source) for ARM
- BSP vs Device-Drivers
- How can I execute some application(Simple C application which does not have UI) after android device booting
- qemu network not working needed for tftp booting
- Changing the library parameters of BSP with TCL in Xilinx SDK
- enabling low level debuging in kernel on serial port
- Time Zone auto update not working in android
- Which yocto is best for me
- Set value of GPIO247 to 1
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 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.