embedded-linux

PCI driver 'Oops: Kernel access of bad area' error

若如初见. 提交于 2020-01-24 19:30:38
问题 I wanted to write a simple PCI express driver for Xilinx FPGA. But I am not able to request memory region for PCI. Question is: How to claim that I/O memory area for custom driver. I want to write 3. byte of that area using driver. Below are the details. What am I missing ? Thanks 1-) I am getting this error: [ 4.345350] Unable to handle kernel paging request for data at address 0x00000005 [ 4.353978] Faulting instruction address: 0x80000000002c9370 [ 4.358337] Oops: Kernel access of bad area

Linux: How to enable Execute in place (XIP) for RAMFS/TMPFS

和自甴很熟 提交于 2020-01-22 14:22:11
问题 I'm working on an embedded system where the rootfs is constructed in a tmpfs partition by the init process. After the rootfs is complete, it will do a pivot-root and start spawning processes located in the rootfs . But it seems like XIP is not working for our tmpfs , and all the applications is therefore loaded into ram twice (in the tmpfs and again into ram when loaded). Can this really be true? I found an old discussion thread at https://ez.analog.com/thread/45262 which describe the same

IMX53 initialize stacks

南笙酒味 提交于 2020-01-17 07:24:18
问题 I am booting Android on an IMX53 Sabre tablet. I am trying to initialize stacks for the different processor modes. The following is my monitor initialization code: @ Install Secure Monitor @ ----------------------- ldr r1, =ns_image @ R1 is used str r0, [r1] ldr r0, =tz_monitor @ Get address of Monitors vector table mcr p15, 0, r0, c12, c0, 1 @ Write Monitor Vector Base Address Register @ Save Secure state @ ------------------ ldr r0, =S_STACK_LIMIT @ Get address of Secure state stack stmfd

Unable to mount root fs on unknown-block(0,0) when booting from S3C6410 board

北慕城南 提交于 2020-01-13 19:51:30
问题 I have a S3C6410 board. The default Linux in the package is 2.6.28 and working fine. I want to upgrade it with more recent kernel. I grabbed buildroot 2012.11 edition. Then I get the default config file in the DVD and compiled the kernel 3.6.8 with that. Boot loader and root file system are the same old ones. Now when I boot the kernel I got this error: VFS: Cannot open root device "mtdblock2" or unknown-block(0,0): error -19 Please append a correct "root=" boot option; here are the available

How to use QEMU for learning ARM Linux kernel development?

送分小仙女□ 提交于 2020-01-13 11:10:10
问题 I want to learn it like developing some device driver etc and use QEMU for this because i have no hardware board for ARM like beagle board. What you guys suggest? Can i use Qemu simulator to learn Linux kernel on ARM targets? or any other option i should try ? 回答1: It depends on what you want to learn: hardware or software. If you really want to experiment with the different GPIO output to implement things like servo motor control, LED light blinking and display, a cheap board (eg, Raspberry

Coherently understand the software-hardware interaction with regard to DMA and buses

百般思念 提交于 2020-01-13 06:37:06
问题 I've gathered some level of knowledge on several components (including software and hardware) which are involved in general DMA transactions in ARM based boards, but I don't understand how is it all perfectly integrated, I didn't find a full coherent description about this. I'll write down the high level of the knowledge I already have and I hope that someone could fix me where I'm wrong and complete the missing parts so the whole picture would be clear. My description starts with the

mpc / mpd on linux: how to play local wav file

纵然是瞬间 提交于 2020-01-13 05:31:07
问题 I am trying to add a local file to mpd ( through mpc ) and play it . my platform is OpenWRT embedded linux . so, from the man page, it states: mpc add <file> Add a song to the current playlist if i do: root@OpenWrt:~/.mpd# mpc add /usr/share/baresip/ring.wav error adding /usr/share/baresip/ring.wav: directory or file not found or if i do: root@OpenWrt:~/.mpd# mpc add file:///usr/share/baresip/ring.wav error adding file:///usr/share/baresip/ring.wav: Access denied what exactly is the correct

Learning Kernel Programming [closed]

本秂侑毒 提交于 2020-01-10 06:14:08
问题 Closed. This question is off-topic. It is not currently accepting answers. Want to improve this question? Update the question so it's on-topic for Stack Overflow. Closed 5 years ago . I want to learn lLinux Kernel programming. What would be the starting points for that? What could be some of the simpler problems to target? 回答1: Try to get hold of Robert Love's book on Linux Kernel Programming. Its very concise and easy to follow. After that or along with that, you may want to take a look at

Non blocking read with fixed data in input

不问归期 提交于 2020-01-06 18:45:32
问题 I want use serial port to communicate with another device txdev, the problem is that txdev is sending data asynchronously and i don't want the read function to block, the good thing is that txdev is sending data with fixed size but i don't know how to use this trick. what i'am doing is the following : fd = open(DEVICE_NAME, O_RDWR | O_NOCTTY); bzero(&termios_p, sizeof(termios_p)); termios_p.c_cflag = CS8|CSTOPB|CLOCAL|CREAD; termios_p.c_iflag = IGNPAR; termios_p.c_oflag = 0; termios_p.c_lflag

Why error in cross compiling Arm Linux GCC?

£可爱£侵袭症+ 提交于 2020-01-04 05:55:06
问题 I'm trying to use AppWeb, and i wrote a very simple program to embed AppWeb into my application, it's using a function in AppWeb library. #include <appweb/appweb.h> int main(int argc, char** argv) { return maRunWebServer("appweb.conf"); } I dont know when I compile with gcc (or cc), it compiled successful. But, when I cross compile to Arm architecture, is have been getting error. This is my Makefile: CC = gcc LIBS = lib FLAG = -lappweb -lmpr TEST_TARGET = embed-appweb OBJS = embed-appweb all: