cy8ckit-049 -42xx (The flash row is not valid for the selected array)

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

I bought the kit cy8ckit-049 -42xx. Downloaded the files from the kit page. Watched the video and followed the instructions. Built and created the .cyacd file. using PSoC Creator version 3.1 (no errors on the unchanged project 'Bootloadable Blinking LED') (no errors on changing the timing as the video).

   

\Flash_Example01\Bootloadable Blinking LED.cydsn\CortexM0\ARM_GCC_484\Debug\Bootloadable Blinking LED.cyacd

   

Used the bootloader Host to download the .cyacd file into the target device on a fast blink (ie bootloader mode). I then get

   

04:15:41 PM - Verify Started
04:15:45 PM - The flash row is not valid for the selected array.
Verify completed in 3554ms.

   

and the target device enters program run mode but runs the default program and not the downloaded. Please can anyone finally deal with the error "The flash row is not valid for the selected array".

   

From my viewpoint this intro device and software does not work. It came straight out of the box.

   

Thanks

   

Mike

0 Likes
17 Replies
rola_264706
Level 8
Level 8
50 likes received 25 likes received 10 likes received

Please Post your code so we can check it. Also please include a screen shot of the bootloader host screen.

0 Likes
rola_264706
Level 8
Level 8
50 likes received 25 likes received 10 likes received

One  Other thing did you hold the switch down when you plugged the board into the USB port?

0 Likes
lock attach
Attachments are accessible only for community members.
rola_264706
Level 8
Level 8
50 likes received 25 likes received 10 likes received

here is a program that should work I am running Psoc Creator 4.0 SP 1. You should update to the latest version unless you are running an older version of windows.

0 Likes
Anonymous
Not applicable

Hi Bob,

   

Do you have a *.cyacd file that I can just load onto the kit that works? I'm using PSoC Creator 4.0 and the Bootloader Host. Looks like it is trying to overwrite memory locations containing the boot code on the kit and throwing the error. Where is the 'Manual Application Image Placement' so I can redirect it. Does the bootloader or the *.cyacd file specify where the code ends up?

   

Thanks

   

Mike

0 Likes
rola_264706
Level 8
Level 8
50 likes received 25 likes received 10 likes received
        The file I sent you has one .   
0 Likes
Anonymous
Not applicable

Hi Bob thanks, so using the files you provided I created the *cyacd file using Creator 3.1 as 4.0 no longer builds. I built all (2 projects) and pointed the boot loader to the output file...

   

C:\Users\Mike\Documents\PSoC Creator\Flash_Example01\Bootloadable Blinking LED.cydsn\CortexM0\ARM_GCC_493\Debug\Bootloadable Blinking LED.cyacd

   

The result is the same

   

01:49:54 PM - Selected device: USB Serial Port (COM4)
01:50:22 PM - Programming Started
01:50:22 PM - The flash row is not valid for the selected array.
Programming completed in 243ms.

   

Will uninstall 4.0 and reinstall which fixed it last time.

   

Mike

0 Likes
Anonymous
Not applicable

Why is obsolete code in a dev kit? (Bootloadable.c)? Seems to be responsible for placing to code in the flash area.

   

* The following code is OBSOLETE and must not be used.
*******************************************************************************/
void Bootloadable_SetFlashByte(uint32 address, uint8 runType)
{
    uint32 flsAddr = address - CYDEV_FLASH_BASE;
    uint8  rowData[CYDEV_FLS_ROW_SIZE];

   

    #if !(CY_PSOC4)
        uint8 arrayId = ( uint8 )(flsAddr / CYDEV_FLS_SECTOR_SIZE);
    #endif  /* !(CY_PSOC4) */

   

    #if (CY_PSOC4)
        uint16 rowNum = ( uint16 )(flsAddr / CYDEV_FLS_ROW_SIZE);
    #else
        uint16 rowNum = ( uint16 )((flsAddr % CYDEV_FLS_SECTOR_SIZE) / CYDEV_FLS_ROW_SIZE);
    #endif  /* (CY_PSOC4) */

   

    uint32 baseAddr = address - (address % CYDEV_FLS_ROW_SIZE);
    uint16 idx;

   


    for (idx = 0u; idx < CYDEV_FLS_ROW_SIZE; idx++)
    {
        rowData[idx] = Bootloadable_GET_CODE_DATA(baseAddr + idx);
    }
    rowData[address % CYDEV_FLS_ROW_SIZE] = runType;

   

    #if(CY_PSOC4)
        (void) CySysFlashWriteRow((uint32) rowNum, rowData);
    #else
        (void) CyWriteRowData(arrayId, rowNum, rowData);
    #endif  /* (CY_PSOC4) */

   

    #if(CY_PSOC5)
        /***************************************************************************
        * When writing Flash, data in the instruction cache can become stale.
        * Therefore, the cache data does not correlate to the data just written to
        * Flash. A call to CyFlushCache() is required to invalidate the data in the
        * cache and force fresh information to be loaded from Flash.
        ***************************************************************************/
        CyFlushCache();
    #endif /* (CY_PSOC5) */
}

   


/* [] END OF FILE */

0 Likes
rola_264706
Level 8
Level 8
50 likes received 25 likes received 10 likes received

Are you running 3.2 or 4.0 Psoc creator? Also I think you may have a corrupt Bootloader and you may need to have it reloaded.  This can be done if you have another cy8ckit-049 -42xx or you will need the Mini prog 3 kit.  Or you can do it with another kit see this http://www.cypress.com/knowledge-base-article/using-cy8ckit-049-program-another-psoc-4-kba93541. I am still waiting for the screenshot of the Bootloader host screen. Also if you are using an example program it must contain the bootloader component and it must point to the bootloader host debug files. 

0 Likes
lock attach
Attachments are accessible only for community members.
rola_264706
Level 8
Level 8
50 likes received 25 likes received 10 likes received

Here is the program I sent yesterday using Psoc Creator 3.3 CP3. I always keep my Psoc Creators up to date so I don't have Psoc Creator 3.2. This was the last version of Psoc Creator in the 3.3 version.

0 Likes
rola_264706
Level 8
Level 8
50 likes received 25 likes received 10 likes received

Here is the settings for the Bootloadable component.  It must point to your directories.

   

0 Likes
Anonymous
Not applicable

Hi Bob, I am using PSoC Creator 3.1 SP3.

   

   

I get no errors at all when building.

   

   

Thanks

   

Mike

   

   

   

   

0 Likes
Anonymous
Not applicable

Hi Bob, I have ordered one of these "PSoC 5LP Prototyping Kit". Mike

0 Likes
rola_264706
Level 8
Level 8
50 likes received 25 likes received 10 likes received
        The Psoc 5lp kit is a great kit. So you don't have a mouse on your computer ? The reason I ask this is because it should be listed under ports.   
0 Likes
rola_264706
Level 8
Level 8
50 likes received 25 likes received 10 likes received
        What version of windows are you using?   
0 Likes
Anonymous
Not applicable

Windows 7. The mouse etc is on the back (HID Compliant). The USB port I'm using for the kit is on the front. Moved kit to the back - no change.

0 Likes
rola_264706
Level 8
Level 8
50 likes received 25 likes received 10 likes received
0 Likes
Anonymous
Not applicable

Hi Bob,

   

I would suggest that Cypress promote the CY8CKIT-059 at 10$ and withdraw/demote the others.

   

I have had great wins on building and programming a PSoC system using the above kit, downloading PSoC creator 4.0, downloading CY8CKIT-059 PSoC 5LP Prototyping Kit (not sure this is necessary), following AN77759.

   

I could follow this and it all worked. I did have to change the Device Code which is not in the AN. (DEVICE CODE: CYC5888LTI-LP097).

   

All the correct steps, great result in 20 minutes.

   

Thanks for all your help.

   

Mike

0 Likes