Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. General talk
  3. The Lounge
  4. estimating program footprint change?

estimating program footprint change?

Scheduled Pinned Locked Moved Unsolved The Lounge
8 Posts 6 Posters 968 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • mzimmersM Offline
    mzimmersM Offline
    mzimmers
    wrote on last edited by
    #1

    Hi all -

    This topic has virtually nothing to do with Qt, but...there's lots of smart people that frequent this forum, and it is the lounge, so...

    My company has a legacy product running on an 8-bit processor. This product is sorely in need of an upgrade, and we're looking at newer 32-bit processors. My current concern is what this will do to the binary footprint. This is an embedded solution and cost of the BOM is important, so this matters.

    Does anyone here know of a method for estimating the change in code footprint size when making such a change? Re-hosting the existing code isn't straightforward, as several parts are written in assembly. And I'd like to do better than estimating based on a "hello world" scale project.

    Any ideas?

    Thanks...

    aha_1980A 1 Reply Last reply
    0
    • mzimmersM mzimmers

      Hi all -

      This topic has virtually nothing to do with Qt, but...there's lots of smart people that frequent this forum, and it is the lounge, so...

      My company has a legacy product running on an 8-bit processor. This product is sorely in need of an upgrade, and we're looking at newer 32-bit processors. My current concern is what this will do to the binary footprint. This is an embedded solution and cost of the BOM is important, so this matters.

      Does anyone here know of a method for estimating the change in code footprint size when making such a change? Re-hosting the existing code isn't straightforward, as several parts are written in assembly. And I'd like to do better than estimating based on a "hello world" scale project.

      Any ideas?

      Thanks...

      aha_1980A Offline
      aha_1980A Offline
      aha_1980
      Lifetime Qt Champion
      wrote on last edited by
      #2

      @mzimmers said in estimating program footprint change?:

      My current concern is what this will do to the binary footprint

      That will probably increase. However, other people had this problem before you, so ARM for example has 16-bit thumb instruction set next to the regular 32 bit instructions.

      To understand the problem deeper, he question is rather: which 8 bit MCU is that? Which code size are we talking about? 8 kB should be no problem to fit in any modern CPU. If 128 kB - then probably a flash of 256 kB is needed and you cannot get the cheapest CPU.

      It's probably not possible to test the assembler code, but for the C code you should be able to compile some files and compare the differences.

      Regards

      Qt has to stay free or it will die.

      1 Reply Last reply
      2
      • mzimmersM Offline
        mzimmersM Offline
        mzimmers
        wrote on last edited by
        #3

        Hi aha -

        The current device is an Atmel ATMega1284P. IIRC, all instructions are 2 bytes. Running our new processor in thumb mode may be of help, so I should add the ability to run in thumb mode to the criteria for device selection.

        I'll also compile some existing code and compare sizes.

        Thanks...

        1 Reply Last reply
        0
        • fcarneyF Offline
          fcarneyF Offline
          fcarney
          wrote on last edited by
          #4

          It might be worthwhile to talk to an Atmel rep. They may have tools/documents for estimating the impact of a processor/platform change. A good rep will have worked with many customers in your situation.

          C++ is a perfectly valid school of magic.

          1 Reply Last reply
          0
          • mzimmersM Offline
            mzimmersM Offline
            mzimmers
            wrote on last edited by
            #5

            Yeah, I've already started talking with someone at one of Atmel's distributors (that seems to be how they do it these days -- the device manufacturers expect the distribution channel to furnish end-user technical support)...he's been helpful, but it's an area with which he's not too familiar.

            I'm starting to get the impression, though, that it's going to be close to 2X larger for the 32-bit code. I hope I'm wrong, because that will cause us problems. Later today, I'm going to try to do some experimental builds and compare object file sizes. I know that's not a perfect comparison, but it's a starting point.

            1 Reply Last reply
            0
            • K Offline
              K Offline
              Kibbe2845
              wrote on last edited by
              #6

              Use our Footprint calculator to find out what your biggest areas of resource consumption are and learn how to tread more lightly on the Earth.

              1 Reply Last reply
              0
              • D Offline
                D Offline
                david9847
                wrote on last edited by david9847
                #7
                This post is deleted!
                1 Reply Last reply
                0
                • D Offline
                  D Offline
                  Davenport21
                  Banned
                  wrote on last edited by
                  #8
                  This post is deleted!
                  1 Reply Last reply
                  0

                  • Login

                  • Login or register to search.
                  • First post
                    Last post
                  0
                  • Categories
                  • Recent
                  • Tags
                  • Popular
                  • Users
                  • Groups
                  • Search
                  • Get Qt Extensions
                  • Unsolved