[Angstrom-devel] AM1808
Koen Kooi
koen at dominion.thruhere.net
Tue Jul 19 13:37:28 CEST 2011
Op 19 jul 2011, om 13:14 heeft Michael Schnell het volgende geschreven:
> On 07/19/2011 12:16 PM, Koen Kooi wrote:
>>
>> Over here at angstrom we suggest angstrom :)
>>
> Yep. As I am new to angstrom. I) wanted to make sure that it's suitable for embedded controllers with AM1808 or AM 335x
>
>> Does it really only have 32M or is that artificially limited by uboot setting mem=32M?
> The hardware is: http://www.logicpd.com/products/system-modules/texas-instruments-omap-l138-som-m1#tabs-som-2
>
> Here they say it's either 64 or 128 MB
>
> but on the command line I get
>
> root at da850-omapl138-evm:~# cat /proc/meminfo
> MemTotal: 28120 kB
[..]
> So maybe it in fact memory artificially limited. What to do about this ? (I'm new to uboot, too.)
If you attach a serial console and go into uboot you can do the following (hawkboard has a AM1808 as well):
U-Boot 2009.01-dirty (Nov 18 2009 - 23:30:48)
DRAM: 128 MB
NAND: NAND device: Manufacturer ID: 0x2c, Chip ID: 0xa1 (Micron NAND 128MiB 1,8V 8-bit)
[..]
hawkboard.org > print bootargs
bootargs=console=ttyS2,115200n8 root=/dev/mmcblk0p1 rw rootwait mem=64M
And here we see that while 128MB is installed (the DRAM: line) linux only gets to see 64M (the mem= part), to fix that, do:
hawkboard.org > setenv bootargs 'bootargs=console=ttyS2,115200n8 root=/dev/mmcblk0p1 rw rootwait mem=128M'
hawkboard.org > saveenv
Saving Environment to NAND...
Erasing Nand...
Erasing at 0x0 -- 100% complete.
Writing to Nand... done
hawkboard.org >
In your case you might see 'DRAM: 64MB' and need to pass in mem=64M, but you get the general idea.
>> The board distributor and/or vendor installed angstrom on their own, so I don't know which version is on there and if there were some "improvements" made by the vendor. I'd suggest going to
>> http://narcissus.angstrom-distribution.org/
>> And building a new image for the 'da850-omapl138-evm' machine (which matches your evm).
> I'll try to do this. But I suppose this will not take care of any uboot issues. Moreover I suppose I need to persuade uboot to install the new Kernel. Right now I don't know how to do this.
>>> (Question 2) How to use opkg on this device or upgrading the distribution (including the Kernel)l and installing additional packages (like audio and X)?
>> Normally it's a matter of 'opkg update ; opkg install foo',
> I did try both and got the said error message:
>
> root at da850-omapl138-evm:~# opkg install ppp
> Upgrading ppp on root from 2.4.3-r9.5 to 2.4.3-r9.6...
The r9.5 -> r9.6 shows that it tries to upgrade for a pretty old angstrom to a more recent one:
koen at dominion:/OE/angstrom-2008/sources/openembedded$ git blame conf/distro/angstrom-2008.1.conf | grep DISTRO_PR
56a7be99 (Koen Kooi 2010-09-07 15:03:44 +0200 18) DISTRO_PR = ".6"
So that's almost a year ago. Trying to update thru opkg would upgrade everything, so I'd advice generating a brand new image or ask logicPD if they have something more recent
> Downloading http://www.angstrom-distribution.org/feeds/unstable/ipk/glibc/armv5te/base/ppp_2.4.3-r9.6_armv5te.ipk.
> Collected errors:
> * gz_open: fork: Cannot allocate memory.
> * opkg_install_pkg: Failed to unpack control files from /tmp/opkg-GhmigW/ppp_2.4.3-r9.6_armv5te.ipk.
> * opkg_install_cmd: Cannot install package ppp.
That version of angstrom lacks the opkg low-mem fixes, so it failing on 32M is expected.
> you can see which packages are available at:
>> http://www.angstrom-distribution.org/repo/
> I did check this and found an impressive number :) .
>> Note that not all angstrom releases have the same packages available, but we do try.
> Obviously :) . That is why I at first tried to upgrade to the current version.
>>> I found that "lsmod" shows no loaded modules. But as busybox is configured to feature the module specific commands I suppose the distribution does support modules
>>> (Question 3) Can this system be enhanced with Kernel modules ? Why are no modules loaded after starting ?
>> Yes, and for the second question, I don't know about the "improvements" that were made on top of a standard angstrom.
> I see.
>>> We want to use I²S audio output. The kit does feature an I²S to analog converter.
>>> (Question 4) How to configure, use and test the audio output ?
>> No idea on that, sorry. I think that's a question for logicPD.
> Not exclusively. Of course a driver for the Chips I²S hardware is necessary. But as same is not specific to the PCB, but just to the TI-chip, I did hope it's included in one of the standard packages. AFAIK, the I²S to analog hardware in the board does not need any software support. But on top of the driver, I understand that I need to install the ALSA sub-system. And additionally, I need some user program that can output a sound just for testing. I hoped that these are standard issues that are covered by the distribution.
A distribution generally just integrates what is already out there. Angstrom is a bit of a special case since a lot of the developers either work for a silicon or board vendor or are consultants for such companies. If I2S is present on one of the logicPD daughterboards chances are good drivers are already there, but only for the specific codec on the daughterboards. For other codecs you might need to write some small ASoC glue.
>>> We want to use an LCD display (mainly for development and maintenance). The kit features a socket for the chip's LCD/Video pins. We are going to get an LCD panel to connect to the board or to find a converter that allows connecting some standard monitor.
>>> (Question 5) How to configure, use and test the LCD and/or Video output ?
>> No idea on that, sorry. I think that's a question for logicPD. I know that the stock LCD is supported by angstrom out of the box.
> Sounds good. Again I don't suppose that Logic PD has anything to do with this, as the PCB just routes the TI-chip's appropriate pins to a socket.
Thanks to things like pinmuxing that line is less clear than you might think :(
>>> We want to be able to run software that has a GUI.
>>> (Question 6) How to install a system that allows for running GUI software (X11, QT or GTK or ???, ...)
>> See my answers to question 1 and 2 :)
> So you suggest that X11 and (e.g.) GTK and whatever necessary are just packages that can be installed ?
Exactly. 32M is going to be really tight for running any reasonable gui in X11, it was already tight in 2003 when I started with X11 on arm and it's even tighter nowadays. Narcissus has a few predefined choices and will show the packages it will install on the screen, so you can install them manually as well. For small memory systems, try gpe, matchbox or enlightenment, gnome is way too heavy for that.
> Great !
>>> We want to be able to run the system without a monitor connected.
>>> (Question 7) How to install and use VNC (or whatever) to remote-control the GUI of a running program ?
>> For X11 you can install x11vnc and qt has a vnc plugin you can use, configuring those is a bit out of scope for angstrom, but let us know if you run into any troubles.
>
> I'll do some research on what x11vnc can do for me (I suppose this is an X11 server including a framebuffer integrate in vnc without needing video hardware ?) and what the qt vnc plugin is.
X11vnc hooks into an existing server as a client and can the started at will, so it's more flexible than the Xvnc way of doing it you mention.
More information about the Angstrom-distro-devel
mailing list