cancel
Showing results for 
Search instead for 
Did you mean: 

I want to use the STM32G474VET6 in a robotic application with 3 motors and a diff GPS. Can I program it in Assembly or do I use C? If the latter is Keil a good compiler?

KDIAS.2340
Associate II
 
49 REPLIES 49
KDIAS.2340
Associate II

Thanks. This shows a 14-pin connector; mine has 20-pin, so trying to figure this out.

Additional nice option:

https://www.segger.com/products/debug-probes/j-link/models/j-link-edu-mini/

> Thought this was a helpful site.

Helpful doesn't mean other people wasting their time on basic Google searches for you only because you are too lazy to do it and read something.

"20-pin JTAG header" Should pull up images and details

http://www2.keil.com/coresight/coresight-connectors/

The ST-LINK/V2 pod has a 20-pin header/ribbon cable. Ditto Segger J-Link, and Keil's uLink

JTAG is a standardized method of getting data in/out of a chip for test purposes. It is basically a "Scan-Chain" that provides secondary access to logic FLIP-FLOPs throughout the device, allowing data/states to be shifted in, and later shifted out. Perhaps there is a WikiPedia page on this.

https://en.wikipedia.org/wiki/Scan_chain

https://en.wikipedia.org/wiki/JTAG

ARM uses it as a method to access sections of the CPU core. It is built in to the silicon design, not software. The header provides for a standard means of connectivity. Several vendors have their own implementation, or connectors. The ST-LINK/V3 uses either an ARM 10-pin SWD/JTAG header, or ST's expansion on that, which also provides for UART connectivity.

You need an external pod to provide ready access to this interface. Host side debugger software interfaces via the external pod. These things tend to be external so as not to burden the IC with unnecessary HW/SW for the debug/development use case, ie not needed for the millions/billions of parts in end user products beyond programming at factory.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

http://www2.keil.com/coresight/coresight-connectors/#20pin

0690X00000Butb8QAB.png

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
KDIAS.2340
Associate II

Thanks to all who provided helpful replies: As I see it this is all I need:

  1. J-LINK Debugger/Programmer to connect to my targer board. This comes with a 20-pin connector, cable and a printed cct. board Hence, would comprise of HW and SW. I could get it from STM or Keil. May be STM is preferable.
  2. Keil SW - This is req'd to program my STM32G4 chip. THIS IS ONLY AVAILABLE FROM KEIL?
Piranha
Chief II
  1. ...or, if you'd be able to read, SEGGER, which has really good software support.
  2. There are at least 4 options mentioned in this topic. Again - try reading? Here is another one: SEGGER Embedded Studio.

Also: https://en.wikipedia.org/wiki/List_of_ARM_Cortex-M_development_tools

https://www.mouser.com/ProductDetail/STMicroelectronics/ST-LINK-V2

Writing code Keil, or whatever the exiting engineers were using. Keil will support ST-LINK, J-LINK or u-LINK debug pod for purposes of programming/debugging

"Programming" the physical device with a .BIN or .HEX file, use ST-LINK Utilities, or STM32 Cube Programmer.

https://www.st.com/en/development-tools/stm32cubeprog.html

https://www.st.com/en/development-tools/stsw-link004.html

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

Thanks. Based on this, I am thinking of getting Keil as I am just a beginner. So, I believe that I need to buy the 20-pin debug pod (NOT SURE WHICH MODEL) and Keil SW and then can start. Is this all I need to get started?