Showing posts with label Hardware. Show all posts
Showing posts with label Hardware. Show all posts

Monday, September 30, 2013

Booting BeagleBone Black from SD

http://embeddedcomputer.nl/lanotattachments/download/file/id/3/store/1/


Booting Ubuntu on BeagleBoard Black
http://circuitco.com/support/index.php?title=Booting_Ubuntu_on_BeagleBoard_Black


Linux on ARM / Home:
http://eewiki.net/display/linuxonarm/BeagleBone+Black

uEnv.txt based bootscript:

Beaglebone Black CircuitCo support page:
http://circuitco.com/support/index.php?title=BeagleBoneBlack

BeagleBone Boot Sequence.
http://elinux.org/EBC_Exercise_21a_Boot_Sequence#Booting_Up


Unbrick
http://hipstercircuits.com/unbrick-beaglebone-black-without-erasing-emmc/

Angstrom Cloud9 distribution download
http://downloads.angstrom-distribution.org/demo/beaglebone/

Burning an IMG File
http://doc.freenas.org/index.php/Burning_an_IMG_File

6+ hour:
Building Angstrom for Beaglebone from Source:
http://derekmolloy.ie/building-angstrom-for-beaglebone-from-source/


http://nomel.tumblr.com/post/30357133735/beaglebone-tutorial-how-to-compile-kernel-modules-and

Wednesday, September 25, 2013

RT-N16

http://www.dd-wrt.com/wiki/index.php/Asus_RT-N16

http://www.anandtech.com/show/6180/open-source-router-platforms

OpenWRT
http://wiki.openwrt.org/toh/asus/rt-n16#from.linux

Saturday, April 20, 2013

Monday, April 1, 2013

Daily reading; watchdog Timer and AVR/Arduino

Typically, single-stage watchdog timers are used to simply restart the computer, whereas multistage watchdog timers will sequentially trigger a series of corrective actions, with the final stage triggering a computer restart.

In embedded systems and control systems, watchdog timers are often used to activate fail-safe circuitry. When activated, the fail-safe circuitry forces all control outputs to safe states (e.g., turns off motors, heaters, and high-voltages) to prevent injuries and equipment damage while the fault persists. In a two-stage watchdog, the first timer is often used to activate fail-safe outputs and start the second timer stage; the second stage will reset the computer if the fault cannot be corrected before the timer elapses.

Watchdog timers are sometimes used to trigger the recording of system state information—which may be useful during fault recovery[3]—or debug information (which may be useful for determining the cause of the fault) onto a persistentmedium. In such cases, a second timer—which is started when the first timer elapses—is typically used to reset the computer later, after allowing sufficient time for data recording to complete. This allows time for the information to be saved, but ensures that the computer will be reset even if the recording process fails.


http://arduino.cc/forum/index.php?topic=128717.0

External Hardware WatchDog:
http://www.practicalarduino.com/news/id/471





#include <avr/wdt.h>

void setup ()
{
  Serial.begin (115200);
  Serial.println ("Restarted.");
  wdt_enable (WDTO_1S);  // reset after one second, if no "pat the dog" received
 }  // end of setup

void loop ()
{
  Serial.println ("Entered loop ...");
  wdt_reset ();  // give me another second to do stuff (pat the dog)
  while (true) ;   // oops, went into a loop
}  // end of loop

The more severe issue is, that the bootloader does not de-activate the watchdog upon reset, so that one can end up with endless resets.
the official ATmega328 bootloader (optiboot) deactivates the watchdog on reset.
The official MEGA bootloader does not.
I'm not sure about Leonardo or Due.

AVR Watch Dog Macro

http://www.nongnu.org/avr-libc/user-manual/group__avr__watchdog.html

stackexchange Arduino Watch Dog Example
http://electronics.stackexchange.com/questions/18/watch-dog-timer-arduino



Watch dog AVR Library
Bootloader Selection
http://arduino.cc/forum/index.php?PHPSESSID=c322bf19e2be8fb4daedb3e931a0c8f0&topic=128717.0



A arguable solution? 
http://www.jasoncavett.com/2011/03/accessing-watchdog-timer-on-arduino-uno.html

Blocking service serial.print in WDT_ISR?

Saturday, March 30, 2013

Arduino Function Optimization

Adventures with Arduino: From 41 instructions to 1
http://www.rorydriscoll.com/2011/02/01/adventures-with-arduino-from-41-instructions-to-1/

I/O Operation for AVR

AVR ports are labeled port A though port D on most DIP packages (look at the datasheet for your AVR to find the right port.) For instance, for port B:

You write to port B with the PORTB register
You read (input) port B with the PINB register

The input or output status of each bit in the port can be controlled with the DDR (Data Direction Register), so that each pins in a single port can serve different purposes.

Set port B, pin 2 for input (this clears bit DDB2 in the DDR):

DDRB &= ~_BV(DDB2);

To get the value on port B, pin2:

val = PINB & _BV(PB2);

This ANDs the PINB register with the bit value of pin 2 (PB2)--masking out the other unwanted bits. 



Dr. Dobbs,
Al Williams 
DigtialWrite Optimization
http://v4.drdobbs.com/blogs/embedded-systems/240148309

Friday, March 29, 2013

Prototyping board soldering techniques


http://www.instructables.com/id/How-to-Prototype-Without-Using-Printed-Circuit-Boa/

Good practice for soldering
http://lbw.axe-man.org/solder/thumb.html

Progressive Prototyping techniques
http://elm-chan.org/docs/wire/wiring_e.html


http://electronics.stackexchange.com/questions/2215/how-do-i-connect-components-when-using-a-circuit-board-with-pads-but-no-traces

Tuesday, March 26, 2013

Arduino Data logging (with SD)

http://www.mauroalfieri.it/en/elettronica/data-logging-con-arduino.html

A note on "const"

A Note On const

Many users bring up the idea of using C's keyword const as a means of declaring data to be in Program Space. Doing this would be an abuse of the intended meaning of the const keyword.
const is used to tell the compiler that the data is to be "read-only". It is used to help make it easier for the compiler to make certain transformations, or to help the compiler check for incorrect usage of those variables.
For example, the const keyword is commonly used in many functions as a modifier on the parameter type. This tells the compiler that the function will only use the parameter as read-only and will not modify the contents of the parameter variable.
const was intended for uses such as this, not as a means to identify where the data should be stored. If it were used as a means to define data storage, then it loses its correct meaning (changes its semantics) in other situations such as in the function parameter example.

Arduino memory usage optimization

http://liudr.wordpress.com/2011/02/04/how-to-optimize-your-arduino-memory-usage/


Arduino Memory Space Discussion
http://arduino.cc/forum/index.php?topic=40586.0


AVR RAM structure
http://www.avrfreaks.net/index.php?name=PNphpBB2&file=printview&t=98806&start=0


AVR memory organization
http://www.mikroe.com/download/eng/documents/compilers/mikroc/pro/avr/help/avr_memory_organization.htm


Putting data in flash on the Arduino
http://www.sjbaker.org/wiki/index.php?title=Putting_data_in_flash_on_the_Arduino

SRAM usage -> AVR Program
http://stackoverflow.com/questions/960389/how-can-i-visualise-the-memory-sram-usage-of-an-avr-program

Tuesday, March 5, 2013

Unsigned Logic Vector Addition

http://stackoverflow.com/questions/5690750/unsigned-logic-vector-and-addition-how



In brief, you can add the ieee.numeric_std package to your architecture (library ieee; use ieee.numeric_std.all;) and then do the addition using:
Output <= std_logic_vector(unsigned(Output) + 1);

Monday, March 4, 2013

Daily reading: Signal VHDL explanation

Concept: delta delay

http://en.wikipedia.org/wiki/Delta_delay

Signal assignment and delta delay


Signals values are changed by signal assignment statements. The simplest form of a signal assignment is:
signal_name <= value;  -- assigned after delta delay


http://www.pldworld.net/_hdl/1/www.ireste.fr/fdl/vcl/lesd/les_4.htm
When no explicit delay time is provided, the default time is a delay called delta delay.




Friday, March 1, 2013

National Instruments In Vehicle Acquisition Table

Shared Variable and Single Process Techniques for programming NI LabView

https://decibel.ni.com/content/docs/DOC-19097