Posts

Showing posts with the label beagle

Quick and Dirty userspace testing of regulator with virtual consumer

Writing a driver for a new regulator is usually fun, until you need to test the darned thing. Many of the users of the regulator is probably not yet ready in an development environment and need to test cant wait. I had recently a similar situation and found CONFIG_REGULATOR_VIRTUAL_CONSUMER You'd probably register and provide and regulator supply, but without a driver using it in a controlled environment (read shell script or so), it is hard to poke holes completely into your driver. Steps are rather simple. Assumption - you already have a regulator registered in the system and you are aware of the regulator name - You can also figure out it's name by the following (an example from 3.9-rc8 on Beagle-XM): # head /sys/class/regulator/*/name ==> /sys/class/regulator/regulator.0/name /sys/class/regulator/regulator.1/name /sys/class/regulator/regulator.2/name /sys/class/regulator/regulator.3/name /sys/class/regulator/regulator.4/name /sys/class/regulator/regulator.5/...

how do you start a new year? in style!

it is exciting news and there is no reason for me to do the good old style of a post.. so here it goes: Jason's state of the beagle address (somehow sounds similar to this - no offense intended ofcourse) had the following highlights (or my view how as an engineer I'd have paraphrased): Beagleboard rocks . (and we have awards to prove it too ;) ).. We kinda got screwed by beagle's success initially, but now I think things are better now.. beagleboard is getting an engine change soon - blistering speeds ahead dudes.. 720meg beagles.. get those apps rockin.. Annnndddd..... Yeeeehaaaawww.. beagleboard XM !!!!!! DM3730(dudes in l-o know the diff with OMAP3630).. wow.. more juice under the hood man... mama mia!!! camera, 4 port ehci, usb2ethernet the good ol' lcd and expansion connectors, everything we all cribbed and wanted our fav beagle to have, is there now! Go Go Gerald ;) for those newbies.. go do the training and get rockin faster..(android/angstrom.. whatever ...

Configuration Header: No more x-loader for NAND boot!!

[discussion thread here ] Few days back looking at OMAP3430 Public TRM I found the section 26.4.8.2(page 3427), it was exciting to see what possibilities lay here.. a little more digging later and few hours of coding later, figured out that by adding a certain data as a prefix to the real image, we can boot u-boot or for that matter any image straight from NAND flash into sdram.. essentially this is what x-loader does, only that OMAP3430 ROMCode already has that feature.. What exactly is Configuration Header(CH)? CH is a set of register values to the critical OMAP registers that define how the clocks, sdram controller, gpmc controller, mmc controllers are configured.. it is more like an array of register values - you fill them up with the correct values, and store the load address you would like the resultant image to load up, bingo, we have the image booting off that location.. There are few of these structures that are defined in the TRM which has a detailed description on the real...

mtd partitions in u-boot

With the recent merge of mtdparts patch for beagleboard u-boot Texas Instruments X-Loader 1.4.2 (Jan 30 2009 - 19:16:17) Loading u-boot.bin from nand U-Boot 2009.03-00325-gf75a729 (Apr 09 2009 - 13:36:05) OMAP3530-GP rev 2, CPU-OPP2 L3-165MHz OMAP3 Beagle board + LPDDR/NAND DRAM: 256 MB NAND: 256 MiB In: serial Out: serial Err: serial Board revision C Die ID #0a8600030000000004013f780600a00e OMAP3 beagleboard.org # you can now do cool things without having to remember the offsets of which partition was where.... (lets say you want to copy the kernel to nand flash) Step1: setup the partitions OMAP3 beagleboard.org # mtdparts default Step 2: erase the nand flash for kernel partition OMAP3 beagleboard.org # nand erase kernel NAND erase: device 0 offset 0x280000, size 0x400000 Erasing at 0x660000 -- 100% complete. OK Step 3: copy the kernel from RAM to the kernel partition in nand flash: OMAP3 beagleboard.org # nand write 0x80000000 kernel NAND write: device 0 offset 0x280000, si...

OMAP support in U-boot-v1

Finally! After months of effort by many, mostly Dirk driving hard, we have omap3 support in: a) beagleboard b) overo c) evm d) pandora e) zoom1. This should ideally make omapzoom git based u-boo t redundant. Lets see if this happens in the upcoming days.. v2009.02 will have official support :).. Hip Hip Hooraah!!

beagleboard recovery take 2

[2013-03-06 update]: after a few years of letting things rot, I just managed to pick up my old binaries and gave it a dry run: https://github.com/nmenon/beagle-recover  has the original working binaries since the google groups link no longer work. NOTE: I HAVE NOT TRIED WITH ANY OF THE LATEST SOURCES. I do not have plans to do so in the future as well  - an quick try indicated things are broke :( [Original post] http://groups.google.com/group/beagleboard/web/beagle_recover.tar.bz2 has the recovery package ready to go for ubuntu 8.04 32bit OS: download this, run sudo ./recover_beagle.sh - as shown in the video... Steps summary: 1. first shutdown the board. 2. run 'sudo recover_beagle.sh /dev/ttyUSB0' in a terminal -> you need super user permissions(sudo permissions) to run this script. 3. Keep the pushbutton S1pressed while powering on the board -> there are two white push button switches, use the one closer to the edge of the board NOTE: if your nand is com...

Towards creating a beagleboard NAND recovery script

NOTE: This is a work in progress yet.. Get Code base: x-loader: git clone git://www.sakoman.net/git/x-load-omap3.git u-boot-v1 - omap3: git clone git://www.sakoman.net/git/u-boot-omap3.git cd u-boot-omap3 git checkout --track -b omap3-dev origin/omap3-dev Updated: see here if this did not work.. u-boot-v2: git clone git://git.denx.de/u-boot-v2.git omap-uboot-utils: git clone git://github.com/nmenon/omap-u-boot-utils.git signGP tool: wget http://beagleboard.googlecode.com/files/signGP.c Compilers: Cross compiler: arm-none-eabi-gcc: 2007q3-53 (4.2.1) Host compiler: x64bit: (Ubuntu 4.3.2-1ubuntu11) Build commands: Before starting the build process, lets set up a simple alias command: alias mymake='make ARCH=arm CROSS_COMPILE=arm-none-eabi- V=1' U-boot-arm: mymake omap3_beagle_config mymake U-Boot-v2: mymake omap3530_beagle_per_uart_defconfig mymake X-Loader: mymake omap3530beagle_config mymake [Update: 2008-12-13 - I completely forgot that we need to sign an image for it to boot ...

omap-uboot-utils supports usb2serial device

It has been a long time desire to use usb2serial convertors for pserial application. :(.. Anyways, yesterday night, I looped back my usb2serial back to my PCI serial port and tried to write a bit of loopback code.. to figure out the issue with pserial, I wrote a simple little app to print the ttySx flags: #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <termios.h> #include <stdio.h> #include <string.h> #include <unistd.h> #include <errno.h> /************* VARS ***************/ static int fd; static struct termios oldtio; int main(int argc,char * argv[]) { int ret; int i; if (argc!=2){ printf ( "error no args..%d\n" ,argc); return 1; } printf ( "port: %s\n" ,argv[1]); fd = open(argv[1], O_RDWR | O_NOCTTY); if (!fd) { printf( "terminal is not open!\n" ); return 1; } /* sa...

Low cost Jtag for beagle

Image
In the quest for a proper debug tool.. printfs have been my friend so far.. but printfs cannot help in many cases optimally.. JTAG is the right solution for such cases. keesj and I have been independently working on getting openocd working with flyswatter . http://elinux.org/BeagleBoardJTAG is the starting point in this quest! join us, provide your thoughts etc.. [ Update : Sept 3, 2008: 1. keesj has mailed an excellent report to the beagleboard list on his progress on the JTAG saga. Read about it here (excellent job Kees :) ). 2. As pointed by keesj, tincan tools have the adapter on the product page ] Today, the thought has been in creating a jtag debugger convertor - given that "ARM standard" and "TI standard" are not 1-1! Note: Tincan tools is planning on making a more professional connector than "mine" and most probably will work.. one thing I can say for sure.. OMAP still works after plugging this in.. and I can probe the chip ID from openocd we...

omap u-boot-utilities released!!

Finally, it is out.. nothing great as of each of the tools.. but these are handy little blokes to have around.. see the announce here Links to the project sites: * Source Code hosting: Git Hub http://github.com/nmenon/omap-u-boot-utils/ * Binaries, Defect tracking and Documentation: code.google.com - http://code.google.com/p/omap-u-boot-utils/ pserial history: They started off coz, I wanted something to work on windows and Linux equally well and I had nothing on hand.. the first app I ever wrote in this thread of thought was the perl script here . Now, perl is good but it can turn ugly too- esp for a new guy poking around.. hence wanted a pserial with a c version. While, doing that with windows, I set myself some weird targets: a) I will not use cygwin or vmware -> I wanted folks to use the exes without worrying about where the lib files should be got from! b) It will provide the user apis to be as similar as possible. I ended up with MingW compiler for windows, and the usual...

How to make a bootable MMC card on Linux for BeagleBoard (using gparted)

Image
H/w I have: a) Beagle board rev A5 b) a 512Meg Micro SD card with adapter c) USB2Serial convertor (my laptop docking station has a PCI UART, but I hardly ever use docking stations) d) card reader Objective use the UI tools in Linux as much as possible to boot mmc card on beagleboard. Step 1: getting to know the usb sd/mmc card reader device: plugin the reader and run dmesg E.g.: [50306.414076] sd 6:0:0:0: [sdb] 254208 512-byte hardware sectors (130 MB) [50306.419071] sd 6:0:0:0: [sdb] Write Protect is off [50306.419080] sd 6:0:0:0: [sdb] Mode Sense: 03 00 00 00 [50306.419084] sd 6:0:0:0: [sdb] Assuming drive cache: write through [50306.431052] sd 6:0:0:0: [sdb] 254208 512-byte hardware sectors (130 MB) [50306.436051] sd 6:0:0:0: [sdb] Write Protect is off [50306.436059] sd 6:0:0:0: [sdb] Mode Sense: 03 00 00 00 [50306.436063] sd 6:0:0:0: [sdb] Assuming drive cache: write through [50306.436071] sdb: [50306.442153] sd 6:0:0:0: [sdb] Attached SCSI removable disk [50306.442235] sd 6:0:0:0...

Beagle Board Demo Images

Koen has put up demo images for beagleboard here: http://amethyst.openembedded.net/~koen/beagleboard/demo/

Free TI DSP C64x compiler for Linux

Thanks to Dirk Behme, this news is very interesting. Here is the link to the discussion and here is the link to download .

Odyssey of a JTAG less debug!

Kinda perked by Dirk's interest in getting a simple blinking led working on beagle over usb/uart, i started off with bare minimum code.. but then, when u download an image and expect it to boot, and it does not, there are millions of places it can go wrong.. It was interesting to think back to the days when I wrote the first lines of sdp2430 u-boot port.. It used to be on Virtio then.. But, having faced similar issues while working in a certain module in CSST, I knew it was not something I would want to do every day - a good challenge though. The fav trick of mine is to use hang code. usually on SDP, I'd add code to show something on 2 line char LCD.. but the entire idea was to get LED glowing.. getting thru the initial points of setting CPSR was standard omap boot process.. WDT was also easy to think out on.. the ones that did stump me were: a) LED lines shorted on the board for me: I tried GPIO5 out bits 19->22 and i kept seeing the LED glow for 21 and 22 -> bad part -...

Dreamer Dream on....

Imagine spending time b/w 11pm and 3 am dreaming about embedded computing (as opposed to mobile computing) - technology and hardware is available today I was given a http://beagleboard.org/ and am now spending time dreaming about using the tiny computing powerpack and unable to sleep.. kinda wierd.. but then.. imagine this: linux+android(?) running over s-video on a http://www.i-glassesstore.com/ and a headset to give commands, my GPS +USB wlan+ webcam plugged over USB - if i can get http://cmusphinx.sourceforge.net/html/cmusphinx.php to work on omap3430, the possibilities are awesome... no more cellphones! i can even think of stereoscopic vision(using the additional dvi output). pure open source and free - covering sight, hearing (I cant do much about touch,smell and taste ;) ). but that should account for a pseudo virtual-real world embedded human-machine combination.. i guess i am truely rambling on.. but i am going to give it a shot and see how far i can get..