New answers tagged

0

Performance is complicated. The only way to be sure is to benchmark on a real system with a real load. Piping multiple utilities definitely has a cost. Compared with string operations, this cost is very high. However, if the amount of data is large enough, a pipe solution can be faster, because it may allow specialized tools to do their job faster and it ...


2

Sometimes it is just easier to profile things: I've created a sample input file: aaaaa:bbbbb:ccccc aaaaa:bbbbb:ccccc aaaaa:bbbbb:ccccc aaaaa:bbbbb:ccccc field:bbbbb:ccccc aaaaa:bbbbb:ccccc aaaaa:bbbbb:ccccc aaaaa:bbbbb:ccccc aaaaa:bbbbb:ccccc shell script 'a.sh': #!/bin/bash for i in `seq 1 1000`; do cat test.dat | grep ^field | head -n1 | sed ...


0

Check the Cpu usage through htop while it is transmitting data. If it is maxed out during ethernet events, it is a good sign that your cpu is the bottleneck. The only fixes are to increase the clock of your cpu, or to get a faster one.


1

If your embedded device uses U-boot, the kernel image might be written on a particular partition on a NAND flash. See this! If this is the case i think you can locate the binary by looking at your U-boot source code if you have access to it. You can also check the environment variable for clues. This will vary greatly depending on your system so I can't ...


2

People underestimate the lifetime of modern flash as most (decent) flash cards will take hundreds of terabytes of data and still work. As indicated here on Ask Different (though not quite exactly your problem), it's going to be some time before you should start worrying about your SD card's lifespan. To quote an example, my SanDisk 32GB Extreme lasted for ...


3

RTS and DTR are output pins - which you can set. DCD and CTS are input pins and can only be read. The device is probably set for hardware handshaking by default. You can change this using tcsetattr (see CRTSCTS). Then you can use the TIOCMBIS ioctl to set RTS and DTR Good references are: Linux Serial HOWTO Linux Serial Programming HOWTO The above might ...


1

The order of parameters on your iface line is wrong. It is configuring interface inet6 for the eth0 protocol. It should be: iface eth0 inet6 static address <IPv6_address> netmask 64 The autoconf 0 bit is default for static configuration so you don't need to specify that.


2

Certainly you have tighter control of the environment on an embedded system than you do on a desktop or server, and you can probably get away with putting your files anywhere you like (subject to constraints like avoiding read-only filesystems, which embedded systems often have). That being said, I would definitely avoid /root. That's root's home directory ...


0

So it turns out by editing the line in automount() in /etc/udev/scripts/mount.sh did work, I just must have been editing it wrong. Originally the line (25) looks like this if ! $MOUNT -t auto -o async,relatime $DEVNAME "/media/$name" Previously I have been adding fmask & dmask options wrongly. if ! $MOUNT -t auto -o ...



Top 50 recent answers are included