No announcement yet.

getting Program Address in uSD?

  • Filter
  • Time
  • Show
Clear All
new posts

  • getting Program Address in uSD?

    Hi there,

    well, i've been 4 days now playing with this beauty, a uLCD-320-PMD2 and i'm traying to get the "Run Program From Memory Card (@P)" function running. I'm tyred, si i want to ask you people how do I get de program address un the uSD to use this function.

    The thing is that i downloaded a program with 4DGL Workshop to my uSD card within the uLCD, that has several functions including the "main" one. I change the firmware to rev9 and start trying to send the serial command trough usb-serial interface to make that program starts. The thing is that i don't know the program address and I dont know how to get it.

    Please, help!?


    ps. The "Display Image/Icon from uSD" function works just fine, becouse I get the memory address from the txt generated by GraphicsComposer.

  • #2


    It appears that there you have some confusion about the two platforms available for the uLCD-320-PMD2 that you have. From your post, it looks like you are trying to mix functionallity from the two platforms.

    You first need to understand that the serial platform (serial PmmC firmware Rev 9 that you refer to) has nothing to do with 4DGL which is a separate and distinct platform (PmmC).

    The serial commands that you refer to ("@P", "I", etc) are only recognized by the display when the serial PmmC is loaded. In particular, the @P (Run Program From Memory Card) does not refer to a 4DGL "program", but rather serial commands that can be executed sequentially from the memory card.

    An example of this is the AutoRun feature of the display. The Graphics Composer program loads a number of serial commands (primarily Display Image, Display Video, Delay, etc.) starting at location zero of the memory card (you can see a listing of the commands in the .txt file created by the Graphics Composer). When the RUN jumper is shorted, the display begins executing serial commands at location zero of the memory card. Notice that the last serial command is a "Jump to location 0x000000" which causes the code to go into a continuous loop until power is removed.

    4DGL programs on the other hand are loaded by the 4DGL Workshop directly to the processor's RAM for execution (and optionally to non-volatile flash memory, BURN). To use 4DGL, you must load a 4DGL PmmC (Personallity module micro Code, firmware) to the processor. Once this is done, the display takes on the 4DGL personallity and does not accept the serial commands of the serial platform/PmmC.

    The two distinct PmmCs can be found here:



    Also, please see "Compiling and Running your first 4DGL program" here:

    For a simple step-by-step example of running 4DGL programs.

    Any technology, sufficiently developed, is indistinguishable from magic. A.C. Clark(RIP)

    NEW! Lower prices on all 4D Systems products for 2009 and continuing into 2010!


    • #3

      Hhaaa, OK!
      I was confused then. I thought you could run 4DGL programs from the serial command, but now i get it.

      I made that question because I made a 4DGL program that has a function that recives a string and prints it in landscape way, and i wanted to call it from the serial.

      But now its nice and clear, and i made a program in C that calls the images and everything from the serial to make the same landscape printing functionality.

      Thanks manus!