Need pointers for developing an ARM-based development board - Page 1
Forum section: electronics / general

author: DefectiveDiode
author_rank: Newbie
timestamp: September 09, 2019, 04:36:47 pm
content: I've been working on a digital music synthesizer the past few months and have hit a road block: the MCUs I'm using are not powerful enoughI've been using Arduinos, Blue Pills, and an STM Nucleo board ( F722ZE to be specific). I've ran into issues with the amount of RAM and Flash that I have to use.After browsing Digikey for something a bit beefier, I found the STM32F765VGT6(https://www.digikey.com/product-detail/en/stmicroelectronics/STM32F765VGT6/497-16630-ND/6137841). It interested me due to its speed and increased memory compared to everything I've been using.However, it only comes in a chip instead of a development board so I would have to make a board to use and program it. I'm an electrical engineering student in my last year and think this would be a great project to learn, but I need some tips/help. Here's a few questions I have:Besides voltage regulators and passive components, is there anything else I should note being necessary?Are there any other guides out there that assist newbies in making ARM- related boards?Do the JTAG programming pins connect directly to pins or do they require another IC to manipulate the data?Is there specific pins that require passives that other pins don't need?Thanks in advance for your help.

author: Sal Ammoniac
author_rank: Super Contributor
timestamp: September 09, 2019, 04:44:58 pm
content: Check out this app note; it answers most of your questions.https://www.st.com/resource/en/application_note/dm00164549.pdf

author: rstofer
author_rank: Super Contributor
timestamp: September 09, 2019, 04:46:17 pm
content: Pin count matters so I may be way off...Teensy 4.0 is an ARM Cortex M7 running at 600 MHz. It has 1MB of RAM and 2MB of Flash. You an just plug it in to a daughter board.https://www.pjrc.com/store/teensy40.html

author: DefectiveDiode
author_rank: Newbie
timestamp: September 09, 2019, 04:50:29 pm
content: Thank you, I will probably use this in the future for other board development, especially since the chip I was looking at has a built in DAC.I've heard of the Teensys before but didn't realize they were as powerful as they are, I'll most likely use one as my immediate solution.

author: Sal Ammoniac
author_rank: Super Contributor
timestamp: September 09, 2019, 05:01:58 pm
content: Another option, if you want to stick with Nucleo boards, is the STM32H7. There're several Nucleo boards based on this chip: NUCLEO-H743ZI and NUCLEO-H753ZI. The latter has a Cortex-M7 running at 480 MHz and 2M of flash and 1M of RAM.https://www.st.com/en/evaluation-tools/nucleo-h753zi.html

author: Nominal Animal
author_rank: Super Contributor
timestamp: September 09, 2019, 08:10:48 pm
content: The current versions of the Teensy Audio daughterboard need modifications to be Teensy 4.0 compatible,but the next version that is 4.0 compatible is being manufactured, andwill be shipping at or around 2019-09-23. Theaudio boardis based on an SGTL5000 chip, and you can use two of them for 4-channel audio. Teensies use I2S and DMA to push the audio data, so especially Teensy 4 will have lots of time (and lots of RAM!) to generate or process audio data.

author: AndyC_772
author_rank: Super Contributor
timestamp: September 09, 2019, 08:46:33 pm
content: STM32F767 Nucleo board is cheap and readily available:https://uk.farnell.com/stmicroelectronics/nucleo-f767zi/dev-board-nucleo-32-mcu/dp/2546569?st=stm32f7If you want to make your own board, it's easy enough to hook up, just power, reset and BOOT pins IIRC. You can debug it using an ST-Link cable with the very simple SWO interface.Do be aware, this part has some significant changes to the core compared to the M3 / M4. In particular, it supports out-of-order execution and has caches, which means you need to consider cache coherency in your code and will need ISB / DSB instructions in various places to ensure that anything which must be done in a particular order, actually is.For these reasons, I found programming it to be quite challenging - but ultimately rewarding when you figure out exactly why it's producing stale data or crashing in an exception handler for the umpteenth time. (Tip: try to use the non-cacheable TCM SRAM for anything involving DMA if you can).