stm32F412 wil niet programmeren

Stijnos

Golden Member

Ik heb een proto bordje ontworpen met een STM32F412RG
Ik wil deze gebruiken op het STM32 mikroe bord., dus heb ik daar zelf een addon voor gemaakt.
Nu kan de stm on board programmer (ST link) de target niet vinden met mijn bordje.
Dus het bordje eens van het mikroe bord gehaald en van 3V voorzien en jtag lijnen aangesloten op een losse ST Link V2 programmer van ST.
Maar ook met deze programmer en de STM32 ST-LINK Utility kan hij de target niet vinden. Zowel via jtag als SWD niet.

Als ik meet tussen programmeer header en pennen op de micro is alles verbonden.
Ook alle voedings pennen van de uC hebben spanning en ground.

Ik twijfel wellicht of het 25Mhz Kristal goed contact maakt, maar volgens mij heeft de STM32 ook een interne RC, dus weet niet of hij dat externe kristal ook echt nodig heeft om iig het target te herkennen.

Aan de st link 20 pin header heb ik van de stm32f412 de volgende lijnen verbonden:

JNTRST (PB4)
JTDI (PA15)
JTMS (PA13)
JTCK (PA14)
JTDO (PB3)
NRST (nReset)
V target en gnd target.

Heeft iemand nog tips om te controleren? Vast een domme fout gemaakt, maar STM32 is nieuw voor mij.

Wat me wel opvalt is dat het printje nog geen milli ampere trekt aan 3V.
Wellicht is de processor zo zuinig. Er zit nog geen firmware in namelijk, maar er zitten ook nog 3 rs485 line driver IC's op het printje.
En toch hebben ze allemaal 3V voeding als ik op hun ic pennen meet

Op 20 juni 2019 14:20:41 schreef Stijnos:
Ik twijfel wellicht of het 25Mhz Kristal goed contact maakt, maar volgens mij heeft de STM32 ook een interne RC, dus weet niet of hij dat externe kristal ook echt nodig heeft om iig het target te herkennen.

Jep. Dat is van later zorg: je moet hem prima kunnen programmeren zonder extern kristal.

Aan de st link 20 pin header heb ik van de stm32f412 de volgende lijnen verbonden:

JNTRST (PB4)
JTDI (PA15)
JTMS (PA13)
JTCK (PA14)
JTDO (PB3)
NRST (nReset)
V target en gnd target.

PA13, PA14 SWDAT / SWCLK zou genoeg moeten zijn. Daarnaast wil je NRST ook wel aansluiten, maar zonder moet kunnen. PB4 moet je (evt via een ledje) aan de VCC hangen. De NRST voorlopig ook even aan de voeding (via weerstandje) kan ook geen kwaad.

Ja mijn bordjes zijn ook vrij zuinig als er geen programma inzit. Maar nog nooit gemeten HOE zuinig. (bordje 3mA -> ongeveer de helft van wat ik van een ouderwetse LM1117 zou verwachten, STM: niet meetbaar).

P.S. Ik zie een kortsluiting op de kristal pinnen, maar daar kan het huidige probleem niet aan liggen.
P.S2. je hebt te weinig ontkoppel condensatoren rond de chip zitten.

P.S3. Ik denk dat ik een bordje heb waar ie op zou kunnen. Dan heb je een werkend(bewezen) bordje.... (volgens mij heb ik de '412 niet getest verder dan dat ik hem zag met de programmer, maar voor de rest heb ik nergens problemen gehad met iets van 10 verschillende types op de bordje).
P.S.4: wat heb je met de boot-pinnen gedaan?

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

Ook een hele tijd gezeten over de programmeerconnector bij een STM32. Uiteindelijk gekomen op volgend schema:

Als ik de reset jumper (P14) op op 2-3 zet kan ik mijn STM32 programmeren. Oh ja en vergeet geen bergen ontkoppelcondensatoren te plaatsen, want die microcontroller kan op een redelijk hoge frequentie zijn werk doen.

1 electron per seconde = 16 atto ampere!
Stijnos

Golden Member

Zal morgen eens proberen die reset pen van de jtag, staat dat printje in je webshop rew?

Toen het printje klaar was, kwam ST ineens met de discovery boardjes voor rond een tientje. Daar kan ik niet tegenop: Ik moet rond de twee tientjes vragen. Ik verkoop ze soms "onderhands" aan mensen die een microcontroller met wat firmware nodig hebben.

Ik zit zelf "omhoog" dat ik vind dat ik op kantoor weer wat meer van die bordjes moet hebben rondslingeren(*). Dus ik zou kunnen proberen om vandaag een batch te maken met voornamelijk '072s en 1 of 2 '41xs. Ik denk dat ik 2 van die 41x CPUs heb liggen. Als je twee tientjes custom order koopt, probeer ik er 1 op te sturen. (je mag me ook mailen, maar de shop vraagt dan de juiste dingen als verzendadres, factuuradres en of je AUB wilt betalen... :-) ). Ik stuur je dan 1 bestukt printje, met "best effort" een '412 er op, en 1 leeg printje waar je zelf je eigen '412 op kan solderen. Je kan kennelijk met de hand 64-pins TQFPs solderen. :-)

(*) Ik heb er nog vier die kennelijk slordig gesoldeerd zijn, die liggen bij mijn "moeilijke soldeer problemen" mannetje. :-)

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
Stijnos

Golden Member

Ik heb net nog even snel geprobeerd met de reset aan vcc en enkel SWD op PA13 en PA14, maar dat is hem niet geworden helaas.
Heb je even een mailtje gestuurd voor dat printje.
Hopelijk bied dat een eureka momentje. Misschien toch een foutje in mijn printje. Ontkoppeling zit er enkel op met 4x een tantaaltje.
Had ene bordje van mikroE nagemaakt, maar dan met andere STM32 erop, die hadden ook niet anders. Even niet op gelet sorry.

1 tantaaltje is ZEKER niet genoeg, want je moet zowel de 3.3V als de gereguleerde 1.2V ontkoppelen. Ik heb je ondertussen meerdere mailtjes gestuurd, maar jou mailserver vind de mijne niet lief. Je krijgt morgen een doosje.

P.S. Ik weet niet zeker of ik het hier op CO al eens had gezegd... Ik had een printje ontworpen voor de LAN9514 van microchip. Mijn klant: "tjeeempie, jij bent wel helemaal los gegaan met de ontkoppelcondensatoren!" Ik: "ehh, Ik heb de aanwijzingen van de fabrikant opgevolgd....". Paar exemplaren zitten assembleren, maar 1 komt niet door de test "werkt het?". Blijkt er 1 onkoppelcondensator afgevallen te zijn tussen bestukken en de reflow-oven.

Les van eerder: Ontkoppelcondensatoren NIET op bezuinigen. Je komt onverwachte problemen tegen, en op een andere manier dan je verwacht waardoor het ontzettend veel tijd kost om te debuggen. Als dit inderdaad een ontkoppelprobleem blijkt, dan heb je nu een "door schade en schande wijs geworden" ervaring... :-)

P.S. ALS je wilt bezuinigen op de ontkoppelcondensatoren, dan ontwerp je je print met RUIM voldoende exemplaren er op, en dan moet je een sessie houden waarbij je ze 1 voor 1 weg gaat laten. Andersom: "ik denk dat het zo wel kan", en dan zo nodig extra toevoegen kost VEEL meer tijd omdat je onverwachte problemen tegenkomt die op geen enkelemanier op een "ontkoppelprobleem" lijken.......

Op mijn bordje moet je voor de '412 C14 WEL, monteren, zit aan pin 30 vast. En dat is degene waarvan ik vrij zeker weet dat ie er op moet want anders werkt het niet.

Net opgezocht. Net als voor de '072 moeten c5 en C6 kortgesloten worden.

Update: Tweede mailadres loopt via dezelfde server.

Tsja, zal wellicht toch die ontkoppeling zijn, maar heb andere mcu kaartjes van mikroE en die hebben het volgens mij ook niet, op een 4 a 5 tantaaltjes na.

4 a 5 tantaaltjes klinkt als "genoeg". Als je wilt bezuinigen, dan kan je proberen op de VCC 3.3V lijn met minder dan "op iedere hoek 1" toe kan, en daarnaast 1 op pin 30, de interne 1.2V. Ik begreep van jou dat je 1 tantaaltje had, dat gaat hem echt niet worden. Maar misschien heb ik het verkeerd begrepen. (ook "4x 100nF is toch 400nF, dus 470nF moet genoeg zijn?" gaat niet op.)

[Bericht gewijzigd door rew op 21 juni 2019 15:19:09 (14%)]

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
EricP

mét CE

Geen ervaring met STM-hardware-ontwikkeling (wel ooit eens wat code voor gebakken)...

Ik kan de betoog van rew in 1 zin samenvatten: houd je aan de specs van de fabrikant, zowel qua aantal, positionering als type van bypass Cs.

[oude doos]Ooit eens betrokken geweest bij de ontwikkeling van een developmentboard formaat 'pizzaboard'. Ik moet zeggen dat de PCB-tekenaars het best leuk gedaan hebben. Bijna overal specs van de fabrikant letterlijk gevolgd. Prima. De bestucker wat wat makkelijker, ipv. X7R was er X5R op gegaan. Los op tafel draaide dat stabiel. Ingebouwd werd het board 30 graden warmer en toen was het een probleem.
Qua engineering uren heeft dat ontdekken meer gekost dan er ooit aan productie boarden aan condensatoren op geplakt gaat worden.
(waarbij je je dan ook nog af kunt vragen... hoe lekker die hardware is als dit zo kritisch is, idem met rew z'n verhaal over die LAN chip).

Heel vroeger, toen ik nog geen grijze haren had, moesten wij een stuk hardware maken met gewone (7400) poortjes. 1 van de testen was: trek alle bypass Cs eraf en kijk of het nog loopt. Zo nee: je hebt lopen kl*ten met timing. Maar die tijden zijn wel voorbij :)

Nog een andere instinker: een 2.5V voeding waarbij de feedback weerstandsdeler eh.. mis was en het ding spot-on op 3V3 zat. Bij een quick-scan ff gemist (yep, voedingen zijn er). In het schema stond er ook keuring 3V3 bij. In de datasheet 2V5. Heeft ook wel een paar uurtjes gekost voordat die programmeerbaar was :).[/oude doos]

Op 21 juni 2019 15:38:03 schreef EricP:
hoe lekker die hardware is als dit zo kritisch is, idem met rew z'n verhaal over die LAN chip).

D'r is m.i. verschil tussen de situatie waarbij je 5 VCC pins hebt op je chip en je maar 4 condensators monteert of zoals op de LAN chip dat je vier verschillende voedingsrails hebt, waarbij je op sommige maar 1 pin en 1 ontkoppelcondensator hebt.

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
Stijnos

Golden Member

na wat tips en een test bordje van rew toch maar een nieuw printje gesoldeerd met enkel de stm32 en voorzien van extra ontkoppeling alles keramisch.
En nu werkt het wel. Misschien toch geen goede ontkoppeling of gewoon weg een soldeer foutje