Skip to main content
david239955_stm1_stmicro
Visitor II
June 20, 2014
Question

C90FL (beta) flash program fails - help!

  • June 20, 2014
  • 1 reply
  • 771 views
Posted on June 20, 2014 at 11:41

C90FL program fails due to alignment error but all parameters check out?

Parameter details before call:

dest       size       source     result = C90FL_ERROR_ALIGNMENT

0x00008000 0x00000100 0x40005300 0x00000100

0x00008100 0x00000100 0x40005300 0x00000100

From UM1627, p.15, table 18, Troubleshooting for FlashProgram()

C90FL_ERROR_ALIGNMENT

This error indicates that dest/size/source isn�t properly aligned

Check if dest and size are aligned on double word (64-bit) boundary. Check if source is aligned on word boundary.

Ok my checks,

0x8000 & 8 = 0 so aligned to 64bit/double word boundary

0x100 & 8 = 0 so aligned to 64bit/double word boundary

0x40005300 & 8=0 or 0x40005300 & 4=0 source is aligned to 32bit and 64bit brounary

What else should be check?

Blank check and then erase before hand worked so the flash is ready for programming.

Here is the VLE?? code I have been using for program from C90FL library, beta.

My development device is spc560b64l7.

const unsigned long FlashProgram_C[] = 

{

      0x0080D101, 0x18210690, 0x1A61093C, 0x7C000026, 0xDE01013F

    , 0x014D015B, 0x026F027E, 0x488A4809, 0xC0EF7FB5, 0xDB78329F

    , 0x00207E75, 0xA3967E93, 0xA1D67E94, 0xA8501874, 0xA8007A0E

    , 0x001076F4, 0x07BF1874, 0xA8007A1E, 0x000A6379, 0x7800028E

    , 0x529F000C, 0x52BF0010, 0x7E94AA14, 0x5681001C, 0x529F0004

    , 0x52BF0008, 0x7E94AA14, 0x56810018, 0x7F9DDA14, 0x529F000C

    , 0x7D9DA040, 0x7A1C0032, 0x5281001C, 0x7D9DA040, 0x7A0C0026

    , 0x529F0010, 0x7D9BA040, 0x7A1D001A, 0x5281001C, 0x7D9CA040

    , 0x7A1D000E, 0x72600001, 0x36610010, 0xE821529F, 0x00047D9D

    , 0xA0407A1C, 0x00325281, 0x00187D9D, 0xA0407A0C, 0x0026529F

    , 0x00087D9B, 0xA0407A1D, 0x001A5281, 0x00187D9C, 0xA0407A1D

    , 0x000E7260, 0x00023661, 0x0010E804, 0x63697800, 0x01F0187B

    , 0xA8007A1E, 0x01E8529E, 0x00005681, 0x00205281, 0x00201A94

    , 0xC8161874, 0xA8007A1E, 0x000C7320, 0x03007800, 0x01C8529E

    , 0x00001A94, 0xD0107694, 0x049F569E, 0x0000329F, 0x002018F4

    , 0xA8207A0E, 0x000E777C, 0xD97F4A0A, 0x4888E821, 0x329F0020

    , 0x18F4A810, 0x7A0E000E, 0x777CE13F, 0x490A4888, 0xE816329F

    , 0x002018F4, 0xA8087A0E, 0x000E777C, 0xE8FF488A, 0x4888E80B

    , 0x329F0020, 0x18F4A804, 0x7A0E000C, 0x777CF0BF, 0x484A4848

    , 0x72600001, 0x56610024, 0xE86118FA, 0xA8047A0D, 0x001652B7

    , 0x00005297, 0x0004569D, 0x000456BD, 0x0000E805, 0x52970000

    , 0x569D0000, 0x048D7EF7, 0xC2147E9D, 0xD3967E94, 0xD1D67E94

    , 0xE8501874, 0xA8007A1E, 0x00105281, 0x00247D94, 0xE0407A0E

    , 0x0070529E, 0x00001A94, 0xD0017694, 0x049F569E, 0x0000E80C

    , 0x727F7FFF, 0x7D969840, 0x7A1E000E, 0x7ECCB378, 0x7D8903A6

    , 0x0007529E, 0x00007694, 0x056B1874, 0xA8007A1E, 0xFFDE529E

    , 0x00007694, 0x05AD1874, 0xA8007A0E, 0x0018527E, 0x00007673

    , 0x003D7673, 0x049F567E, 0x00006359, 0xE815529E, 0x00007694

    , 0x003D7694, 0x049F569E, 0x00005281, 0x00241E94, 0x00015681

    , 0x00245281, 0x00247D94, 0xE0407A0D, 0xFF38527E, 0x00007673

    , 0x07357673, 0x049F567E, 0x0000527F, 0x000070F3, 0x940818F3

    , 0xA9C07A1E, 0x00307278, 0xE3F95273, 0x801C5661, 0x00147278

    , 0xE3F95273, 0x801C7674, 0x003D7278, 0xE3F95693, 0x801C5261

    , 0x00147298, 0xE3F95674, 0x801C527F, 0x000070F3, 0x940818F3

    , 0xA9C07A0E, 0x00307278, 0xE3F95273, 0x80205661, 0x00147278

    , 0xE3F95273, 0x80207674, 0x003D7278, 0xE3F95693, 0x80205261

    , 0x00147298, 0xE3F95674, 0x8020527F, 0x00241873, 0xA8007A1E

    , 0x00060002, 0x01935181, 0x00387D8F, 0xF1201A61, 0x083CC011

    , 0xC1010090, 0x00040000

    , 0x30393530, 0x34464646

    

}; /* Total Size = 194 words */

#c90fl
    This topic has been closed for replies.

    1 reply

    Erwan YVIN
    ST Employee
    June 30, 2014
    Posted on June 30, 2014 at 11:25

    Dear David ,

    Sorry for the late answer.

    The used parameters are correct and in line with specification.

    I tried them and in my environment I don’t get the error during programming, using the same parameters.

    Could you check which version of the driver you are using?

    Could you please use the following function for a check?

    const unsigned short FlashProgram_C[] =

    {

          0x0080, 0x1821, 0x06D0, 0x1AC1, 0x0908, 0xDD01, 0x013E, 0x014B, 0x016C, 0x017D, 0x488A, 0x480F, 0xC08E, 0x7F64

        , 0x2B78, 0xC86E, 0x7CE4, 0x3396, 0x0567, 0x7CE7, 0x2051, 0xE204, 0x1B87, 0xC803, 0xE604, 0x637F, 0x7800, 0x0196

        , 0xC36E, 0xC47E, 0x7C86, 0x3A14, 0xC16E, 0xC27E, 0x0476, 0x7F3B, 0x2A14, 0xC37E, 0x0D7B, 0xE40A, 0x0D4B, 0xE008

        , 0xC47E, 0x0D75, 0xE505, 0x0D49, 0xE503, 0x4817, 0xE810, 0xC17E, 0x0D7B, 0xE40A, 0x0D6B, 0xE008, 0xC27E, 0x0D75

        , 0xE505, 0x0D69, 0xE503, 0x4827, 0xE804, 0x636F, 0x7800, 0x014E, 0x2A05, 0x7A12, 0x0148, 0xC078, 0x70E0, 0xC816

        , 0xE605, 0x73E0, 0x0300, 0x7800, 0x0138, 0xC078, 0x65B7, 0x18E7, 0xC53F, 0xD078, 0xC87E, 0x23F7, 0xE207, 0x7CB9

        , 0x2C70, 0x4A0A, 0x72E0, 0x0008, 0xE81B, 0xC87E, 0x2B07, 0xE207, 0x7CB9, 0x2470, 0x490A, 0x72E0, 0x0008, 0xE812

        , 0xC87E, 0x2A87, 0xE207, 0x7CB9, 0x1C70, 0x488A, 0x72E0, 0x0008, 0xE809, 0xC87E, 0x2A47, 0xE206, 0x7CB9, 0x1470

        , 0x484A, 0x72E0, 0x0004, 0x72C0, 0x0001, 0xE838, 0x223A, 0xE106, 0xC05C, 0xC16C, 0xD05B, 0xD16B, 0xE803, 0xC07C

        , 0xD07B, 0x7F7B, 0xBA14, 0x7F9C, 0xBA14, 0x7CFB, 0xD396, 0x05A7, 0x7CE7, 0xD851, 0xE604, 0x7C16, 0xC840, 0xE220

        , 0xC078, 0x65F7, 0x18E7, 0xC53F, 0xD078, 0xE806, 0x181D, 0xACFF, 0xE603, 0x00BD, 0x0007, 0xC078, 0x70E0, 0xCC00

        , 0xE6F8, 0xC078, 0x70E0, 0xCA00, 0xE208, 0xC078, 0x61F7, 0x18E7, 0xC53F, 0xD078, 0x635F, 0xE80B, 0xC078, 0x61F7

        , 0x18E7, 0xC53F, 0xD078, 0x1AD6, 0x8001, 0x7C16, 0xC840, 0xE1C7, 0xC078, 0x61B7, 0x18E7, 0xC53F, 0xD078, 0xC06E

        , 0x70F8, 0xE3F9, 0x1CE7, 0xC000, 0x0D76, 0xE612, 0x70F8, 0xE3F9, 0x1CE7, 0x801C, 0xC057, 0x70D8, 0xE3F9, 0x1CC6

        , 0x801C, 0xC076, 0x61F7, 0xD076, 0x70F8, 0xE3F9, 0x1CE7, 0x801C, 0xD057, 0xC06E, 0x70F8, 0xE3F9, 0x1CE7, 0xC000

        , 0x0D76, 0xE212, 0x70F8, 0xE3F9, 0x1CE7, 0x8020, 0xC057, 0x70D8, 0xE3F9, 0x1CC6, 0x8020, 0xC076, 0x61F7, 0xD076

        , 0x70F8, 0xE3F9, 0x1CE7, 0x8020, 0xD057, 0xC97E, 0x2A07, 0xE602, 0x0002, 0x01F7, 0x0173, 0x1AC1, 0x0808, 0xCD01

        , 0x1821, 0x8030, 0x0090, 0x0004

        , 0x3039, 0x3530, 0x3446, 0x4646

       

    }; /* Total Size = 246 half words */

    Could we access the application code to try it with source code of the driver? Please let us know.

    Best regards.

            Erwan