Sunday, May 3, 2020

STM32F767IG Begins!

ge64lqfp_stm32-40.jpg So it begins! New hardware, new programming, new struggles and NO HAIR.

I’ve been working on a board that has 2 items on it, 8MB Ram, and an STM32F767IG, while I have a long way to go I am learning alot in a few short days.

The IDE and the CubeMX is clunky and slow, but its a way into the evinronment. I am finding aspects of the chip confusing and hard to read manuals, I am from the envinronment of the Microchip controllers. Microchip have been good to me and while they offer some very good products and support, the fact that I would have to pay a subscription for using a GCC compiler if I wanted to have optimised for speed.

While looking for alternatives We came across this ST company doing some frightfully fast MCU’s. We found that MCUS for our project would be good. This allows for external ram and a whole host of peripherals.

I decided to make a log of the things I learn and figure out. Snippets of code and advise and things I found out along the way.
I am on day 2 of just working out how the Internal Clock is configured.. and using the MX it configures a lot, I would recommend saving your work if you use this as it likes to create the code for you and sometimes over writes the main().

// Testing the max speed of the GPIO pins
for (;;) {
		GPIOA->BSRR = (0xffff)<<16;	GPIOA->BSRR = (0xffff); 
		GPIOA->BSRR = (0xffff)<<16;	GPIOA->BSRR = (0xffff);
		GPIOA->BSRR = (0xffff)<<16;	GPIOA->BSRR = (0xffff);
		GPIOA->BSRR = (0xffff)<<16;	GPIOA->BSRR = (0xffff);
		GPIOA->BSRR = (0xffff)<<16;	GPIOA->BSRR = (0xffff);
		GPIOA->BSRR = (0xffff)<<16;	GPIOA->BSRR = (0xffff);
		GPIOA->BSRR = (0xffff)<<16;	GPIOA->BSRR = (0xffff);
		GPIOA->BSRR = (0xffff)<<16;	GPIOA->BSRR = (0xffff);
	}

the speed of this is QUICK at the CPU running (or should I say the clock settings) are set to 216Mhz. I’ve had to test.

it works, but I am still fuzzy on how things got setup and how they worked.

Right now. I am struggling with just getting a basic UART to work.

Programming the chip was a nightmare to setup until someone in the facebook group pointed out I needed to use or was better to use the CubeProgrammer, Which worked, using a TTL Serial to USB device I was able to use the OnBoard Serial Port BootLoader.

Got the first program working, which was the hello world blinky light.
Its not much but it at least is a start and away to help me believe I didn’t bite off more than I could chew!

I hope to progress.

resources to links i found:
https://gist.github. … 22a268ce890a118571ca