This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

assembly coding in keil

hi!

i tried buliding target in keil in assembly language and it gave a cryptic error..
can anyone help me figure out how to build target or run a assembly language written code in keil... i can well do it in C but unable to figure it out using assembly....
Thanks.

Parents
  • hi!
    thanks for assistance..
    i used
    * STARTUP.S: Startup file for Philips LPC2000
    and then th source file contained a very simple programme:
    TTL ch4ex1 - move16
    AREA Program,CODE,READONLY
    Main
    LDRB R1,Value
    STR R1,Result
    SWI &11

    Value DCW &C123
    ALIGN
    Result DCW 0

    END
    and th error i found was :
    undefined symbol _main(referred frm startup.o)
    indefinrd symbol _use_two_region_memory (referred frm startup.o)
    target not created.


    as far as the question of product is concern ...i m unable to makle out what u wannna know...
    i m goin to burn one of the arm philips LS series......... and to cret .exe n other linking i m tring to use KEIL microversion3 arm development tool kit ....which i dowmloded frm http://www.keil.com free of cost...

Reply
  • hi!
    thanks for assistance..
    i used
    * STARTUP.S: Startup file for Philips LPC2000
    and then th source file contained a very simple programme:
    TTL ch4ex1 - move16
    AREA Program,CODE,READONLY
    Main
    LDRB R1,Value
    STR R1,Result
    SWI &11

    Value DCW &C123
    ALIGN
    Result DCW 0

    END
    and th error i found was :
    undefined symbol _main(referred frm startup.o)
    indefinrd symbol _use_two_region_memory (referred frm startup.o)
    target not created.


    as far as the question of product is concern ...i m unable to makle out what u wannna know...
    i m goin to burn one of the arm philips LS series......... and to cret .exe n other linking i m tring to use KEIL microversion3 arm development tool kit ....which i dowmloded frm http://www.keil.com free of cost...

Children
  • "as far as the question of product is concern ...i m unable to makle out what u wannna know..."

    When you enter your message, immediately above the 'Summary' box is a box titled 'Product' - it's a drop-down list of Keil's Products; ie,

    C16x & ST10 Development Tools;
    C251 & 80C251 Development Tools;
    Cx51 & 8051 Development Tools;
    ARM7 Development Tools

    You should pick the one that describes the tools you are actually using.
    It now seems that would be "ARM7 Development Tools"

    And please stop the cute 'u' for "you", 'n' for "and", etc - if you really can't be bothered to make the effort to type them in full, then assembler programming is certainly not for you!

  • i am really sorry it ...thought it would help hasten the process..
    i apologize...please help me fixing the problem.

  • "...thought it would help hasten the process.."

    Hasten your process of typing perhaps, but lengthens our process of reading and worse, demotivates us from replying.

    "undefined symbol _main(referred frm startup.o)"

    startup.s is the runtime startup code for a typical C program whose entry point is main(). I see you've got a "Main", but I think you'd agree that "Main" does not quite match "_main".

    "indefinrd symbol _use_two_region_memory (referred frm startup.o)"

    Determine what "_use_two_region_memory" and duplicate its functionality (and name) in your code or edit startup.s to eliminate the reference entirely.

  • "thought it would help hasten the process"

    It might save you the odd second or two of typing (although "wannna" is no quicker than "want to"), but it means that every one else has to struggle to decipher your meaning!


    " i used STARTUP.S: Startup file for Philips LPC2000 ... contained a very simple programme:"

    No, it is not a program!

    This is the code that runs before a 'C' program can start - it sets up all the stuff required for the 'C' program.
    It is not a program in itself - that's why you are getting the errors:

    "undefined symbol _main (referred frm startup.o)"

    As you know, every 'C' program starts with a function called main().
    As it's a function, something has to call it - in the case of an embedded system, that "something" is the startup code!

    The startup code is meaningless on its own - its whole raison d'etre is as a preamble to the main 'C' code!

    "tring to use KEIL microversion3 arm development tool kit ....which i dowmloded"

    Note that's "microvision" - not "microversion"

    That download comes with a whole folder full of examples - take a look for an assembler sample.

  • Note that Keil has 3 versions of ARM tools: Realview, CARM, and GNU.
    Which one are you using?

    Realview is the current Keil product;
    CARM was the original Keil product;
    GNU is not a Keil product at all - see http://www.keil.com/forum/docs/thread7842.asp

    For assembler examples, you need to be sure that you have the right source code to go with your particular tools!

    For GNU support, you could try http://www.gnuarm.com/ or just put "GNU ARM Assembler" into your favourite internet search engine...

  • resp. sir,
    the problem with "main" is probably solved as it gives no error regarding "main" when i changed "main" to "_main"
    but then with the same assembly code it gave another error which i tried fixing but was unable.
    the same code with 'main' replaced by '_main' gave the output:
    first.afx:error:L6913E:invalid value for --ro-base.
    but i am not using ro in my code.

    what may be the mistake sir?
    thanks

  • resp. sir,
    in keil mVISION3 ,i am using realview tool and for new project i opted device LPC2101 of phlips.and added to it the 'startup.s' file then the file with my assemble code i added,which was a ".s" file.containing
    TTL ch4ex1 - move16
    AREA Program,CODE,READONLY
    Main
    LDRB R1,Value
    STR R1,Result
    SWI &11

    Value DCW &C123
    ALIGN
    Result DCW 0

    END
    i then builded the target and found the following error:
    undefined symbol _main(referred frm startup.o)
    indefinrd symbol _use_two_region_memory (referred frm startup.o)
    whics is same when i posted my first query.
    can you please help me getting the taget bulid and also tell me if i am reght that we can use "keil microvision3" for assembly language coding of embeded systems.