"4 Dollar Programmer" is broken? Need help with getting this to work! (Bootloading a PSOC4 using a 049 kit)

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

cross mob
Anonymous
Not applicable

Hello once again everybody!

Today I am trying to program a PSOC CY8KIT-049_42 using another identical device.
I am following the method shown here: Using the CY8CKIT-049 to Program Another PSoC® 4 - KBA93541 
yet there is a major problem! 

When I try to build the project a plethora of errors springs up! They mainly seem to be complaining about the connections of a component in a cysh file.
When I navigate to the error it is apparent that the component has resized / been moved or something and when I move the block down so that clk aligns with clk, sda with sda etc I am left with some interrupt blocks connected together which throw their own error. I've tried connecting the line to the nearby available pins and none of them work.

My next move was to try 'updating' components to the original versions and this did not seem to work.
Deleted everything and downloaded again, and now the project compiles (With a tonne of warnins about the clock being outside its acceptable tolerance).
HOWEVER when I try to bootload (from the arm GCC 541 folder, the 471 folder is empty)  I get

03:29:53 PM - Selected device: USB Serial Device (COM9) - UART

Generic Serial Port

03:31:25 PM - program Started

03:31:25 PM - The flash row is not valid for the selected array.

03:31:25 PM - program failed in 50 ms.

Does anyone know what I need to do to get this project working or better still,


DOES ANYONE JUST HAVE THE DAMN HEX FILE?

0 Likes
10 Replies
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

You need two parts: A working bootloader project (a .hex and .elf file would be enough)

and a (your) bootloadable project which refers to the bootloader.

Because you didn't mention which Creator version you are running on I would sugest you to upload your project.

To do so, use

Creator->File->Create Workspace Bundle (minimal)

and attach the resulting file.

Bob

0 Likes
Anonymous
Not applicable

Ok so I actually made some progress. I've managed to get it all running nicely (I am using version 4.2 btw)
My solution was to update the bootloader component ONLY (Still have clock warnings), and reference it to my usual bootloader hex file. the problem I am now having is with the python script. - I should add that the fact that bootloader host doesn't retain the baud rate you set between startups drives me insane!

I have made the edits to the lines of code regarding com port and file location, but when I try to run the module it complains about what I'm assuming is a syntax error  (Missing parenthesis around 'print data array'), However I am not familiar with python and I have assumed that it should read 'print (data_array);'

I have made this correction throughout the script, and this time it runs, HOWEVER I get this output (Everything after 'traceback' is in red )

"Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 16:07:46) [MSC v.1900 32 bit (Intel)] on win32

Type "copyright", "credits" or "license()" for more information.

>>>

RESTART: F:\GigaTech\PSOC\Workspace02\4DollarProgrammer\Python Programmer.py

Traceback (most recent call last):

  File "F:\GigaTech\PSOC\Workspace02\4DollarProgrammer\Python Programmer.py", line 1, in <module>

    from serial import Serial

ModuleNotFoundError: No module named 'serial'

>>> "

What do?

0 Likes
Anonymous
Not applicable

Further developments / New problems!

I have run 'pip install pyserial' from the command line to get the required package (thanks to a friend's advice) but now get a whole new set of errors.

"

Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 16:07:46) [MSC v.1900 32 bit (Intel)] on win32

Type "copyright", "credits" or "license()" for more information.

>>>

RESTART: F:\GigaTech\PSOC\Workspace02\4DollarProgrammer\Python Programmer.py

Traceback (most recent call last):

  File "F:\GigaTech\PSOC\Workspace02\4DollarProgrammer\Python Programmer.py", line 204, in <module>

    SendAcquireCommand();

  File "F:\GigaTech\PSOC\Workspace02\4DollarProgrammer\Python Programmer.py", line 171, in SendAcquireCommand

    ser.write(data_array);

  File "C:\Users\Jamie\AppData\Local\Programs\Python\Python36-32\lib\site-packages\serial\serialwin32.py", line 308, in write

    data = to_bytes(data)

  File "C:\Users\Jamie\AppData\Local\Programs\Python\Python36-32\lib\site-packages\serial\serialutil.py", line 66, in to_bytes

    return bytes(bytearray(seq))

TypeError: an integer is required

>>>

"

I have also tried using the package update command suggested by the cl after installing it but get the same warnings.

0 Likes

Seemingly not a PSoC problem?

Bob

0 Likes
Anonymous
Not applicable

Just thought I might be able to get some support here considering the issue does revolve around a PSOC, even if it's not directly caused by one.

0 Likes
RyanZhao
Moderator
Moderator
Moderator
250 sign-ins First question asked 750 replies posted

Seems that the 'data_array' not transferred correctly?

It may require to double-check the code in 'Python Programmer.py'...

Thanks,

Ryan

0 Likes
Anonymous
Not applicable

Yeah, I'm certain the issue is with the script at this point.
might just be worth biting the bullet and ordering a miniprog3.
My poor budget is running dry.

0 Likes
RyanZhao
Moderator
Moderator
Moderator
250 sign-ins First question asked 750 replies posted

You can purchase a CY8CKIT-043​/CY8CKIT-145​ instead of MiniProg-3. Its kitprog on board can be used as a programmer and USB-UART/I2C bridge to debug those PSoC4 series with XRES pin.

Thanks,

Ryan

0 Likes
MotooTanaka
Level 9
Level 9
Distributor - Marubun (Japan)
First comment on blog Beta tester First comment on KBA

Hi,

The python error might be caused by using different version of python.

Although the new one is python 3.x, I "heard" that there are tons of

python 2.7 scripts/programs.

How about trying them using python 2.7?

moto

0 Likes
Anonymous
Not applicable

Python 2.7 (2.8?) and Python 3.x are mutually exclusive in alot of their architecture, and so if you are trying to run a script for one using the other, they are different enough to cause issues with operation.

0 Likes