This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Writing AM1808 EXP applications.

Other Parts Discussed in Thread: AM1808, OMAP-L138, DA8XX, PMP

Hello!

I have bought an AM1808 EXP board and I could verify that the default
linux SD card boots correctly.
Now I would like to write programs that I could launch at start instead
of the default matrix_guiE. I have a few questions:


1. How is the autostart of an application configured? I mean: matrix_guiE
starts at boot, so I thought there must be some configuration file where
I could find a reference to /usr/bin/matrix_guiE, but apparently it's
something else. Could anybody explain me how it is configured?

2. When trying to install ti-sdk-arm180x-avm-4.0.1.0, I got a warning panel
that I should first install codesourcery tools, a quite old version from
2009 and no other. Is there anything against installing a more recent version?
I noticed the last one was released in 2011. Is it worth upgrading? What features
would it bring? (or what bug would it solve?)

3. When running make from ti-sdk-arm180x-avm-4.0.1.0, the system compiles
apparently everything. When I recompiled, I got a fresh version of matrix_gui
(not guiE). I renamed the original, copied the fresh version to the same
location of the SD card and then could verify that it works just the same.
I didn't test everything but it looks the same. However, matrix_gui weights
105 kBytes while the original version was only about 50 k. Any idea about
the difference?

Thanks,

Pascal

  • Hi, Pascal.

    1. You should explore '/etc/rc2.d' and '/etc/init.d' dirrectories on root filesystem for AM1808 EXP. File '/etc/init.d/matrix-gui-2.0' (or something like) and simbolic link to it in '/etc/rc2.d' (looks like '/etc/rc2.d/S97matrix-gui-2.0') are responsible for autostarting application.

    See http://man-wiki.net/index.php/7:init.d for more detals.

    2. Anywhere better use fresh releases of tool-chain. For simple application development with usage of most common libraries and syscalls, older builds of tool-chain quite applicable. But ever comes a time, when your application fails to build with some strange error-messages from ld or gcc, and you'll become googling, reading mailing lists and so on... And, at the end you will find the answer for you question, and it will be: "Update you deprecated tool-chain".

    3. The same compiler with the same source,the same compiler/linker options and the same libraries produce the same binaries. Ordinarily, high difference between size of binaries means different targets, often named as "release" and "debug". In the simplest case, difference is in '-g' option for gcc, that means "produce debugging information".

    Best regards,

    Denis Kholodkov.

  • Hello Denis,

    Sorry for the delay.

    1. As for my 1st question, it works. Thanks.

    2. I was asking this question because TI installer says explicitely that I should install the 2009 version.

    3. OK, I guess there must be something different. I thought that maybe in one case, some unused functions are not stripped...

    ------

    Again on question 2.

    - I have downloaded what I believe is the last version of codesourcery tools.

    - I have removed the ti sdk folder that was in my home directory

    - I have tried to reinstall using ti-sdk-am180x-evm-4.0.1.0-Linux-x86-Install

    But when doing so I get a message like arm-none-linux-gnueabi-gcc not found in /opt/codesourcery/arm-2012.03

    Indeed, the name changed, in the 2009 version the prefix for all the executables is arm-none-linux-gnueabi,

    but in the new packages, it is arm-none-eabi. I have tried to change all the prefixes to be like in the 2009 version,

    but now it says "cross compiler is not the right version (2009q1-203) Get tools from here, etc, etc...

    Now my question:

    Is ther any new package installer that replaces ti-sdk-am180x-evm-4.0.1.0-Linux-x86-Install and compatible

    with the newer tools? If yes, where can I download it from?

    Thanks,

    Pascal

  • Hello, Paskal.

    Pascal4275 said:
    but in the new packages, it is arm-none-eab

    I suppose, that you have downloaded not that you really need... You shold select Download the GNU/Linux Release at this page. And prefix for all bin's will be arm-none-linux-gnueabi.

    Pascal4275 said:
    Is ther any new package installer that replaces ti-sdk-am180x-evm-4.0.1.0-Linux-x86-Install and compatible

    By following this link, you  can find ti-sdk-am180x-evm-05.05.00. I still have not tested it yet, but now I am working with 05.02.00 release.

    Best regards,

    Denis Kholodkov.

  • Helli Denis!

    Thanks for your reply. I have just downloaded and installed the 05.05 version right now.

    Apparently the tools are in the package, so that I don't need to care about codesourcery anymore.

    I will try to compile the kernel and see what happens.

    What I got now is a working board. I mean: it works with the SDcard delivered with it. It boots directly and launches

    a demo application. I'm thinking about recompiling the kernel, then move the fresh compiled uImage to the sd card

    and it should work as is, right? In fact I have cloned the original SD card so that there is no risk of destroying a working

    configuration.

    I'll report what happens.

    Pascal

  • In developing you custom Linux distro, the best way  is downloading kernel image through tftp and attaching rootfs via NFS. You'll save more time.

  • Hello!

    Thanks  for your reply.

    I agree that it would be faster. But right now I am just starting with a working board which boots from SD

    card, so for the first experiment, the easiest way (I think) is to replace the uImage on that card with

    the kernel I just compiled. Once I know that everything compiles and works like it used to be, I can

    move forward to other boot methods. But... back to my question: if I install the new package (I am just

    installing it right now) and compile without modification, the new uImage should work, right?

    Thanks,

    Pascal

  • Anything can happen...

  • Hello!

    Here is a report of what I did. Indeed, anything can happen...

    I downloaded the latest version of the SDK (ti-sdk-am180x-evm-05.05.00.00-Linux-x86-Install) and installed it.

    Apparently, the tools that were previously provided by codesourcery are includes and are in the linux_devkit directory.

    Therefore I added export PATH=/home/pascal/ti-sdk-am180x-evm-05.05.00.00/ linux_devkit/bin:$PATH to my .bashrc,

    and removed the previous one that was working with codesourcery 2009.

    So to summarize:

    1. Install and set the path.

    2. Run setup.sh as indicated in the installer. Running the script consist mostily in entering the sudo password, and

    setting a few parameters. TFTP was set to /srv/TFTP, serial port was left as is (/dev/ttyS0). Then I choosed SD card

    and skipped minicom since I use picocom.

    3. As I was using this guide :http://processors.wiki.ti.com/index.php/AMSDK_Linux_User's_Guide, I tried to rune

    make mproper. This guide is not clear about what I should run and from where. I tried from ~/ti-sdk-am180x-evm-05.05.00.00/)

    (hereafter "TI_SDK" and from ~/ti-sdk-am180x-evm-05.05.00.00/board-support/linux-2.6.37-psp03.21.00.04.sdk (hereafter

    LINUX_SDK).

    From TI_SDK, I could successfully run make linux_clean

    Then I tried make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- tisdk_am180x-evm_defconfig from LINUX_SDK.

    It copied the file to .config.

    5. Back to TI_SDK, I ran "make linux". Apparently it does something. It runes for a while and exits apparently without error

    (although I wasn't fast enough to read every line it spits).

    I could find a newly created uImage.

    6 I cloned the SD card that comes with the EVM (and that runs fine), and replaced the uImage.

    7. Boot time. The system starts uBoot and then boots the kernel. Apparently it does something, the LCD becomes white,

    and the terminal displays some boot information.

    But when I logged to the board as root, it seems that board and PC's UARTs do not run at the same speed.

    I hooked a scope to see the information when booting, and indeed, instead of 115 bps, the board talks

    to Ubuntu at a strange rate around 92 kbps.

    That's about it. There are so many errors when typing that it is almost impossible to issue a decent command.

    Sometimes there are 2 right characters in a row, then a wrong character comes.

    Is there any problem in my method of replacing the uImage in the SD card?

    Any idea about what happens?

    Thanks,

    Pascal

  • Hi, Pascal.

    Perform following steps:

    1. Reset board and stop u-boot autoboot;

    2. Send command "printenv bootargs";

    3. Publish output here.

  • Hello Denis!

    Thanks for your reply!

    I found out why the default application did not start: I ran "boot" from uboot. If I reset and don't interrupt autoboot,

    the demonstration runs fine. Can anybody explain me that? I tried to boot (from uBoot) with arguments, but apparently

    the only possibility is 'boot'. Well, I just restart with reset. So basically it runs fine from the fresh compiled uImage

    except that there is this baud rate problem. Is there a way to fix this problem? I suppose that if it was once configured

    for a different processor frequency, then the UART itself ends up with a bad baud rate, so I guess it's just a matter

    of configuration.

    Here are my bootargs.

    U-Boot > printenv
    ethaddr=00:08:ee:05:97:a7
    bootdelay=4
    baudrate=115200
    oldbootargs=console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootwait ip=off
    bootcmd=mmc rescan 0; fatload mmc 0 0xc0700000 uImage; bootm 0xc0700000
    autoload=no
    bootfile=uImage
    ipaddr=192.168.24.69
    dnsip=192.168.24.1
    serverip=192.168.24.66
    bootargs=console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootwait ip=off
    stdin=serial
    stdout=serial
    stderr=serial
    ver=U-Boot 2009.11 (Apr 15 2011 - 13:22:24)

    Thanks,

    Pascal

  • [[quote user="Pascal4275"]

    the LCD becomes white,

    and the terminal displays some boot information.

    [/quote]

    Is there any errors in output, I mean serial-communication errors like garbage symbols or something else?

  • Hello!

    Thanks for your reply.

    Apparently the freshly compiled kernel succeds or fails randomly to run the default GUI demonstration.

    After a few more tests, I found out that there are a few patterns of failure (white screen, black screen,

    striped gray screen).

    In any case (even when the GUI application successfully starts), it's not possible to log in.

    The terminal echoes trash characters.

    But the output intile "am180x-evm login" is absolutely constant, without any trash characters (I have attached

    an example hereafter). Only the boot time stamp changes . Maybe because the ubuntu serial drivers is

    more error resilient, so what the board sends to the PC is understood even if the speed is not standard,

    but what the PC says is not necessarily understood by the board.

    Where does the baud rate setup happen?

    Pascal

    --------- Attachment 1 ----------------------

    Booting with TI UBL
    Device OPP (456MHz, 1.3V)

    U-Boot 2009.11 (Apr 15 2011 - 13:22:24)

    I2C:   ready
    DRAM:  64 MB
    MMC:   davinci: 0
    In:    serial
    Out:   serial
    Err:   serial
    ARM Clock : 456000000 Hz
    DDR Clock : 132000000 Hz
    Net:   Ethernet PHY: GENERIC @ 0x00

    Hit any key to stop autoboot:  0
    reading uImage

    2296280 bytes read
    ## Booting kernel from Legacy Image at c0700000 ...
       Image Name:   Linux-2.6.37
       Image Type:   ARM Linux Kernel Image (uncompressed)
       Data Size:    2296216 Bytes =  2.2 MB
       Load Address: c0008000
       Entry Point:  c0008000
       Verifying Checksum ... OK
       Loading Kernel Image ... OK
    OK

    Starting kernel ...

    Uncompressing Linux... done, booting the kernel.
    Linux version 2.6.37 (pascal@pascal-System-Product-Name) (gcc version 4.5.3 20110311 (prerelease) (GCC) ) #4 PREEMPT Fri Oct 5 12:11:03 JST 2012
    CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
    CPU: VIVT data cache, VIVT instruction cache
    Machine: DaVinci DA850/OMAP-L138/AM18x EVM
    Memory policy: ECC disabled, Data cache writeback
    DaVinci da850/omap-l138/am18x variant 0x1
    Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256
    Kernel command line: console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootwait ip=off
    PID hash table entries: 256 (order: -2, 1024 bytes)
    Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
    Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
    Memory: 64MB = 64MB total
    Memory: 60080k/60080k available, 5456k reserved, 0K highmem
    Virtual kernel memory layout:
        vector  : 0xffff0000 - 0xffff1000   (   4 kB)
        fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
        DMA     : 0xff000000 - 0xffe00000   (  14 MB)
        vmalloc : 0xc4800000 - 0xfea00000   ( 930 MB)
        lowmem  : 0xc0000000 - 0xc4000000   (  64 MB)
        modules : 0xbf000000 - 0xc0000000   (  16 MB)
          .init : 0xc0008000 - 0xc002d000   ( 148 kB)
          .text : 0xc002d000 - 0xc046d000   (4352 kB)
          .data : 0xc046e000 - 0xc049b300   ( 181 kB)
    SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
    Preemptable hierarchical RCU implementation.
        RCU-based detection of stalled CPUs is disabled.
        Verbose stalled-CPUs detection is disabled.
    NR_IRQS:245
    Console: colour dummy device 80x30
    Calibrating delay loop... 226.91 BogoMIPS (lpj=1134592)
    pid_max: default: 32768 minimum: 301
    Security Framework initialized
    Mount-cache hash table entries: 512
    CPU: Testing write buffer coherency: ok
    devtmpfs: initialized
    DaVinci: 144 gpio irqs
    regulator: core version 0.5
    regulator: dummy:
    NET: Registered protocol family 16
    WARNING: both McASP and McBSP are enabled, but they share pins.
        Only McASP will work. If you want McBSP support, disable McASP.
    WARNING: both McASP and UART1_AFE are enabled, but they share pins.
        Disable one of them.
    da850_evm_init: eHRPWM module 0 cannot be used since it is being used by MII interface
    da850_evm_init: eHRPWM module1 outputA cannot be used since it is being used by LCD
    da850_evm_init: eHRPWM module1 outputB cannot be used since it is being used by spi1
    bio: create slab <bio-0> at 0
    SCSI subsystem initialized
    usbcore: registered new interface driver usbfs
    usbcore: registered new interface driver hub
    usbcore: registered new device driver usb
    pca953x 1-0020: failed reading register
    pca953x 1-0021: interrupt support not compiled in
    regulator: VDCDC1: 3200 <--> 3300 mV at 3300 mV
    regulator: VDCDC2: 1750 <--> 3300 mV at 3300 mV
    regulator: VDCDC3: 950 <--> 1350 mV at 1300 mV
    regulator: LDO1: 1800 mV
    regulator: LDO2: 1150 <--> 1300 mV at 1200 mV
    i2c-gpio i2c-gpio.1: using pins 20 (SDA) and 21 (SCL)
    Advanced Linux Sound Architecture Driver Version 1.0.23.
    Switching to clocksource timer0_1
    musb-hdrc: version 6.0, host, debug=0
    musb-hdrc musb-hdrc: dma type: pio
    Waiting for USB PHY clock good...
    musb-hdrc musb-hdrc: MUSB HDRC host driver
    musb-hdrc musb-hdrc: new USB bus registered, assigned bus number 1
    hub 1-0:1.0: USB hub found
    hub 1-0:1.0: 1 port detected
    musb-hdrc musb-hdrc: USB Host mode controller at fee00000 using PIO, IRQ 58
    NET: Registered protocol family 2
    IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
    TCP established hash table entries: 2048 (order: 2, 16384 bytes)
    TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
    TCP: Hash tables configured (established 2048 bind 2048)
    TCP reno registered
    UDP hash table entries: 256 (order: 0, 4096 bytes)
    UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    NET: Registered protocol family 1
    RPC: Registered udp transport module.
    RPC: Registered tcp transport module.
    RPC: Registered tcp NFSv4.1 backchannel transport module.
    EMAC: MII PHY configured, RMII PHY will not be functional
    McBSP:Probed McBSP1
    JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
    msgmni has been set to 117
    Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
    io scheduler noop registered (default)
    da8xx_lcdc da8xx_lcdc.0: GLCD: Found Sharp_LK043T1DG01 panel
    Console: switching to colour frame buffer device 60x34
    Serial: 8250/16550 driver, 3 ports, IRQ sharing disabled
    serial8250.0: ttyS0 at MMIO 0x1c42000 (irq = 25) is a AR7
    serial8250.0: ttyS1 at MMIO 0x1d0c000 (irq = 53) is a AR7
    serial8250.0: ttyS2 at MMIO 0x1d0d000 (irq = 61) is a AR7
    console [ttyS2] enabled
    brd: module loaded
    at24 1-0050: 32768 byte 24c256 EEPROM (writable)
    ahci ahci: forcing PORTS_IMPL to 0x1
    ahci ahci: AHCI 0001.0100 32 slots 1 ports 3 Gbps 0x1 impl platform mode
    ahci ahci: flags: ncq sntf pm led clo only pmp pio slum part ccc
    scsi0 : ahci_platform
    ata1: SATA max UDMA/133 mmio [mem 0x01e18000-0x01e19fff] port 0x100 irq 67
    spi_davinci spi_davinci.1: DMA: supported
    spi_davinci spi_davinci.1: DMA: RX channel: 18, TX channel: 19, event queue: 0
    m25p80 spi1.0: m25p64 (8192 Kbytes)
    Creating 6 MTD partitions on "m25p80":
    0x000000000000-0x000000010000 : "UBL"
    0x000000010000-0x000000090000 : "U-Boot"
    0x000000090000-0x0000000a0000 : "U-Boot-Env"
    0x0000000a0000-0x000000320000 : "Kernel"
    0x000000320000-0x000000720000 : "Filesystem"
    0x0000007f0000-0x000000800000 : "MAC-Address"
    Read MAC addr from SPI Flash: 00:08:ee:05:97:a7
    spi_davinci spi_davinci.1: Controller at 0xfef0e000
    davinci_mdio davinci_mdio.0: davinci mdio revision 1.5
    davinci_mdio davinci_mdio.0: detected phy mask fffffffe
    davinci_mdio.0: probed
    davinci_mdio davinci_mdio.0: phy[0]: device 0:00, driver SMSC LAN8710/LAN8720
    console [netcon0] enabled
    netconsole: network logging started
    ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
    ohci ohci.0: DA8xx OHCI
    ohci ohci.0: new USB bus registered, assigned bus number 2
    Waiting for USB PHY clock good...
    ohci ohci.0: irq 59, io mem 0x01e25000
    hub 2-0:1.0: USB hub found
    hub 2-0:1.0: 1 port detected
    Initializing USB Mass Storage driver...
    usbcore: registered new interface driver usb-storage
    USB Mass Storage support registered.
    mice: PS/2 mouse device common for all mice
    input: gpio-keys-polled as /devices/platform/gpio-keys-polled.1/input/input0
    input: TPS6507x Touchscreen as /devices/platform/i2c-gpio.1/i2c-1/1-0048/input/input1
    omap_rtc omap_rtc: rtc core: registered omap_rtc as rtc0
    omap_rtc: RTC power up reset detected
    omap_rtc: already running
    i2c /dev entries driver
    watchdog watchdog: heartbeat 60 sec
    cpuidle: using governor ladder
    cpuidle: using governor menu
    davinci_mmc davinci_mmc.0: Using DMA, 4-bit mode
    davinci_mmc davinci_mmc.1: Using DMA, 4-bit mode
    usbcore: registered new interface driver usbhid
    usbhid: USB HID core driver
    ata1: SATA link down (SStatus 0 SControl 300)
    usbcore: registered new interface driver snd-usb-audio
    1-0018 supply IOVDD not found, using dummy regulator
    1-0018 supply DVDD not found, using dummy regulator
    1-0018 supply AVDD not found, using dummy regulator
    1-0018 supply DRVDD not found, using dummy regulator
    asoc: tlv320aic3x-hifi <-> davinci-mcasp.0 mapping ok
    ALSA device list:
      #0: DA850/OMAP-L138 EVM
    oprofile: hardware counters not available
    oprofile: using timer interrupt.
    mmc0: new high speed SDHC card at address b368
    mmcblk0: mmc0:b368 SD04G 3.66 GiB
    nf_conntrack version 0.5.0 (938 buckets, 3752 max)
     mmcblk0: p1 p2 p3
    mmcblk0: p3 size 5783400 extends beyond EOD, truncated
    ip_tables: (C) 2000-2006 Netfilter Core Team
    TCP cubic registered
    NET: Registered protocol family 17
    regulator_init_complete: incomplete constraints, leaving LDO2 on
    regulator_init_complete: incomplete constraints, leaving LDO1 on
    regulator_init_complete: incomplete constraints, leaving VDCDC3 on
    regulator_init_complete: incomplete constraints, leaving VDCDC2 on
    regulator_init_complete: incomplete constraints, leaving VDCDC1 on
    omap_rtc omap_rtc: setting system clock to 2011-04-15 05:06:07 UTC (1302843967)
    EXT3-fs: barriers not enabled
    EXT3-fs (mmcblk0p2): warning: maximal mount count reached, running e2fsck is recommended
    kjournald starting.  Commit interval 5 seconds

    EXT3-fs (mmcblk0p2): using internal journal
    EXT3-fs (mmcblk0p2): recovery complete
    EXT3-fs (mmcblk0p2): mounted filesystem with writeback data mode
    VFS: Mounted root (ext3 filesystem) on device 179:2.
    devtmpfs: mounted
    Freeing init memory: 148K
    INIT: version 2.86 booting
    Please wait: booting...
    Starting udev
    udevd (84): /proc/84/oom_adj is deprecated, please use /proc/84/oom_score_adj instead.
    udev: starting version 141
    Remounting root file system...
    Caching udev devnodes
    Populating dev cacheEXT3-fs: barriers not enabled
    EXT3-fs (mmcblk0p3): warning: maximal mount count reached, running e2fsck is recommended
    kjournald starting.  Commit interval 5 seconds

    EXT3-fs (mmcblk0p3): using internal journal
    EXT3-fs (mmcblk0p3): recovery complete
    EXT3-fs (mmcblk0p3): mounted filesystem with writeback data mode
    mv: cannot rename '/tmp/devices': No such file or directory
    logger: mount: mount point /proc/bus/usb does not exist
    ALSA: Restoring mixer settings...
    No state is present for card EVM
    Found hardware: "" "" "" "" ""
    Hardware is initialized using a generic method
    No state is present for card EVM
    Configuring network interfaces... davinci_mdio davinci_mdio.0: resetting idled controller
    net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=0:00, id=7c0f1)
    udhcpc (v1.13.2) started
    Sending discover...
    PHY: 0:00 - Link is Up - 100/Full
    Sending discover...
    Sending select for 192.168.24.69...
    Lease of 192.168.24.69 obtained, lease time 3600
    adding dns 192.168.24.1
    done.
    Setting up IP spoofing protection: rp_filter.
    INIT: Entering runlevel: 5
    Starting system message bus: dbus.
    Starting Dropbear SSH server: dropbear.
    Starting telnet daemon.
    Starting syslogd/klogd: done
    Starting thttpd.
    Starting Matrix GUI application.

     _____                    _____           _         _   
    |  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
    |     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
    |__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|  
                  |___|                    |___|            

    Arago Project http://arago-project.org am180x-evm ttyS2

    Arago 2011.02 am180x-evm ttyS2

    am180x-evm login:

  • Follow this steps:

    1. Mount your SD via cardreader to PC.

    2. explore /etc/init.d directory, You will find something like rmlogin - it is a script responsible for starting login and shell on console.

    3. open it in editor, and find row contains "getty" word. It should be some parameters, after this word, for example "-L ttyS2 115200 vt100". If the reason on wrong getty call,I think you'll guess which parameter need to be corrected.

  • Hello Denis!

    Thanks for your reply.

    I went to /media/rootfs/etc/initd

    Ther is no file called rmlogin. There is a rmnologin, but apparently not related.

    I have also tried to fined occurences of getty (none), or plain tty (there are some, but no setup of baud rate).

    Grepping for 115200 does not give any result either and same for n8 (usually noparity 8-bit).

    I moved then to rootfs and tried to find 115200:

    etc/udev/saved.cmdline:console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootwait ip=off
    etc/inittab:S:2345:respawn:/sbin/getty 115200 ttyS2

    Now I may be wrong on this one, but I think the problem has to be in uImage, not in the root file

    system. If I use the original uImage, then everything works fine, no trash character echoed.

    And if I replace uImage with a fresh compiled uImage, then I run into trouble. Therefore there is something

    wrong in the kernel compilation itself.

    Thanks a lot for your patience.

    Pascal

    -------------------------- output -----------------------

    pascal:/media/rootfs/etc/init.d$ grep tty *
    bootmisc.sh:if ( ! grep -q devfs /proc/mounts ) && test -c /dev/ttyp0
    bootmisc.sh:    chmod 666 /dev/tty[p-za-e][0-9a-f]
    bootmisc.sh:    chown root:tty /dev/tty[p-za-e][0-9a-f]
    checkroot:        roottype="$type"
    checkroot:            if ! test -x "/sbin/fsck.${roottype}"
    checkroot:                echo -e "\n * * * WARNING: /sbin/fsck.${roottype} is missing! * * *\n"
    populate-volatile.sh:    chown ${TUSER}.${TGROUP} $1 || echo \"Failed to set owner -${TUSER}- for -$1-.\" >/dev/tty0 2>&1;
    populate-volatile.sh:    chmod ${TMODE} $1 || echo \"Failed to set mode -${TMODE}- for -$1-.\" >/dev/tty0 2>&1 "
    populate-volatile.sh:    chown ${TUSER}.${TGROUP} $1 || echo \"Failed to set owner -${TUSER}- for -$1-.\" >/dev/tty0 2>&1;
    populate-volatile.sh:    chmod ${TMODE} $1 || echo \"Failed to set mode -${TMODE}- for -$1-.\" >/dev/tty0 2>&1 "
    populate-volatile.sh:    EXEC="test -e \"$2\" -o -L $2 || ln -s \"$1\" \"$2\" >/dev/tty0 2>&1"
    rc:  stty onlcr 0>&1
    udev:            /sbin/udevadm trigger --subsystem-nomatch=tty --subsystem-nomatch=mem --subsystem-nomatch=vc --subsystem-nomatch=vtconsole --subsystem-nomatch=misc --subsystem-nomatch=dcon --subsystem-nomatch=pci_bus  --subsystem-nomatch=graphics  --subsystem-nomatch=backlight --subsystem-nomatch=video4linux  --subsystem-nomatch=platform
    pascal:/media/rootfs/etc/init.d$ grep 115200 *
    pascal:/media/rootfs/etc/init.d$ grep n8 *
    pascal:/media/rootfs/etc/init.d$