Cart New Account Login

HomeAbout usProductsSupportForumsBlogCustomer Service

search inside this forum
Programming Flash that is not on address 0
Fróði G. Mar 26, 2015 at 04:53 AM (04:53 hours)
Staff: Johnny N.

  • I have the prog32z programmer and a 68332 processor. I'm trying to program flash memory at address 0 and address 100000 with the Spansion_29AL008D_01_1x16x512k algorithm. I have ram at address 800000 and 900000. As I understand the comments in the algorithm file, it's only possible to program flash at address 0 and use ram at address 100000 (where I have flash memory). is this right?

    Also I can't find any .asm file on my disk as stated in the 32p document.

    "Examples of the assembler files (.ASM files) used to produce user .32P files
    are included on your disk"

    Is it possible to get this file?




    Comments

  • Greetings,

    Yes, PROG always moves the external flash so that it starts at address 0 for programming. If your memory map is different, PROG will need to account for this with the correct base address value. In your case, the base addresses will be where flash begins in your own memory map. Do you have multiple S19 files - one beginning at 0 and the other at 100000?

    -Johnny

    • Hopefully this explains the problem more clearly for anyone viewing this thread:

      http://www.pemicro.com/blog/index.cfm?post_id=32

    • Hi,

      Yes, I have multiple s19 files and multiple flash IC's. An FPGA reads the address from the microprocessor and is used as chip select. When I'm programming the s19 file with addresses starting from 0 it works fine, but when I'm programming the s19 file with addresses starting at 100000, the wrong flash IC is programmed.
      I guess this is because PROG is subtracting the base address from the address in the s19 file, and there for the FPGA chip selects the wrong flash?
      Is there any easy way to fix this?

      Fróði

      • PROG determines the address to program the data using the following formula:

        SRECORD ADDRESS - BASE ADDRESS + MODULE ADDRESS

        SRECORD ADDRESS -> This is the addresses in your Srecord
        BASE ADDRESS -> This is where the flash begins in your memory map
        MODULE ADDRESS -> This is where flash begins in P&E's memory map (default is 0)

        Based on this formula, you should be able to program the S19 file that starts at 100000 by entering a base address of 0 since 100000 - 0 + 0 = 100000

        When you program that file, are you entering a base address of 100000

        Regards,
        Johnny
        P&E

        • Hi
          When I'm entering the base address of 100000, the worng memory IC is programmed (The IC starting at address 0 instead at address 100000, as it should be from your formula). If I'm using the base address 0, it not possible to prorgam an s19 file with address 100000 or higher.
          You are saying that the MODULE ADDRESS is default 0. Is it possible to change that? That might help my situation.
          Thanks,
          Fróði

          • What happened when you entered a base address of 0 with the s19 file @ address 100000? Is it being programmed to the other flash chip at address 0?

            • A box popped up to tell me that the address in th s19 file did not match the address space, and asked if I wanted to proceed. If I said yes, I got an error. There was no information with the error.

              • Greetings Fróði,

                Please try the new algorithm that I posted to your account.

                Spansion_29AL008D_01_1x16x512k_RamDeisel.32p

                We moved the flash to 100 000 and RAM to 800 000

                Regards,
                Johnny
                P&E

Add comment


   Want to comment? Please login or create a new PEMicro account.







© 2017 P&E Microcomputer Systems Inc.
Website Terms of Use and Sales Agreement