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
Showing posts with label embedded. Show all posts
Showing posts with label embedded. Show all posts
Monday, September 30, 2013
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
http://www.anandtech.com/show/6180/open-source-router-platforms
OpenWRT
http://wiki.openwrt.org/toh/asus/rt-n16#from.linux
Tuesday, September 24, 2013
interrupt, Callback, Software Debounce, RPi
raspi.tv/2013/how-to-use-interrupts-with-python-on-the-raspberry-pi-and-rpi-gpio-part-2
Sunday, September 15, 2013
Disabling the beaglebone black HDMI Cape
mount /dev/mmcblk0p1 /mnt/card
Edit the uEnv.txt on the mounted partition:
nano /mnt/card/uEnv.txt
To disable the HDMI Cape, change the contents of uEnv.txt to:
optargs=quiet capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN
Save the file:
Ctrl-X, Y
Unmount the partition:
umount /mnt/card
Reboot the board:
shutdown -r now
Wait about 10 seconds and reconnect to the BeagleBone Black through SSH. To see what capes are enabled:
cat /sys/devices/bone_capemgr.*/slots
Every line shows something like “P-O-L” or “P-O–”. The letter “L” means
the Cape is enabled; no letter “L” means that it is disabled. You can
see here that the HDMI Cape has been disabled, so pin 27 to 46 on header
P8 are now available to use
http://www.logicsupply.com/blog/2013/07/18/disabling-the-beaglebone-black-hdmi-cape/
Friday, August 16, 2013
mkimage command not found
http://shuiqingwang.blogspot.com/2012/07/solvedmkimage-command-not-found-u-boot.html
Problem: "mkimage" command not found - U-Boot images will not be built
Solution: sudo apt-get install uboot-mkimage
make the kernel again
http://forkbomb.dadacafe.org/blog/__34__mkimage__34___command_not_found_-_U-Boot_images_will_not_be_built/
http://processors.wiki.ti.com/index.php/Linux_Toolchain
Problem: "mkimage" command not found - U-Boot images will not be built
Solution: sudo apt-get install uboot-mkimage
make the kernel again
http://forkbomb.dadacafe.org/blog/__34__mkimage__34___command_not_found_-_U-Boot_images_will_not_be_built/
http://processors.wiki.ti.com/index.php/Linux_Toolchain
Sunday, August 4, 2013
Pi expand board
Camera Documentation
http://www.raspberrypi.org/archives/4483
Hardware control
http://www.raspberrypi.org/archives/4492
Laika
http://www.project-laika.com/about-laika
http://www.raspberrypi.org/archives/4483
Hardware control
http://www.raspberrypi.org/archives/4492
Laika
http://www.project-laika.com/about-laika
Saturday, August 3, 2013
RTC real time clock and raspberry pi
http://en.wikipedia.org/wiki/Real-time_clock
Supercapacitor
Setup with raspberry pi
http://learn.adafruit.com/adding-a-real-time-clock-to-raspberry-pi/set-rtc-time
Supercapacitor
Setup with raspberry pi
http://learn.adafruit.com/adding-a-real-time-clock-to-raspberry-pi/set-rtc-time
Friday, April 26, 2013
NI Labview - cRio 0 Arduino setup
google Code project:
https://code.google.com/p/labviewduino/
Official Support Webpage:
http://sine.ni.com/nips/cds/view/p/lang/en/nid/209835
Setting up the cRIO (IP, and formatting)
Creating and Running a LabVIEW Project
http://www.youtube.com/watch?v=7GbpOIK9rmg
Arduino Labview interface
http://www.youtube.com/watch?v=n3AwL-_UCS4
Support webpage
https://decibel.ni.com/content/groups/labview-interface-for-arduino
Detailed program tutorial:
http://www.youtube.com/watch?v=RGRhIQneO6w
University of Central Florida
MMAE (Department) Robotic Course Webpage
http://www2.mmae.ucf.edu/wiki/MMAE_Graduate_Robotics
System integration solution
https://decibel.ni.com/ content/servlet/JiveServlet/ downloadBody/18322-102-1- 34229/EML%206808_demo5.pptx
Interface download for Labview 2012:
https://decibel.ni.com/content/thread/13798
https://code.google.com/p/labviewduino/
Official Support Webpage:
http://sine.ni.com/nips/cds/view/p/lang/en/nid/209835
Setting up the cRIO (IP, and formatting)
Creating and Running a LabVIEW Project
http://www.youtube.com/watch?v=7GbpOIK9rmg
Arduino Labview interface
http://www.youtube.com/watch?v=n3AwL-_UCS4
Support webpage
https://decibel.ni.com/content/groups/labview-interface-for-arduino
Detailed program tutorial:
http://www.youtube.com/watch?v=RGRhIQneO6w
University of Central Florida
MMAE (Department) Robotic Course Webpage
http://www2.mmae.ucf.edu/wiki/MMAE_Graduate_Robotics
System integration solution
https://decibel.ni.com/
Interface download for Labview 2012:
https://decibel.ni.com/content/thread/13798
Saturday, April 20, 2013
Circular buffer and Sliding Sindow Step Detection Implementation
Circular Buffer/Cyclic Buffer/ring buffer
Single fixed size buffer, end to end:
Easily to buffering data streams
FIFO, implementation strategy for a queue
http://en.wikipedia.org/wiki/Circular_buffer
Difficulties
Full/Empty Distinction
Library
http://websvn.hylands.org/filedetails.php?repname=Projects&path=%2Fcommon%2FCBUF.h&rev=0&sc=0%3E
Single fixed size buffer, end to end:
Easily to buffering data streams
FIFO, implementation strategy for a queue
http://en.wikipedia.org/wiki/Circular_buffer
Difficulties
Full/Empty Distinction
Library
http://websvn.hylands.org/filedetails.php?repname=Projects&path=%2Fcommon%2FCBUF.h&rev=0&sc=0%3E
Wednesday, April 3, 2013
NI cRIO setup
General Tutorial of NI cRIO Hardware-Software setup
http://www.ni.com/gettingstarted/setuphardware/compactrio/
Make sure correct version of LabView
http://joule.ni.com/nidu/cds/view/p/id/3769/lang/en
DriverSet Collection Page
http://search.ni.com/nisearch/app/main/p/bot/no/ap/tech/lang/en/pg/1/sn/ssnav:ndr/q/ni-rio/
Version List
ftp://ftp.ni.com/pub/devzone/tut/crio_software_versions.htm
Driver List
http://www.ni.com/nisearch/app/main/p/bot/no/ap/tech/lang/en/pg/1/sn/catnav:du,n8:4.9547.9548,ssnav:ndr/
cRIO crossover cable setup
http://forums.ni.com/t5/LabVIEW/How-to-connect-cRIO-with-Computer-via-cross-cable/td-p/1080146
http://www.ni.com/gettingstarted/setuphardware/compactrio/
Make sure correct version of LabView
http://joule.ni.com/nidu/cds/view/p/id/3769/lang/en
DriverSet Collection Page
http://search.ni.com/nisearch/app/main/p/bot/no/ap/tech/lang/en/pg/1/sn/ssnav:ndr/q/ni-rio/
Version List
ftp://ftp.ni.com/pub/devzone/tut/crio_software_versions.htm
Driver List
http://www.ni.com/nisearch/app/main/p/bot/no/ap/tech/lang/en/pg/1/sn/catnav:du,n8:4.9547.9548,ssnav:ndr/
cRIO crossover cable setup
http://forums.ni.com/t5/LabVIEW/How-to-connect-cRIO-with-Computer-via-cross-cable/td-p/1080146
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
The official MEGA bootloader does not.
I'm not sure about Leonardo or Due.
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
http://arduino.cc/forum/index.php?PHPSESSID=c322bf19e2be8fb4daedb3e931a0c8f0&topic=128717.0
Blocking service serial.print in WDT_ISR?
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
stackexchange Arduino Watch Dog Example
http://electronics.stackexchange.com/questions/18/watch-dog-timer-arduino
Watch dog AVR Library
Bootloader Selectionhttp://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.htmlBlocking 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
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
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.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
https://decibel.ni.com/content/docs/DOC-19097
Wednesday, February 27, 2013
Non block Interrupt + USART AVR Communication
http://www.avrfreaks.net/index.php?name=PNphpBB2&file=printview&t=60207&start=0
http://www.avrfreaks.net/index.php?name=PNphpBB2&file=printview&t=60207&start=0
AVR ADC Example
Input Scanning
http://www.electronics-base.com/index.php/avr-tutorials/analog-digital-converter-adc/102-avr-adc-inputs-scanning-example
ADC atmega 328
http://www.embedds.com/adc-on-atmega328-part-1/
Multiple Channels
http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=101325
http://www.electronics-base.com/index.php/avr-tutorials/analog-digital-converter-adc/102-avr-adc-inputs-scanning-example
ADC atmega 328
http://www.embedds.com/adc-on-atmega328-part-1/
Multiple Channels
http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=101325
Subscribe to:
Posts (Atom)