Page 1 of 1

Want to use openMV in STM32F429DISC

Posted: Thu May 31, 2018 12:10 am
by LaxChen
HI, guys !
I have a STM32F429DISC board, and I found that:https://hackaday.io/project/1313-openmv/details.So that I want to port openMV in my board .

Then I change BOOTLOADER code: use USB_HS_IN_FS make a VCP device , change STM32F427xx in STM32F429xx and some other F429 config.

after that , I cp omv/boards/OPENMV2 in omv/boards/STM32F429DISC, because I found that Mircopython support STM32F429DISC. Also I change something about FLASH , LD file.

I use cmd make a binary file

Code: Select all

make TARGET=STM32F429DISC
when I connected my board to PC , it just show UNKNOWN DEVICE.

I found that OPENMV2 are not support, but can you get some advices on porting openMV to STM32F429DISC.

OS: WINDOWS 10 pro
VM: ubuntu 14.04
arm-none-linux-gcc: 5.6.1
and I also install openmv and st VCP driver

thanks!

Re: Want to use openMV in STM32F429DISC

Posted: Thu May 31, 2018 12:34 am
by kwagyeman
Hi, figuring out the USB stuff is a complete nightmare. We can't really help you with that. All we can tell you is that the top level application code will run on that board. As for the USB stuff, you have to figure that out yourself. The binary targets the STM32F427 directly and ST parts are usually binary comparable if only the peripherals change.

Re: Want to use openMV in STM32F429DISC

Posted: Thu May 31, 2018 4:34 am
by LaxChen
kwagyeman wrote:
Thu May 31, 2018 12:34 am
Hi, figuring out the USB stuff is a complete nightmare. We can't really help you with that. All we can tell you is that the top level application code will run on that board. As for the USB stuff, you have to figure that out yourself. The binary targets the STM32F427 directly and ST parts are usually binary comparable if only the peripherals change.
thank for your reply, and I have a question : it is bootloader code make USB only work in VCP or a composite device ?

thanks

Re: Want to use openMV in STM32F429DISC

Posted: Thu May 31, 2018 3:35 pm
by kwagyeman
The bootloader is just a VCP device.

Re: Want to use openMV in STM32F429DISC

Posted: Thu May 31, 2018 10:09 pm
by LaxChen
kwagyeman wrote:
Thu May 31, 2018 3:35 pm
The bootloader is just a VCP device.
thanks for your answer,
I try to make a MDK project with the same code and then USB work normally. So I think maybe I should figure out ld file and starup.s . :D

Re: Want to use openMV in STM32F429DISC

Posted: Fri Jun 01, 2018 11:24 pm
by LaxChen
Today, I use cmd to make an assembly file

Code: Select all

 arm-none-linux-objdump -d bootloader.elf > boot.dis 
AND I found a symbol name OTG_FS_IRQHandler, but I want is OTG_HS_IRQHandler ,so I change stm32fxxx_it.c /.h .

after that PC can recognize USB and I can see OpenMV Cam USB COM Port :D

but a new problem is emerging : when program jump to omv app , it allways run lable soft_reset :o

Re: Want to use openMV in STM32F429DISC

Posted: Fri Jun 01, 2018 11:33 pm
by kwagyeman
Yes, the OpenMV C main firmware is a different USB application. You need to fix the issue for both the bootloader and the application.

Re: Want to use openMV in STM32F429DISC

Posted: Sat Jun 02, 2018 4:06 am
by LaxChen
kwagyeman wrote:
Fri Jun 01, 2018 11:33 pm
Yes, the OpenMV C main firmware is a different USB application. You need to fix the issue for both the bootloader and the application.
I found that problem is uninit SENSOR and I have a 7670 which openMV did no support . but I can imitate other sensor driver.

Re: Want to use openMV in STM32F429DISC

Posted: Mon Jun 04, 2018 10:37 pm
by LaxChen
Hi guys,
when program run in func sensor_init(), it will allways keep in HAL_I2C_IsDeviceReady(). So I make DEBUG=1, however the file size overflow .
so how can I to reduce the firmware.elf file size ? Remove some img module which not working well in F4 ?but i dont known which one.

thanks! :D

Re: Want to use openMV in STM32F429DISC

Posted: Mon Jun 04, 2018 11:05 pm
by kwagyeman
Remove anything you don't need. It is sufficient to just comment out the pymethod and the link in the c function pointer dictionary in py_image.c

Re: Want to use openMV in STM32F429DISC

Posted: Thu Jun 07, 2018 3:32 am
by LaxChen
kwagyeman wrote:
Mon Jun 04, 2018 11:05 pm
Remove anything you don't need. It is sufficient to just comment out the pymethod and the link in the c function pointer dictionary in py_image.c
thanks!

Finally, I dont remove any.

I connect pins fllow the openmv sdr and try to use SCCB to read OV7670 ID via MDK project , but it does not work.

Today I try to fllow openmv2 pins . It is suprise that I can read the device ID . And now I can see a color bar in OPENMV IDE , just with 2.5 FPS , but thai is a good beginning.:D

Re: Want to use openMV in STM32F429DISC

Posted: Sat Feb 09, 2019 12:19 am
by victagayun
LaxChen wrote:
Thu Jun 07, 2018 3:32 am
thanks!

Finally, I dont remove any.

I connect pins fllow the openmv sdr and try to use SCCB to read OV7670 ID via MDK project , but it does not work.

Today I try to fllow openmv2 pins . It is suprise that I can read the device ID . And now I can see a color bar in OPENMV IDE , just with 2.5 FPS , but thai is a good beginning.:D
Hello, how far were you able to do it? Were you able to make it work? Can you provide steps on how to do it? Or just maybe hex file be enough. I have OV7725, maybe it could have less or no error at all.