embedded-linux

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

纵饮孤独 提交于 2019-12-04 13:13:03
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 syntax here? the man page is really not very clear for mpc / mpd . Your second attempt was almost right.

Exactly when tasklet runs after it is schedule by ISR?

不打扰是莪最后的温柔 提交于 2019-12-04 10:41:18
I written my ISR and my tasklet ran immediately. BUT , I have seen people saying that tasklet runs only when it gets CPU attention. This is a very generic term CPU attention so i recite for those responders. I mean exactly which moment cpu attention goes to tasklet execution and what happen to the state of CPU ? Secondly, if suppose that i am keep on getting hard interrupt then when will tasklet get chance to run? Is it possible that tasklet may not get chance to run? How does kernel take care these things ? TL;DR: Tasklets are run by ksoftirq threads who are handled by Scheduler. Tasklet is

What is an embedded system? Can Mobile be considered as an embedded product?

血红的双手。 提交于 2019-12-04 08:50:25
问题 What is mean by embedded system? If a system/machine or product which we are making is for multiple purposes, then can we consider it as an embedded system? Or is it that only a system dedicated for a particular task that is considered as an embedded system? Can a PC/mobile/laptop be considered as an embedded system or not? 回答1: Generally an embedded system is one placed into operation for a specific, narrow purpose, and lacking the kind of general purpose user interfaces you would find on an

Using mono in embedded linux for hardware

南楼画角 提交于 2019-12-04 07:36:23
I am doing research for a company as an internship. I had some question in using Mono, the cross platform implementation of .Net platform. My company designs hardware and sotware. My knowledge of using embedded linux is very limited. My company where I am doing my internship is really .NET minded. But the new developments of mono, they asking themselves if they can target linux for smaller projects, too avoid the high licensing cost for the people for which they design the software and hardware. I already looked in to what mono can do (and can't yet do). Now I reach the embedded question. I am

Passing Bootargs via Chosen node in Device Tree not working for Beaglebone Black

♀尐吖头ヾ 提交于 2019-12-04 07:30:24
As per my understanding chosen node is used to send boot arguments to the kernel. The following is the chosen node of the existing device code (am335x-bone-common.dtsi). chosen { stdout-path = &uart0; }; So, I have modified chosen node to pass kernel arguments. chosen { bootargs = "console=ttyO0,115200 root=/dev/mmcblk0p2 rootfstype=ext3 rw rootwait"; stdout-path = &uart0; }; While bringing up the board I encountered KERNEL PANIC, Here is the log { https://pastebin.com/XHyrsmfG } FYI: These are the u-boot commands issued on serial console(minicom) inorder to port kernel and devicetree using

Resize MTD partitions at runtime

痴心易碎 提交于 2019-12-04 07:06:51
I am working with embedded devices and would like to enable them to resize their MTD partitions via Linux without rebooting. The problem is that my Linux image size has increased and the current MTD partition (mtd0) in which it resides is now too small. However, the partition right after it (mtd1) is a JFFS2 section used for storing config information, so resizing with a reboot is not an option because the config could be lost. My goal is this: 1. Copy contents of JFFS2 into /tmp/ 2. Unmount JFFS2 from mtd1 3. Increase the starting offset + reduce size of mtd1 by X bytes (or delete mtd1 and

Can't boot basic OpenEmbedded-Core on Freescale i.MX28

我是研究僧i 提交于 2019-12-04 05:10:21
I've been trying to build and boot OpenEmbedded-Core on the evaluation kit for Freescale's ARM i.MX28 , using the Freescale ARM layer for OpenEmbedded-Core . Unfortunately, I can't find a basic "Getting Started" guide (though there is a Yocto getting-started guide ). Unfortunately, I haven't been able to "get started", to the point of successfully booting to a basic command prompt on the board's debug serial port. Here is what I've been able to piece together, and as far as I've managed to get so far. Fetch sources mkdir -p oe-core/freescale-arm cd oe-core/freescale-arm git clone git://git

for_each_process - Does it iterate over the threads and the processes as well?

和自甴很熟 提交于 2019-12-04 04:55:34
I would like to iterate all the tasks in the kernel (threads and processes) and print tid/pid and name using for_each_process macro: #define for_each_process(p) \ for (p = &init_task ; (p = next_task(p)) != &init_task ; ) How can I distinguish between thread and process? So I'll print it like that: if (p->real_parent->pid == NULL) printk("PROCESS: name: %s pid: %d \n",p->comm,p->pid); else printk("THREAD: name: %s tid: %d \n",p->comm,p->pid); The following macros are what you need: /* * Careful: do_each_thread/while_each_thread is a double loop so * 'break' will not work as expected - use goto

Spidev do not write/read simultaneously using ioctl

徘徊边缘 提交于 2019-12-04 03:47:19
I hope to find some help even if this issue might be more hardware than software related (we'll see). I'm working on a custom board based on Freescales P1021 processor (ppc, e500v2 core). A external PCB will be connected and could be configured by SPI. The specifications of this external PCB reads as it expects a 2-byte command in full duplex mode and that only the last byte is used to transfer data back on MISO. Knowing this i currently work to prepare some pieces of software to test this device. So I started with the well known spi_test program. root@p1021rdb:~# ./spi_test -D /dev

Accessing kernel driver data from FIQ interrupt handler failing

狂风中的少年 提交于 2019-12-04 03:39:16
问题 On ARM FIQ interrupts, we have some registers reserved only for FIQ use, and those are a handy way to "save the state" for example of data transfer between FIQ calls. Currently I'm triggering some GPIO pins from the FIQ, and it is working as expected. When setting up the FIQ handler, I pass the pointers to the data registers, that were mapped with ioremap. Working code looks like this: //Driver initialization: static char* dout0; static char* din0; ... static int driver_probe(struct platform