Developer

Pixhawk 1MB flash limit

This is a discussion for the 1MB flash limit issue so that we can consolidate any discussions and concerns about it in one place.

To give some background, all Pixhawk (and compatible) boards use STMicroelectronics's STM32F427 as their main CPU.  This CPU is advertised as having 2MB of flash space (flash is where the ardupilot software is held) but we have discovered that early revisions of this CPU (RevA, RevY and Rev1) have a hardware problem and can actually only hold 1MB and if we use more than that they start exhibiting USB communication problems.

Now currently APM:Copter-3.4 is 0.9MB so it's under the limit but as we add new features it grows and if it grows above 1MB users will find they can't reliable connect the ground station to the board using a USB cable (wireless would still work) which could make it very difficult to configure the board, download logs, etc.

We think many boards (perhaps most boards) out there are the early revisions (A, Y or 1) which suffer from this problem.  All the boards on my desk have this problem and you can check your board by following the instruction also shown in the video:

  • Ensure your Pixhawk (or compatible) is loaded with a recent version of ardupilot (like APM:Copter-3.3.x)
  • Connect with the Mission Planner
  • Go to the Terminal screen and select "NSH" on the drop-down on the left, then push the little green connect button beside the drop-down
  • type "ver all" and press Enter quickly into the terminal (the "Overtime in task 19" causes the MP some troubles)
  • look for the "WARNING! Revision Y has a silicon errata".

Some very recent boards do not suffer from this problem.  For example all Solo's are fine as are the XRacer (aka PixRacer) boards.

Before panic ensues I'd like to say that although APM:Copter-3.3.2 is already 90% of this limit, remember we've just done a release and we will put effort into keeping the code size under 1MB.  So for example, I can guarantee that APM:Copter-3.4 will fit and hopefully Copter-3.5 too.

Still, when you're shopping for your next Pixhawk you may consider asking the manufacturer if they are using the latest Rev3 STM32F427 processor.

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –

Replies

  • thank's for advertise about this Randy.

    I check my HKing pix and many lines "overtime in task 19" appears but not warning message, It's that's OK?

    • Did you type:

      ver all<enter>

      quickly between those overtime messages and receive some output? Ignore those overtime messages in this context.

      • yes, I did it, I'm going to repeat, in case.

        PD I repeated and now I have the err msg :(  , thank's for your reply L

        • If you're doing it correctly you'll get a bunch of output, it just won't include the warning message.

          • Sorry, warning msg (not err msg) as Randy shows 1Mb limit. my new pix have short updating life but I'm in favor to new progress.

            • Cala, I agree with you, I am also in favour of progress, I do not understand people in this hobby complaining to buy a new autopilot once every few years because the old one is getting obsolete due to progress (and we are talking about 200$). How much is the autopilot % of the whole UAV frame?

            • Developer

              Cala,

              Thanks for checking.

              Knowing which manufacturers (if any) are using RevC is important because I think this will lead to more manufacturers switching to use the RevC chip.  We've got a lot of boards out there that are RevA so we need to start the process of increasing the percentage using RevC.

              At the same time, we shouldn't panic.  The other developers and I will do our best to keep the firmware under 1MB and I think there's a good amount of time before this issue really becomes a problem.  I think it's at least a year before we start struggling, it could be two.. I'm not sure.

              Once we hit the limit we will need to devote more effort to keeping the code small and worst case disabling features that take too much space and are rarely used.  We could also create different versions of the firmware for the RevA vs RevC CPUs.

              • Thanks Randy. I know I'm preaching to the choir here, but I'm hopeful that various techniques that have worked for problems like this in other contexts will be effective in this instance once the limit becomes a significant problem. As I mentioned above, the presence of the older chips in the pipeline could be a problem for years. In analogous situations, I've had older versions of chips show up in devices several years after they not only were superseded by the chip manufacturers, but also several years after the device manufacturers using the chip series had certified they had moved to the new version. Ouch.

                L

                • The bootloader for the FMUv4 systems will not allow the code to go onto a <Rev3 chip, so manufacturers should be able to prevent this.  If they care to.

              • Many thank's Randy, I have the rest of my vehicles with APM yet, it's usefull to know this to replace with Rev C ones when I do it.. 

This reply was deleted.

Activity

DIY Robocars via Twitter
RT @SmallpixelCar: Wrote a program to find the light positions at @circuitlaunch. Here is the hypothesis of the light locations updating ba…
12 hours ago
DIY Robocars via Twitter
RT @SmallpixelCar: Broke my @HokuyoUsa Lidar today. Luckily the non-cone localization, based on @a1k0n LightSLAM idea, works. It will help…
yesterday
DIY Robocars via Twitter
@gclue_akira CC @NVIDIAEmbedded
Wednesday
DIY Robocars via Twitter
RT @luxonis: OAK-D PoE Autonomous Vehicle (Courtesy of zonyl in our Discord: https://discord.gg/EPsZHkg9Nx) https://t.co/PNDewvJdrb
Wednesday
DIY Robocars via Twitter
RT @f1tenth: It is getting dark and rainy on the F1TENTH racetrack in the @LGSVLSimulator. Testing out the new flood lights for the racetra…
Wednesday
DIY Robocars via Twitter
RT @JoeSpeeds: Live Now! Alex of @IndyAChallenge winning @TU_Muenchen team talking about their racing strategy and open source @OpenRobotic…
Nov 20
DIY Robocars via Twitter
RT @DAVGtech: Live NOW! Alexander Wischnewski of Indy Autonomous Challenge winning TUM team talking racing @diyrobocars @Heavy02011 @Ottawa…
Nov 20
DIY Robocars via Twitter
Incredible training performance with Donkeycar https://www.youtube.com/watch?v=9yy7ASttw04
Nov 9
DIY Robocars via Twitter
RT @JoeSpeeds: Sat Nov 6 Virtual DonkeyCar (and other cars, too) Race. So bring any car? @diyrobocars @IndyAChallenge https://t.co/nZQTff5…
Oct 31
DIY Robocars via Twitter
RT @JoeSpeeds: @chr1sa awesomely scary to see in person as our $1M robot almost clipped the walls as it spun at 140mph. But it was also awe…
Oct 29
DIY Robocars via Twitter
RT @chr1sa: Hey, @a1k0n's amazing "localize by the ceiling lights" @diyrobocars made @hackaday! It's consistently been the fastest in our…
Oct 25
DIY Robocars via Twitter
RT @IMS: It’s only fitting that @BostonDynamics Spot is waving the green flag for today’s @IndyAChallenge! Watch LIVE 👉 https://t.co/NtKnO…
Oct 23
DIY Robocars via Twitter
RT @IndyAChallenge: Congratulations to @TU_Muenchen the winners of the historic @IndyAChallenge and $1M. The first autonomous racecar comp…
Oct 23
DIY Robocars via Twitter
RT @JoeSpeeds: 🏎@TU_Muenchen #ROS 2 @EclipseCyclone #DDS #Zenoh 137mph. Saturday 10am EDT @IndyAChallenge @Twitch http://indyautonomouschallenge.com/stream
Oct 23
DIY Robocars via Twitter
RT @DAVGtech: Another incident: https://t.co/G1pTxQug6B
Oct 23
DIY Robocars via Twitter
RT @DAVGtech: What a great way to connect why @diyrobocars community is so valuable and important! Have to start somewhere @IndyAChallenge…
Oct 23
More…