Announcement

Collapse
No announcement yet.

LONG Arrays in PBP 3.0.9 may have issues

Collapse
X
Collapse

  • PBP 3.0.9 LONG Array bank-boundary vulnerability

    It is highly recommended that you update to PBP 3.0.10. This update is free to users of 3.0.9, but it isn't compatible with Windows XP. This post is intended as a warning and workaround for those that can't bring themselves to upgrade to a newer version of Windows.

    Individual LONGs are not vulnerable to this issue, only arrays. This is a rare issue that is most likely to be encountered in PIC18 programs that use most of the available ram and declare large LONG array variables.

    In 3.0.9, PBP may place LONG arrays at addresses that result in individual elements of the array spanning bank boundaries in RAM. This can cause unexpected results when reading or writing to such elements.

    If you must use 3.0.9, manually specify hex addresses that end with 0, 4, 8, or C when you declare LONG ARRAY Variables:

    Code:
    array1 VAR LONG[100] $0100
    array2 VAR LONG[100] $02A8
    array3 VAR LONG[32]  $043C
      Posting comments is disabled.

    Article Tags

    Collapse

    Latest Articles

    Collapse

    • PBP3 errors on Windows 7 related to api-ms-win-crt-runtime-|1-1-0.dll
      Charles Leo
      The latest versions of PBP (3.0.10 and later) are dependent on some Windows 10 files that Microsoft made available in Windows 7 with an update. If your Windows 7 system isn't up to date, you might get an error related to api-ms-win-crt-runtime-|1-1-0.dll. If this happens and you want to download only the required files without updating Windows in general, see this link and download the appropriate package: https://support.microsoft.com/en-us/...untime-in-wind...
      03-29-2017, 05:41 AM
    • PBP 3.0.9 LONG Array bank-boundary vulnerability
      Charles Leo
      It is highly recommended that you update to PBP 3.0.10. This update is free to users of 3.0.9, but it isn't compatible with Windows XP. This post is intended as a warning and workaround for those that can't bring themselves to upgrade to a newer version of Windows. Individual LONGs are not vulnerable to this issue, only arrays. This is a rare issue that is most likely to be encountered in PIC18 programs that use most of the available ram and declare large LONG array variables. In 3.0.9, PBP may place LONG arrays at addresses that result in individual elements ...
      02-25-2017, 05:57 AM
    • PBP 2.60 and later, PBP commands on PORTF and PORTG of 16F1946/1947
      Darrel Taylor
      With PBP 2.60 and later (up to 3.0.7.x), PBP commands that automatically set the TRIS bits will not work properly on PORTF or PORTG of the 16F1946/1947.

      An issue with bank selection for the TRIS register has been identified.

      There are no known workarounds except to avoid using High-Level commands on PORTF/PORTG. We recommend using a PIC18 device for 64-pin and larger packages.
      12-05-2013, 11:57 AM
    • PBP 2.60C and earlier, 64-Bit Systems and PM.exe (PBP versions 2.60C and earlier)
      Darrel Taylor


      Users of 64-bit systems must instruct PBP to use the Microchip Assembler, MPASMWIN. In MicroCode Studio, this is a simple check box setting in the Compile and Program Options dialog. On the Compiler tab, check the box labeled "Use MPASM". MPLAB must be installed. It can be downloaded from the Microchip site or installed from your PBP install CD

      ...
      09-29-2011, 03:54 PM
    Working...
    X