I just tried it from another computer an the was no problem at all (with the same easypdkprog.exe). As soon as I am at home I will try it again. I think maybe the program is blocked (I used the exe from the releases and did not compile myself).
It seems like the programm had a problem with some of my other COM Ports (virtual bluetooth COM Ports), thats why it stuck at the search for the programmer
I habe another program,
I already build up one programmer and now build some more as a gift and as spare. So far the boards seem to work and I could flash them with the firmware. Tee problem I have with the new boards is, that if I connect them to the PC they always enter the mode to program them. I could not figure out why till now. I measured the connections and they seem to be okay. If I press the botton for the programming mode I get 3.3V on Pins Boot0 und PA15, but if I release the button I get 1.0V instead of 0V. So far I testet the pulldown resistor and it is connected correct and also switched the 20k to 10k without result (only the measured voltage droped a tiny bit). I could not figure out what I did wrong. I have to of this boards which show the same behavior. THe only difference to my first and working pdk programmer ist the supplier of the chips. The first came from lcsc but the chips from the other boards came frome a seller from ebay, because I could not find the chip from any distributor (lcsc, mouser, digikey, ...). Could it be that I have got fake chips (but if thats the case it is strange that I could program them without a problem).
Yes I checked that thr flashing ist corect. I flashed the same firmware for both (my first and the new programmers). The firmware ist flashed and the progress bar reaches by all programmers the 100% and fineshes flashing.
What can I try next?
Can you provide the output of DFU util so we can have a look?
Readout of the the programmer worked with dfu-util. I compared the working programmer, the two not working and the firmware file.
The file from the working programmer and the firmware were the same. The file from the two not working programmers had some clear text errors like "Flash WRP is not setting...", "Flash WRP setting error!", "Checksum FAIL!!", ...
Readout files 2 and 3 are frome the "defect" programmers, file 1 from the working.
Thank you for the hint with the to high temperature. The were new but at first I soldered them the wrong way and had to desolder them (280°C for a few minutes) to turn them the right way.
Could you tell me from the readout, if the flash is really bad and if I have to switch the uC?
Start the ST Flash Loader Demonstrator, select the COM port from your connected FTDI adapter, click Next and if all goes well the STM32F072 is detected.
In case you can not detect the IC make sure, use a power bank or your phone charger and plug it into USB port of easy pdk programmer while holding the button.
(This prevents STM32 ROM bootloader to enter USB DFU which it would do in case USB activity is detected, instead it wait for UART connect which you will do with the ST tool).
Also you might need to exchange RX and TX (not sure how your FTDI adapter is labeled).
When STM32F072 was detected properly you can select a firmware to flash (you can use the DFU file directly - even that it asks you for bin file). When you try to flash it the ST tool will tell you that it needs to remove the WRITE PROTECTION, click on "yes" and this should do the trick.
Start the ST Flash Loader Demonstrator, select the COM port from your connected FTDI adapter, click Next and if all goes well the STM32F072 is detected.
In case you can not detect the IC make sure, use a power bank or your phone charger and plug it into USB port of easy pdk programmer while holding the button.
(This prevents STM32 ROM bootloader to enter USB DFU which it would do in case USB activity is detected, instead it wait for UART connect which you will do with the ST tool).
Also you might need to exchange RX and TX (not sure how your FTDI adapter is labeled).
When STM32F072 was detected properly you can select a firmware to flash (you can use the DFU file directly - even that it asks you for bin file). When you try to flash it the ST tool will tell you that it needs to remove the WRITE PROTECTION, click on "yes" and this should do the trick.
I tried it with both not working programmer, but none of them was detected. I made sure the PINs are connected correctly and the power came from a phone charger. I also pressed the button while connection to power. The ST Flash Tool always ran in a timeout.
When STM32F072 was detected properly you can select a firmware to flash (you can use the DFU file directly - even that it asks you for bin file). When you try to flash it the ST tool will tell you that it needs to remove the WRITE PROTECTION, click on "yes" and this should do the trick.
PA |=1<<4:
PAC |=1<<4; // HI
PAC &=~(1<<4); // Z
PA |=1<<4:
PA |=1<<3; // turn on PA3
PAC |=1<<4; // This will not activate the pin anymore!
PAC &=~(1<<4); // Z
GPCC = GPCC_COMP_ENABLE | GPCC_COMP_MINUS_BANDGAP_1V2; // Activate comparator. Negative input is bandgap, positive input is resistor ladder
// SAR ADC using the internal resistor ladder
__asm
mov a, #0x20 ; GPCS.4 = 0 GPCS.5 = 1
or a, #0x08 ; Bit 3
mov __gpcs,a
t0sn __gpcc, #6
xor a, #0x08
or a, #0x04 ; Bit 2
mov __gpcs,a
t0sn __gpcc, #6
xor a, #0x04
or a, #0x02 ; Bit 1
mov __gpcs,a
t0sn __gpcc, #6
xor a, #0x02
or a, #0x01 ; Bit 0
mov __gpcs,a
t0sn __gpcc, #6
xor a, #0x01
and a,#15 // Result is now in A register.
set0 __gpcc,#7 ; turn comparator off
ret
__endasm;
Hello,
1st of all, big thank you to everyone who worked on this incredible project.
I have an issue, I have carefully assembled the Easy-pdk-programmer pcb 2 times (although I think I got PTSD from soldering it) and both times I get the same result; 9193-33 regulator (U2 on schematic) heats up rather quickly and PC does not recognize that a device has been plugged into USB. I can find no shorts or cold joints. Is it possible I cooked one of the components while soldering? I know this is super vague but any suggestions before I try to solder a 3rd board and ruin that one too would be great. Thanks.
*edit* I get less than 1 ohm of resistance across C5, C7, C8, C9, C12. That will mean that the Vout of the regulator is essentially shorted to ground (which explains why board doesn't start) but can't tell in-circuit what the issue is. seems like maybe I should try and re-solder the microcontroller because it has a bunch of pins where 3.3v and GND are adjacent, so most likely that is where the problem is?
I may have found a strange bug (feature?) in the IO ports of the PFS154.
I used the following code to switch a PGIO between logical high ("Hi") and high impedance state ("Z").Code: [Select]PA |=1<<4:
PAC |=1<<4; // HI
PAC &=~(1<<4); // Z
This works fine. But if another port is accessed in between, it appears that the state of PA is lost?Code: [Select]PA |=1<<4:
PA |=1<<3; // turn on PA3
PAC |=1<<4; // This will not activate the pin anymore!
PAC &=~(1<<4); // Z
Very odd. Has anybody seen similar?