Join Today
+ Reply to Thread
Page 1 of 2 12 LastLast
Results 1 to 10 of 12
  1. #1

    Default can wasabi work for A1200?

    Hi, I tried wasabi intel xscale gnu tools to compile a simple application for my A1200.
    I use following command to build:
    xscale-elf-gcc -mcpu=iwmmxt -o hellomoto hellomoto.c

    but after I upload this test app to A1200, then telnet and run it under shell, I got "Illegal instruction" error.

    Can anyone tell me which compiler could work for A1200? Or what should I modify to make WASABI to work?

    thanks.

    # hellomoto.c is very simple that just do "printf(..)"

  2. #2

    Default Re: can wasabi work for A1200?

    Now I can run hellomoto on my A1200.
    I create crosstools with ezx-crosstool and the patch for it to update to crosstool 0.42 and fix PATH_MAX. I found the information at http://www.courville.org/mediawiki/index.php/EZX .

    My ENV:
    XP SP2
    cygwin 1.5.18
    gcc 3.4.4(cygming special)

    It's so exciting. Thanks openezx and lsb.

  3. #3
    Join Date
    Sep 2005
    Location
    Jakarta, Indonesia
    Posts
    1,091

    Default Re: can wasabi work for A1200?

    Congratulations! Waiting for your contributions here. Need a confirmation if ezx-devkit-0.2.0 by samr7 work on A1200. Thanks.
    eXMMS and Rockbox running on E680, E680i, E680g, A780, A1200 and ROKR E6

  4. #4

    Default Re: can wasabi work for A1200?

    Hi blackhawk.

    It seems dev-ezx-0.2.0 doesn't work for A1200.
    For several reasons, I changed my test environment to be debian linux, and rebuild all(crosstool). "hellomoto" test is re-compiled and works. After this, I copied the libs from A1200 to dev-ezx/lib, created .so links. There is no libs with -xscale-r suffix in A1200 lib files, and libezxnotification.so is missing. So I modified Makefile, helloworld could not be built.

    Here is the error information
    arm-linux-g++ helloworld.o -o helloworld -L../lib -L../lib/ezx/lib -lezxappbase -lqte-mt -lezxjpeg -Wl,-rpath,../lib/ezx/lib
    helloworld.o(.text+0x5c):../include/qt/qstring.h:655: undefined reference to `ZApplication::setMainWidget(QWidget*)'
    helloworld.o(.gnu.linkonce.r._ZTV8MyWidget+0x10): undefined reference to `ZMainWidget::event(QEvent*)'
    helloworld.o(.gnu.linkonce.r._ZTV8MyWidget+0x10c):/home/terry/moto/dev-ezx-0.2.0/helloworld/helloworld.cpp:79: undefined reference to `ZMainWidget::keyPressEvent(QKeyEvent*)'
    helloworld.o(.gnu.linkonce.r._ZTV8MyWidget+0x150):/home/terry/moto/dev-ezx-0.2.0/helloworld/helloworld.moc:54: undefined reference to `ZMainWidget::qwsEvent(QWSEvent*)'
    helloworld.o(.gnu.linkonce.r._ZTV8MyWidget+0x1a0):/home/terry/moto/dev-ezx-0.2.0/helloworld/helloworld.moc:59: undefined reference to `QWidget::globalRect()'
    helloworld.o(.gnu.linkonce.r._ZTV8MyWidget+0x1a4):/home/terry/moto/dev-ezx-0.2.0/helloworld/helloworld.cpp:80: undefined reference to `QWidget::sendPackage()'
    helloworld.o(.gnu.linkonce.r._ZTV8MyWidget+0x1a:/home/terry/moto/dev-ezx-0.2.0/helloworld/helloworld.cpp:80: undefined reference to `QWidget::getPackageType()'
    helloworld.o(.gnu.linkonce.r._ZTV8MyWidget+0x1ac):/home/terry/moto/dev-ezx-0.2.0/helloworld/helloworld.moc:60: undefined reference to `QWidget::setPackageType(int)'
    helloworld.o(.gnu.linkonce.r._ZTV8MyWidget+0x1b0):/home/terry/moto/dev-ezx-0.2.0/helloworld/helloworld.cpp:81: undefined reference to `QWidget::getPtfText()'
    helloworld.o(.gnu.linkonce.r._ZTV8MyWidget+0x1b4):/home/terry/moto/dev-ezx-0.2.0/helloworld/helloworld.cpp:81: undefined reference to `QWidget::setPtfText(QString const&)'
    helloworld.o(.gnu.linkonce.r._ZTV8MyWidget+0x1b:/home/terry/moto/dev-ezx-0.2.0/helloworld/helloworld.cpp:81: undefined reference to `QWidget::getPtfPixmap()'
    helloworld.o(.gnu.linkonce.r._ZTV8MyWidget+0x1bc):/home/terry/moto/dev-ezx-0.2.0/helloworld/helloworld.cpp:81: undefined reference to `QWidget::setPtfPixmap(QPixmap const&)'
    helloworld.o(.gnu.linkonce.r._ZTV8MyWidget+0x1c0):/home/terry/moto/dev-ezx-0.2.0/helloworld/helloworld.cpp:81: undefined reference to `QWidget::getPtfIconId()'
    helloworld.o(.gnu.linkonce.r._ZTV8MyWidget+0x1c4):/home/terry/moto/dev-ezx-0.2.0/helloworld/helloworld.cpp:81: undefined reference to `QWidget::setPtfIconId(QString const&)'
    helloworld.o(.gnu.linkonce.r._ZTV8MyWidget+0x1dc):/home/terry/moto/dev-ezx-0.2.0/helloworld/helloworld.cpp:83: undefined reference to `ZMainWidget::updateInputWidgetState(int, bool)'
    helloworld.o(.gnu.linkonce.t._ZN8MyWidget10showDialogEv+0x34):/home/terry/moto/dev-ezx-0.2.0/helloworld/helloworld.cpp:107: undefined reference to `RES_ICON_Reader::getIcon(char const*)'
    collect2: ld returned 1 exit status
    make: *** [helloworld] Error 1
    I think the header file in dev-ezx might be not compatible with A1200. I saw the qte lib on A1200 is 2.3.8, so I build qt-embedded-2.3.8 with cross compiler, then tried building qt tutorials/t1, and link with A1200 libs. Building work was successful, but while runs on A1200, I got core dump with segment fault.

    Linking to qt-2.3.8 libqte-mt instead of A1200 libs, the app also core dump. When calling QApplication.exec or QPushButton.show method the app died immediately.

    The last week was my summer holiday, but it has finished now. I'm afraid I have no enough time for enjoying this toy~ Actually I hope someone here could tell me what I should do at next step.

    Thanks

  5. #5

    Default Re: can wasabi work for A1200?

    Just now I modified qt-2.3.8/tutorials/t1, use new operation to create object instead of stack object.

    I replace an installed application exec file with t1, then click the app icon. It's running~~~ show a simple button on my A1200 screen, and I have to kill it on shell because taskmanager couldn't terminate it.

    t2 could not link with A1200 lib -- undefined reference to `QFont::QFont[in-charge](QString const&, int, int, bool)'

    It seems a lot modification is needed. I know nothing about EZX and still can not make dev-ezx helloworld working.

  6. #6
    Join Date
    Sep 2005
    Location
    Jakarta, Indonesia
    Posts
    1,091

    Default Re: can wasabi work for A1200?

    Thanks for your confirmations. A1200 still need more resource to develop native app. Maybe, donate your phone to samr7 can help But he disappear from here for a long time... Hey samr7, where are you?
    eXMMS and Rockbox running on E680, E680i, E680g, A780, A1200 and ROKR E6

  7. #7

    Default Re: can wasabi work for A1200?

    Quote Originally Posted by blackhawk
    Thanks for your confirmations. A1200 still need more resource to develop native app. Maybe, donate your phone to samr7 can help But he disappear from here for a long time... Hey samr7, where are you?
    But I'm very stingy~ What about showing me how to reverse function declaration from a striped lib/.so file?

  8. #8
    Join Date
    Sep 2005
    Location
    Jakarta, Indonesia
    Posts
    1,091

    Default Re: can wasabi work for A1200?

    From http://www.courville.org
    Code:
    arm-linux-objdump -T --demangle libezxappbase.so
    arm-linux-objdump -T --demangle libqte-mt.so
    Now, you can compare your's qte and Ming's qte library and then modify qte-2.3.8 header. Good luck!

  9. #9

    Default Re: can wasabi work for A1200?

    hmm~ few weeks ago I had tried those. even compiling with the correct(?) head files, the app crashed with segment faults.

    In fact I am not interested in GUI app development, so I did not continue trying. here is message of a crash.
    <7>T[2303094]main: unhandled page fault at pc=0x410d02f0, lr=0x411863ec (bad address=0x00000008, code -1)
    <4>T[2303094]pc : [<410d02f0>] lr : [<411863ec>] Not tainted
    <4>sp : befff480 ip : 00000000 fp : 41186378
    <4>T[2303094]r10: 41184694 r9 : 00000019 r8 : 411863d4
    <4>T[2303094]r7 : 00000018 r6 : 41186378 r5 : ffffffe8 r4 : 000115f8
    <4>T[2303094]r3 : 00000000 r2 : 00000010 r1 : 00000000 r0 : 00000000
    <4>T[2303094]Flags: NzCvT[2303094] IRQs on FIQs on Mode USER_32 Segment user
    <4>T[2303094]Control: 397F Table: A0428000 DAC: 00000015
    <4>T[2303094]Enter into aplog_do_coredump()...
    <4>T[2303095]jffs2_do_read_inode_internal(): ino #136 frag_count=37 all_frags=950
    <4>T[2303095]Succeed in aplog_do_coredump().
    here is the test code.

    Code:
    #include <zapplication.h>
    #include <zmainwidget.h>
    #include <zmessagebox.h>
    #include <ezxutilcst.h>
    #include <ezxres.h>
    #include <stdio.h>
    
    class UTIL_Label : public QLabel
    {
    	public:
    	UTIL_Label(QWidget*, char const*, unsigned int);
    };
    
    int
    main(int argc, char** argv)
    {
    	ZApplication *app = new ZApplication(argc, argv);
    	
    	QString tx1 = "I hate segment fault";
    	QString tx2 = "OK";
    	QString tx3 = "Cancel";
    	
    	QWidget* parent = qApp->mainWidget();
    	
    	printf("parent is %08x\n", parent);
    	
    	ZMessageBox* msgbox = new ZMessageBox(parent, 0,
                                tx1,
                                tx2,
                                tx3,
                                NULL
                                );
      int reply = msgbox->exec();
    
      delete msgbox;
    
      ZPushButton *pb = 0;
    	
    //*/
    switch(reply)
      {
        case 0:
        		printf("press OK\n");
            pb = new ZPushButton(parent, 0, 50, 50);
            break;
        case 1:
        		printf("press Cancel\n");
            pb = new ZPushButton(parent, 0, 50, 50);
            break;
      }
    	
    	QObject::connect(pb, SIGNAL(clicked()), qApp, SLOT(slotQuickQuit()));
    	
    	pb->resize(120, 100);
    	
    
    	app->showMainWidget(pb);
    	
    	
    	delete pb;
    				
    	return qApp->exec();
    }
    the messagebox could show, but click any button (OK or Cancel)will cause "segment faults".
    Attached Files Attached Files

  10. #10
    Join Date
    Sep 2005
    Location
    Jakarta, Indonesia
    Posts
    1,091

    Default Re: can wasabi work for A1200?

    In my experience, ZPushButton sometime act like a crazy ;(
    eXMMS and Rockbox running on E680, E680i, E680g, A780, A1200 and ROKR E6


 
+ Reply to Thread
Page 1 of 2 12 LastLast

Similar Threads

  1. Q: Does Yahoo go! work on A1200?
    By elqboy in forum A1200 General Chat
    Replies: 6
    Last Post: 10-25-2007, 04:17 PM
  2. Q: Can you get XMPlayer V1.3 to work on A1200?
    By herambt in forum A1200 General Chat
    Replies: 3
    Last Post: 08-22-2007, 04:50 AM
  3. Can You Make This Work on the A1200?
    By JamesK in forum A1200 General Chat
    Replies: 11
    Last Post: 03-23-2007, 11:28 PM
  4. 2gb work with a1200???
    By seksi22 in forum A1200 General Chat
    Replies: 6
    Last Post: 09-26-2006, 01:46 AM
  5. Wasabi GNU tools Optimized for XScale
    By alebm in forum Development
    Replies: 2
    Last Post: 08-05-2005, 05:34 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
Single Sign On provided by vBSSO

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1