electro-music.com   Dedicated to experimental electro-acoustic
and electronic music
 
    Front Page  |  Radio
 |  Media  |  Forum  |  Wiki  |  Links
Forum with support of Syndicator RSS
 FAQFAQ   CalendarCalendar   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   LinksLinks
 RegisterRegister   ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in  Chat RoomChat Room 
 Forum index » DIY Hardware and Software » Microcontrollers and Programmable Logic
STM32F746G Discovery Board from STmicroelectronics
Post new topic   Reply to topic Moderators: State Machine
Page 2 of 5 [122 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
Goto page: Previous 1, 2, 3, 4, 5 Next
Author Message
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Mon Jun 26, 2017 8:05 am    Post subject: Reply with quote  Mark this post and the followings unread

I did indeed miss that post and it turns out I'd already downloaded that file, so I'm reading it now - Thanks! (yep, prolly more questions later).

And I sympathize regarding makefiles. I've always had difficulty with the syntax - and so far I've survived without using makefiles at all, but I think I will probably need to learn that too.

_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
BobTheDog



Joined: Feb 28, 2005
Posts: 4044
Location: England
Audio files: 32
G2 patch files: 15

PostPosted: Mon Jun 26, 2017 8:25 am    Post subject: Reply with quote  Mark this post and the followings unread

Ah, I was only knocking a makefile up because I thought you used them!

Instead of doing that I will just include a zip with the source files and linker definition file.

I'm listing out the build details here which should be enough to get you going?:


Code:

15:00:48 **** Build of configuration Debug for project STM32F746G_Discovery_AXIM_FLASH ****
make all
Building file: /Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/Src/main.c
Invoking: MCU GCC Compiler
/Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/SW4STM32/STM32F746G_Discovery_AXIM_FLASH/Debug
arm-none-eabi-gcc -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -DUSE_FULL_LL_DRIVER -DSTM32F746xx -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/Inc" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/CMSIS/Device/ST/STM32F7xx/Include" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Inc" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/CMSIS/Include"  -Os -g3 -Wall -Wno-strict-aliasing -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Example/User/main.d" -MT"Example/User/main.o" -o "Example/User/main.o" "/Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/Src/main.c"
Finished building: /Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/Src/main.c
 
Building file: /Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/Src/stm32f7xx_it.c
Invoking: MCU GCC Compiler
/Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/SW4STM32/STM32F746G_Discovery_AXIM_FLASH/Debug
arm-none-eabi-gcc -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -DUSE_FULL_LL_DRIVER -DSTM32F746xx -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/Inc" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/CMSIS/Device/ST/STM32F7xx/Include" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Inc" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/CMSIS/Include"  -Os -g3 -Wall -Wno-strict-aliasing -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Example/User/stm32f7xx_it.d" -MT"Example/User/stm32f7xx_it.o" -o "Example/User/stm32f7xx_it.o" "/Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/Src/stm32f7xx_it.c"
Finished building: /Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/Src/stm32f7xx_it.c
 
Building file: /Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/SW4STM32/startup_stm32f746xx.s
Invoking: MCU GCC Assembler
/Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/SW4STM32/STM32F746G_Discovery_AXIM_FLASH/Debug
arm-none-eabi-as -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -g -o "Example/SW4STM32/startup_stm32f746xx.o" "/Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/SW4STM32/startup_stm32f746xx.s"
Finished building: /Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/SW4STM32/startup_stm32f746xx.s
 
Building file: /Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_adc.c
Invoking: MCU GCC Compiler
/Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/SW4STM32/STM32F746G_Discovery_AXIM_FLASH/Debug
arm-none-eabi-gcc -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -DUSE_FULL_LL_DRIVER -DSTM32F746xx -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/Inc" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/CMSIS/Device/ST/STM32F7xx/Include" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Inc" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/CMSIS/Include"  -Os -g3 -Wall -Wno-strict-aliasing -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_adc.d" -MT"Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_adc.o" -o "Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_adc.o" "/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_adc.c"
Finished building: /Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_adc.c
 
Building file: /Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_crc.c
Invoking: MCU GCC Compiler
/Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/SW4STM32/STM32F746G_Discovery_AXIM_FLASH/Debug
arm-none-eabi-gcc -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -DUSE_FULL_LL_DRIVER -DSTM32F746xx -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/Inc" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/CMSIS/Device/ST/STM32F7xx/Include" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Inc" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/CMSIS/Include"  -Os -g3 -Wall -Wno-strict-aliasing -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_crc.d" -MT"Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_crc.o" -o "Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_crc.o" "/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_crc.c"
Finished building: /Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_crc.c
 
Building file: /Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_dac.c
Invoking: MCU GCC Compiler
/Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/SW4STM32/STM32F746G_Discovery_AXIM_FLASH/Debug
arm-none-eabi-gcc -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -DUSE_FULL_LL_DRIVER -DSTM32F746xx -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/Inc" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/CMSIS/Device/ST/STM32F7xx/Include" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Inc" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/CMSIS/Include"  -Os -g3 -Wall -Wno-strict-aliasing -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_dac.d" -MT"Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_dac.o" -o "Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_dac.o" "/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_dac.c"
Finished building: /Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_dac.c
 
Building file: /Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_dma.c
Invoking: MCU GCC Compiler
/Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/SW4STM32/STM32F746G_Discovery_AXIM_FLASH/Debug
arm-none-eabi-gcc -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -DUSE_FULL_LL_DRIVER -DSTM32F746xx -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/Inc" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/CMSIS/Device/ST/STM32F7xx/Include" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Inc" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/CMSIS/Include"  -Os -g3 -Wall -Wno-strict-aliasing -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_dma.d" -MT"Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_dma.o" -o "Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_dma.o" "/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_dma.c"
Finished building: /Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_dma.c
 
Building file: /Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_dma2d.c
Invoking: MCU GCC Compiler
/Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/SW4STM32/STM32F746G_Discovery_AXIM_FLASH/Debug
arm-none-eabi-gcc -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -DUSE_FULL_LL_DRIVER -DSTM32F746xx -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/Inc" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/CMSIS/Device/ST/STM32F7xx/Include" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Inc" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/CMSIS/Include"  -Os -g3 -Wall -Wno-strict-aliasing -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_dma2d.d" -MT"Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_dma2d.o" -o "Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_dma2d.o" "/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_dma2d.c"
Finished building: /Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_dma2d.c
 
Building file: /Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_exti.c
Invoking: MCU GCC Compiler
/Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/SW4STM32/STM32F746G_Discovery_AXIM_FLASH/Debug
arm-none-eabi-gcc -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -DUSE_FULL_LL_DRIVER -DSTM32F746xx -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/Inc" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/CMSIS/Device/ST/STM32F7xx/Include" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Inc" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/CMSIS/Include"  -Os -g3 -Wall -Wno-strict-aliasing -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_exti.d" -MT"Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_exti.o" -o "Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_exti.o" "/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_exti.c"
Finished building: /Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_exti.c
 
Building file: /Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_gpio.c
Invoking: MCU GCC Compiler
/Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/SW4STM32/STM32F746G_Discovery_AXIM_FLASH/Debug
arm-none-eabi-gcc -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -DUSE_FULL_LL_DRIVER -DSTM32F746xx -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/Inc" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/CMSIS/Device/ST/STM32F7xx/Include" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Inc" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/CMSIS/Include"  -Os -g3 -Wall -Wno-strict-aliasing -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_gpio.d" -MT"Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_gpio.o" -o "Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_gpio.o" "/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_gpio.c"
Finished building: /Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_gpio.c
 
Building file: /Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_i2c.c
Invoking: MCU GCC Compiler
/Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/SW4STM32/STM32F746G_Discovery_AXIM_FLASH/Debug
arm-none-eabi-gcc -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -DUSE_FULL_LL_DRIVER -DSTM32F746xx -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/Inc" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/CMSIS/Device/ST/STM32F7xx/Include" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Inc" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/CMSIS/Include"  -Os -g3 -Wall -Wno-strict-aliasing -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_i2c.d" -MT"Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_i2c.o" -o "Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_i2c.o" "/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_i2c.c"
Finished building: /Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_i2c.c
 
Building file: /Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_pwr.c
Invoking: MCU GCC Compiler
/Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/SW4STM32/STM32F746G_Discovery_AXIM_FLASH/Debug
arm-none-eabi-gcc -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -DUSE_FULL_LL_DRIVER -DSTM32F746xx -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/Inc" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/CMSIS/Device/ST/STM32F7xx/Include" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Inc" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/CMSIS/Include"  -Os -g3 -Wall -Wno-strict-aliasing -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_pwr.d" -MT"Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_pwr.o" -o "Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_pwr.o" "/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_pwr.c"
Finished building: /Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_pwr.c
 
Building file: /Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_rcc.c
Invoking: MCU GCC Compiler
/Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/SW4STM32/STM32F746G_Discovery_AXIM_FLASH/Debug
arm-none-eabi-gcc -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -DUSE_FULL_LL_DRIVER -DSTM32F746xx -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/Inc" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/CMSIS/Device/ST/STM32F7xx/Include" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Inc" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/CMSIS/Include"  -Os -g3 -Wall -Wno-strict-aliasing -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_rcc.d" -MT"Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_rcc.o" -o "Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_rcc.o" "/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_rcc.c"
Finished building: /Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_rcc.c
 
Building file: /Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_rng.c
Invoking: MCU GCC Compiler
/Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/SW4STM32/STM32F746G_Discovery_AXIM_FLASH/Debug
arm-none-eabi-gcc -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -DUSE_FULL_LL_DRIVER -DSTM32F746xx -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/Inc" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/CMSIS/Device/ST/STM32F7xx/Include" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Inc" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/CMSIS/Include"  -Os -g3 -Wall -Wno-strict-aliasing -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_rng.d" -MT"Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_rng.o" -o "Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_rng.o" "/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_rng.c"
Finished building: /Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_rng.c
 
Building file: /Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_spi.c
Invoking: MCU GCC Compiler
/Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/SW4STM32/STM32F746G_Discovery_AXIM_FLASH/Debug
arm-none-eabi-gcc -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -DUSE_FULL_LL_DRIVER -DSTM32F746xx -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/Inc" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/CMSIS/Device/ST/STM32F7xx/Include" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Inc" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/CMSIS/Include"  -Os -g3 -Wall -Wno-strict-aliasing -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_spi.d" -MT"Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_spi.o" -o "Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_spi.o" "/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_spi.c"
Finished building: /Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_spi.c
 
Building file: /Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_tim.c
Invoking: MCU GCC Compiler
/Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/SW4STM32/STM32F746G_Discovery_AXIM_FLASH/Debug
arm-none-eabi-gcc -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -DUSE_FULL_LL_DRIVER -DSTM32F746xx -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/Inc" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/CMSIS/Device/ST/STM32F7xx/Include" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Inc" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/CMSIS/Include"  -Os -g3 -Wall -Wno-strict-aliasing -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_tim.d" -MT"Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_tim.o" -o "Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_tim.o" "/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_tim.c"
Finished building: /Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_tim.c
 
Building file: /Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_usart.c
Invoking: MCU GCC Compiler
/Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/SW4STM32/STM32F746G_Discovery_AXIM_FLASH/Debug
arm-none-eabi-gcc -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -DUSE_FULL_LL_DRIVER -DSTM32F746xx -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/Inc" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/CMSIS/Device/ST/STM32F7xx/Include" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Inc" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/CMSIS/Include"  -Os -g3 -Wall -Wno-strict-aliasing -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_usart.d" -MT"Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_usart.o" -o "Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_usart.o" "/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_usart.c"
Finished building: /Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_usart.c
 
Building file: /Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_utils.c
Invoking: MCU GCC Compiler
/Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/SW4STM32/STM32F746G_Discovery_AXIM_FLASH/Debug
arm-none-eabi-gcc -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -DUSE_FULL_LL_DRIVER -DSTM32F746xx -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/Inc" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/CMSIS/Device/ST/STM32F7xx/Include" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Inc" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/CMSIS/Include"  -Os -g3 -Wall -Wno-strict-aliasing -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_utils.d" -MT"Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_utils.o" -o "Drivers/STM32F7xx_LL_Driver/stm32f7xx_ll_utils.o" "/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_utils.c"
Finished building: /Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_utils.c
 
Building file: /Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/Src/system_stm32f7xx.c
Invoking: MCU GCC Compiler
/Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/SW4STM32/STM32F746G_Discovery_AXIM_FLASH/Debug
arm-none-eabi-gcc -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -DUSE_FULL_LL_DRIVER -DSTM32F746xx -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/Inc" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/CMSIS/Device/ST/STM32F7xx/Include" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/STM32F7xx_HAL_Driver/Inc" -I"/Development/STM/STM32Cube_FW_F7_V1.7.0/Drivers/CMSIS/Include"  -Os -g3 -Wall -Wno-strict-aliasing -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/CMSIS/system_stm32f7xx.d" -MT"Drivers/CMSIS/system_stm32f7xx.o" -o "Drivers/CMSIS/system_stm32f7xx.o" "/Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/Src/system_stm32f7xx.c"
Finished building: /Development/STM/STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/Src/system_stm32f7xx.c
 
Building target: STM32F746G_Discovery_AXIM_FLASH.elf
Invoking: MCU GCC Linker
arm-none-eabi-gcc -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -specs=nosys.specs -specs=nano.specs -T"../STM32F746NGHx_FLASH.ld" -Wl,-Map=output.map -Wl,--gc-sections -o "STM32F746G_Discovery_AXIM_FLASH.elf" @"objects.list"   -lm
Finished building target: STM32F746G_Discovery_AXIM_FLASH.elf
 
/Applications/Xcode.app/Contents/Developer/usr/bin/make --no-print-directory post-build
Generating binary and Printing size information:
arm-none-eabi-objcopy -O binary "STM32F746G_Discovery_AXIM_FLASH.elf" "STM32F746G_Discovery_AXIM_FLASH.bin"
arm-none-eabi-size "STM32F746G_Discovery_AXIM_FLASH.elf"
   text      data       bss       dec       hex   filename
   1364        12      1564      2940       b7c   STM32F746G_Discovery_AXIM_FLASH.elf
 

15:00:53 Build Finished (took 4s.574ms)



Or the other alternative is to install SW4STM32 (this is what I have been using) which runs on windows/linux/os x and then mess around with importing the LL templates or examples as detailed in the pdf. You can get it here: http://www.openstm32.org/HomePage


Templates_LL_AC.zip
 Description:

Download
 Filename:  Templates_LL_AC.zip
 Filesize:  24.66 KB
 Downloaded:  685 Time(s)

Back to top
View user's profile Send private message
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Mon Jun 26, 2017 8:42 am    Post subject: Reply with quote  Mark this post and the followings unread

Very nice. I'm installing VirtualBox on this laptop (I won't be home until Thursday) and then I'll fire up Fedora 25 so that I can work in a way here at mom's house that is the same as I'll use at home. I'm beginning to start to "get" this. Someone else mentioned "templates", so that's something else I need to learn about.

As far as makefiles go, I realize they can automate the compile link and install process, but I've just used gcc at the command line with appropriate command line arguments. I sort of skirt the makefile issue by just writing a bash shell script so that I don't have to remember all of the command line arguments that are required. I'm sure that makefiles can do that, but it's just too easy to write a script.

_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
BobTheDog



Joined: Feb 28, 2005
Posts: 4044
Location: England
Audio files: 32
G2 patch files: 15

PostPosted: Mon Jun 26, 2017 9:08 am    Post subject: Reply with quote  Mark this post and the followings unread

I fully understand, I used to use makefiles when I first started work, once IDEs started becoming available I quickly unlearnt everything I know!

You should just be able to grab the command lines out of my last post and do a global replace on the pathnames and hopefully it will all work.

I can recommend using SW4STM32 to get started though as everything just works including flashing, the debugger and importing the projects/examples/templates from the CUBE F7 firmware package.
Back to top
View user's profile Send private message
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Mon Jun 26, 2017 2:31 pm    Post subject: Reply with quote  Mark this post and the followings unread

Ok, the pin mismatch with STMcubeMX is solved. I had an email exchange with Eric Brombaugh and he pointed out that there is a board tab where I can select the exact discovery board. Once I did that, the pins match. He also explained that there's another way to configure the pins when you select just the CPU chip and I want to do that because the end result of this is to be able to create my own circuit board once I get some designs working.

I also need to play with the clock configuration and figure out how to set the USART to 31250 baud. Hopefully that can be done and still satisfy the CODEC's clocking needs.

Of course, the first project will need to be a LED blinky, and then I need to modify that because I have an LED soldered to the shield board that I want to use as a MIDI LED.

So lots of fun coming up when I get home.

I have Fedora 25 installed in a VM in VirtualBox on this laptop so I can then install and try out sw4stm32_linux_64bits-v2.0 and stumble around with that.

_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Mon Jun 26, 2017 5:40 pm    Post subject: Reply with quote  Mark this post and the followings unread

Yet more confusion...

I've installed sw4stm32 in Fedora 25, but it appears that it's for Eclipse which I don't want to use - is this correct? A big problem with the STM stuff is that there are several ways to approach development and each has several pieces. I'm getting confused about what goes with what. Can I use this (under Fedora) without Eclipse? I can't see how that's done...

_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
brock



Joined: May 26, 2011
Posts: 112
Location: Canada

PostPosted: Mon Jun 26, 2017 9:41 pm    Post subject: Reply with quote  Mark this post and the followings unread

sw4stm32 IS Eclipse. You don't normally need another Eclipse installation to make it work, although you can update an existing installation to sw4stm32.
Back to top
View user's profile Send private message
BobTheDog



Joined: Feb 28, 2005
Posts: 4044
Location: England
Audio files: 32
G2 patch files: 15

PostPosted: Mon Jun 26, 2017 10:42 pm    Post subject: Reply with quote  Mark this post and the followings unread

JovianPyx wrote:
Yet more confusion...

I've installed sw4stm32 in Fedora 25, but it appears that it's for Eclipse which I don't want to use - is this correct? A big problem with the STM stuff is that there are several ways to approach development and each has several pieces. I'm getting confused about what goes with what. Can I use this (under Fedora) without Eclipse? I can't see how that's done...


When you install sw4stm32 it should install a version of eclipse with all the STM stuff pre-installed in it, this version of eclipse should be called "systemWorkbench".

I know you don't want to use Eclipse in the end but I just thought it was a good idea to start with it as you can import the projects from the F7 firmware package and have a look at how they are set up.

Concerning STMCubeMX, if you use that then it will generate HAL code. HAL is the higher level abstraction above LL. If you don't want to use HAL then you don't want to use STMCubeMX but should rather use the LL interface.

You can have a quick look at the LL template by starting SystemWorkbench (sw4srm32), then choose the menu "File->Import", then select "General->Existing projects into workspace", then browse to "STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/SW4STM32/STM32F746G_Discovery_AXIM_FLASH" and click "Open".

The project should now appear in the "Project Navigator", right click on it and choose "Build Project".

If you now look at "STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Templates_LL_AC/SW4STM32/STM32F746G_Discovery_AXIM_FLASH" in the fileing system you should see it has generated all the makefile stuff for you (in the debug folder) so you could carry on at that level rather than using eclipse if you fancied.

Last edited by BobTheDog on Mon Jun 26, 2017 11:47 pm; edited 1 time in total
Back to top
View user's profile Send private message
emeb



Joined: Dec 16, 2008
Posts: 35
Location: Arizona

PostPosted: Mon Jun 26, 2017 11:26 pm    Post subject: Reply with quote  Mark this post and the followings unread

* Yes - sw4stm32 is Eclipse-based, but it's fairly self-contained: You don't need to install eclipse, GCC or OpenOCD, you just run their installer and it's all handled for you. Could be a lot worse.

* CubeMX will generate HAL projects that you can load right into sw4stm32. It's not 100% smooth sailing in that sometimes CubeMX will screw up some stuff and you may need to hand-edit some of the code it creates in order to fix things. The ST forums are pretty helpful in figuring out the situations where this happens.

* I've not ever used the HAL LL stuff and I rarely use CubeMX. I do rely heavily on the ST example code for clues on how to initialize stuff and then I write it all myself using the high-level HAL interfaces. The LL functions look OK - fairly lightweight if that's your thing, but I like the more complete interface that high-level HAL provides, even though I don't use CubeMX.

* Lately I've been really digging the complex control you can get with ST timers. I've got some fairly hairy automatic SPI DMA stuff set up where timers generate chip selects and other synchronous control signals, then initiate the DMA. Keeps things running entirely without CPU intervention. Very nice, but also unlikely you'd be able to get CubeMX to generate the code for these setups.
Back to top
View user's profile Send private message
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Tue Jun 27, 2017 7:46 am    Post subject: Reply with quote  Mark this post and the followings unread

Thanks all who replied - I will indeed use Eclipse as a starting point. I'd used it before and I didn't like the workflow idiosyncracies, but I was able to get through it and successfully compile projects for a Zybo. I'd also like to avoid all the HAL stuff, but to get some things working and do some code analysis will make it possible to move away from HAL so that all of code is what my particular project needs and not a lot of other "stuff" that doesn't really affect it. I will probably also jump back to it is I try to slay the dragons - such as a simple project to use the CODEC to output a sine - and then go back and strip it down. At least with a working Eclipse project, I can see code that works which will help me set up the same thing in a bare-bones command line environment.
_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
BobTheDog



Joined: Feb 28, 2005
Posts: 4044
Location: England
Audio files: 32
G2 patch files: 15

PostPosted: Tue Jun 27, 2017 8:13 am    Post subject: Reply with quote  Mark this post and the followings unread

Just been looking at the audio usb device example: STM32Cube_FW_F7_V1.7.0/Projects/STM32746G-Discovery/Applications/USB_Device/AUDIO_Standalone

This gives a 2 out 0 in class compliant audio device via usb.

It is working fine on my mac, using Ableton I set the output device and the audio is working through the board to the headphone socket.

I'm going to look at getting audio going the other way and also midi...
Back to top
View user's profile Send private message
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Tue Jun 27, 2017 12:56 pm    Post subject: Reply with quote  Mark this post and the followings unread

Finally getting somewhere. After installing sw4stm32, I found the stm32cube_fw_f7 zip file I had downloaded and unzipped it into my home directory. However, when I looked in projects, there were no files. Then I noticed that somehow I had downloaded 2 files that appeared to be the same with 2 different version numbers. I had stm32cube_fw_f7_v130.zip and stm32cube_fw_f7_v131.zip. Naturally, I thought the 2nd would be the better - but I hadn't noticed that it's about 1/10 the size of the v130 file. Once I copied deleted that and copied the v131 file there, unzipped and everything now looks like the getting started PDF file looks.

Now I'm wondering what the v131.zip file is - perhaps some updates to drivers etc? Should I unzip that over the top of the v130.zip stuff?

Once I get home, I'll be able to play with the board. Odd that there's no GPIO examples for the STM32F746NG board, but there are for other supported boards. Oh well, I should be able to use other project code I found for the blinky. I've downloaded about 3 of them now, so hopefully one of them works.

Anyway, it's looking much better now and I'm starting to understand what I'm reading.

_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
BobTheDog



Joined: Feb 28, 2005
Posts: 4044
Location: England
Audio files: 32
G2 patch files: 15

PostPosted: Tue Jun 27, 2017 10:51 pm    Post subject: Reply with quote  Mark this post and the followings unread

Good stuff, glad you are getting there.

The release notes in my F7 show 14th April 2017 as the last update.
Back to top
View user's profile Send private message
Grumble



Joined: Nov 23, 2015
Posts: 1294
Location: Netherlands
Audio files: 30

PostPosted: Wed Jun 28, 2017 2:20 am    Post subject: Reply with quote  Mark this post and the followings unread

I have bought a Nucleo F303RE board which holds a STM32F303RE MCU.
I have created an account at Mbed and use its online compiler.
Works very easy, and you could use this as well since the discovery board is Mbed compatible.
What I don't understand is how one could get a decent audio signal out of these boards.
To test this I used the folowing code:

#include "mbed.h"

#if !DEVICE_ANALOGOUT
#error You cannot use this example as the AnalogOut is not supported on this device.
#else
AnalogOut my_output(PA_4);
#endif

#define PI (3.141592653589793238462)
#define AMPLITUDE (1.0) // x * 3.3V
#define PHASE (PI * 1) // 2*pi is one period
#define RANGE (0x7FFF)
#define OFFSET (0x7FFF)

// Configuration for sinewave output
#define BUFFER_SIZE (180)
uint16_t buffer[BUFFER_SIZE];

void calculate_sinewave(void);

int main() {
printf("Sinewave example\n");
calculate_sinewave();
while(1) {
// sinewave output
for (int i = 0; i < BUFFER_SIZE; i++) {
my_output.write_u16(buffer[i]);
}
}
}

// Create the sinewave buffer
void calculate_sinewave(void){
for (int i = 0; i < BUFFER_SIZE; i++) {
double rads = (PI * i)/90.0; // Convert degree in radian
buffer[i] = (uint16_t)(AMPLITUDE * (RANGE * (cos(rads + PHASE))) + OFFSET);
}
}
Which outputs the screenshot of the scope below.
In these lines:
for (int i = 0; i < BUFFER_SIZE; i++) {
my_output.write_u16(buffer[i]);}
all it does is put the array containing 180 points of a sine wave to the analog output, and only a sine of about 2 khz is at the analog output which is strange since the cpu on this board is an ARM Cortex M4 running at 72 MHz.

So, as far as I can see this board will not be able to output a decent audio signal or am I missing something?


sinewave.bmp
 Description:

Download
 Filename:  sinewave.bmp
 Filesize:  146.3 KB
 Downloaded:  523 Time(s)

Back to top
View user's profile Send private message Visit poster's website
BobTheDog



Joined: Feb 28, 2005
Posts: 4044
Location: England
Audio files: 32
G2 patch files: 15

PostPosted: Wed Jun 28, 2017 2:47 am    Post subject: Reply with quote  Mark this post and the followings unread

Well if your wave cycle is 180 samples and you are getting a 2k sine wave you are writing 2000*180 = 360,000 samples per second.

As a CD is only 44,100 samples 360,000 isn't too bad.

A 2K sine wave at 44,100 samples per second would only contain 44,100/2000 = 22.05 samples.

So you need code that reads from your sine table depending on the sample rate that you want to run the output at and the frequency of the wave you want to produce.
Back to top
View user's profile Send private message
Grumble



Joined: Nov 23, 2015
Posts: 1294
Location: Netherlands
Audio files: 30

PostPosted: Wed Jun 28, 2017 3:59 am    Post subject: Reply with quote  Mark this post and the followings unread

Ah... ofcourse! The difference between a sine wave and a square wave is less audible as the base frequency increases! Didn't think of that, thanks!
https://www.youtube.com/watch?v=uIuJTWS2uvY
Back to top
View user's profile Send private message Visit poster's website
BobTheDog



Joined: Feb 28, 2005
Posts: 4044
Location: England
Audio files: 32
G2 patch files: 15

PostPosted: Wed Jun 28, 2017 5:37 am    Post subject: Reply with quote  Mark this post and the followings unread

Absolutely, a digitally encoded sine wave with a frequency of half your sample rate is a perfect square wave.
Back to top
View user's profile Send private message
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Wed Jun 28, 2017 6:56 am    Post subject: Reply with quote  Mark this post and the followings unread

Here is where you need to use interrupts.

To use your board to generate frequency accurate digital audio output, you'd need to use a timer that interrupts at a rate of N ticks per second where N is the sample rate you want to use. So if you want to copy CD quality (assuming a 16 bit DAC), you would set up the timer to interrupt 44,100 times per second. The ISR could then be responsible for stuffing a table value into the audio port and then return. The CPU would then normally be running a do-nothing loop. Each time the timer interrupts, a new sample is placed into the audio port. This is an extremely simplified look at interrupt driven audio, but it demonstrates the idea very well.

You can even use the same wave table regardless of the actual audio frequency you want. For example, if your table (due to it's size) outputs a 1 kHz wave when every sample is used in sequence, if you skip every other sample, the output increases to 2 kHz. If you skip 2 samples, play 1 sample, skip 2, play 1 etc., the frequency will be 3 kHz.

With a bit of math trickery, you can even get fractional skips, such as to skip 2.8 samples each interrupt. This would be done using a technique called interpolation. I've used the simplest form of interpolation called "linear interpolation" with great success.

Just remember that your output can have no harmonics that are greater than the Nyquist Limit which is one half the sample rate. If you try to produce signals about the Nyquist Limit, you will get alias artifacts in your output (which can sound at least noisy if not downright crappy). With sines, there are no harmonics above 1 (or the fundamental), but with other waves, there will be harmonics that can cause trouble.

_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Wed Jul 19, 2017 11:58 am    Post subject: Reply with quote  Mark this post and the followings unread

I'm having mostly zero luck with this (using Fedora 25).

I did get sw4stm32 installed and working to the point of loading one of the projects (UART I believe) and building it. The build occurred without errors. However, none of the projects there are a simple blinky.

I had found two blinky projects on the web, but they are not sw4stm32/Eclipse based projects. They are C projects with a Makefile.

When I first started to play with them, I type the make command and it would stop with an error message regarding missing .h files. I was able to find the files where I untarred the arm-none-eabi stuff and copied them to the project where make could find them. Eventually I got all the .h files it needed and it finally dies with this:

Code:
as: unrecognized option '-mcpu=cortex-m7'


arm-none-eabi-gcc --version returns:
arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors 6-2017-q2-update) 6.3.1 20170620 (release) [ARM/embedded-6-branch revision 249437]

Having done the same thing with the other blinky project, it terminates with:

Code:
as: unrecognized option '-EL'


I don't see where in Makefile the option EL is coded.

binutils version is 2.26.1-1.fc25.x86_64

I've a feeling that something is wrong with the way arm-none-eabi is installed. I had downloaded an update tar file, but there were no instructions on how to apply it. Once untarred, the files were there, but not in directories that are found in PATH. So I copied the binaries to my home directory bin/ which is in the PATH and then things began to work. However, I also found the same files in /usr/bin and since /usr/bin is before my home bin in PATH, those were being found and used instead of the later ones. Then changed the names of the files in /usr/bin to have an _ in front of the name. That allows make to use the new files, but make still fails the same way.

So I'm a bit lost in the weeds again.

EDIT ADD:
Found something weird. "as" of course, is the assembler. When I do
Code:
which as
/usr/bin/as is returned. I renamed that to /usr/bin/_as and then make stopped working complaining that 'as' is missing. I have arm-none-eabi-as in my home bin/ subdir, so I made a copy of it as 'as' there. Now make seems to get through to attempt a link (I believe) and it now fails with
Code:
make: *** No rule to make target 'system_stm32f7xx.o', needed by 'blinky.elf'.


This tells me that 'as' was from the standard GCC for an intel CPU - and it doesn't understand -mcpu=cortex-m7. I can see that blinky.o is now being created, but where the system_stm32f7xx.o object file is supposed to come from - I don't know, though by looking at what Eclipse did, that file seems to get created by the compile process when Eclipse does it. Does this mean that something is wrong with the blinky Makefile as well?

_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
BobTheDog



Joined: Feb 28, 2005
Posts: 4044
Location: England
Audio files: 32
G2 patch files: 15

PostPosted: Thu Jul 20, 2017 12:23 am    Post subject: Reply with quote  Mark this post and the followings unread

The eclipse setup is using its own set of compiler tools not the ones installed on the system.

For instance the path set up in eclipse on my mac is:

/Applications/Ac6/SystemWorkbench.app/Contents/Eclipse/plugins/fr.ac6.mcu.externaltools.arm-none.macos64_1.13.1.201705091103/tools/compiler/bin
:/usr/bin
:/bin
:/usr/sbin
:/sbin


You can find this path info out by right clicking on the eclipse project you have working and choosing "Properties".

Then expand "C/C++ build"

Then click on "Environment"

If I look at the location here I can see a full toolset setup:
Code:

MP12:compiler andrewcapon$ pwd
/Applications/Ac6/SystemWorkbench.app/Contents/Eclipse/plugins/fr.ac6.mcu.externaltools.arm-none.macos64_1.13.1.201705091103/tools/compiler

MP12:compiler andrewcapon$ ls -ltr
total 0
drwxr-xr-x   4 andrewcapon  admin   136 26 Sep  2016 lib
drwxr-xr-x   4 andrewcapon  admin   136 26 Sep  2016 share
drwxr-xr-x   6 andrewcapon  admin   204 26 Sep  2016 arm-none-eabi
drwxr-xr-x  30 andrewcapon  admin  1020 26 Sep  2016 bin


It might be worth you using the one embedded in eclipse to see if it works better than the one you installed.
Back to top
View user's profile Send private message
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Sat Jul 22, 2017 5:39 pm    Post subject: Reply with quote  Mark this post and the followings unread

I've started over with a new install of Fedora 25, found proper RPMs to install arm-none-eabi and the two github blinky projects I downloaded simply don't compile. So I'm going to try some stuff with Eclipse first and then see if I can transfer that code to a simple command line, script or makefile method.
_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Mon Jul 31, 2017 7:56 am    Post subject: Reply with quote  Mark this post and the followings unread

I've managed to get a working blinky by converting a makefile project meant for Nucleo (same CPU) to work with the Discovery board. A bit of trouble at first because the Nucleo and Discovery boards use different crystals for the HSE clock.

I got it blinking with LD1 and then I changed it to work with my MIDI LED that I soldered onto the adafruit protoshield.


_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
BobTheDog



Joined: Feb 28, 2005
Posts: 4044
Location: England
Audio files: 32
G2 patch files: 15

PostPosted: Mon Jul 31, 2017 8:55 am    Post subject: Reply with quote  Mark this post and the followings unread

Very good news Smile

Does it use a more bare metal approach or is it using any of the various levels of abstraction?

My looking at getting two way audio and midi over USB has not been so successful, leading to a confusing maze of rabbit holes and misunderstanding.

This led to me trying to get it working on a PIC32 which seemed to have a better set of libraries for USB stuff, unfortunately this also lead to a confusing maze of rabbit holes and misunderstanding.

This led me to trying to create a USB sniffer out of an old beagle bone I had lying around, this led to a ...... (You get the idea!)
Back to top
View user's profile Send private message
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Mon Jul 31, 2017 9:07 am    Post subject: Reply with quote  Mark this post and the followings unread

I hate to laugh... but I did. Sounds just like my experiences here...

It uses a HAL function for a delay (which I think is somehow not calibrated, but I need to read the HAL functions documentation). However, accessing the pins is a direct write using the GPIO structure with a pointer to ODR (instead of using a pin write function). The .elf file is about 170Kbyte long which does seem to be a lot, but I've only just started messing with it. I'd like to see how small I can make it. Not sure yet exactly what the overhead is, certainly doesn't seem right to have such a huge executable for a LED blinky.

I poked around in STMcubeMX and found that it can generate makefile project code (and several other project formats) - that will make things a lot easier for me because I won't have to write my own makefile.

_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
BobTheDog



Joined: Feb 28, 2005
Posts: 4044
Location: England
Audio files: 32
G2 patch files: 15

PostPosted: Mon Jul 31, 2017 9:26 am    Post subject: Reply with quote  Mark this post and the followings unread

I'm not sure about those elf file sizes, for example my USB one is 1,030,208 bytes which is nearly the whole flash and much bigger that the ram but it works fine. I wonder how much gets stripped out when you program it.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic Moderators: State Machine
Page 2 of 5 [122 Posts]
View unread posts
View new posts in the last week
Goto page: Previous 1, 2, 3, 4, 5 Next
Mark the topic unread :: View previous topic :: View next topic
 Forum index » DIY Hardware and Software » Microcontrollers and Programmable Logic
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Forum with support of Syndicator RSS
Powered by phpBB © 2001, 2005 phpBB Group
Copyright © 2003 through 2009 by electro-music.com - Conditions Of Use