We have the ongoing project : electronic control system based on the ARM Cortex M4 STM32 MCU. The design of the system is already done including initialization, state-event transition diagram and main code template. Project is rather large and we need embedded programmers who are experienced with this target platform and with the tools we use for it. The design is fragmented into many small relatively simple small basic tasks for a freelancer to incrementally develop a firmware. Each concurrent task is to be developed on the top of the previous task. Each task , as a "mini-project", is paid at a fixed price agreed upon and so on continuing to the next. Therefore a budget shown here applies to this described task only , not to the whole project.
System configuration has been done, configuration file *.ioc generated with STM32CubeMX provided and main loop template code provided.
Board STM32F407VET6 with Real Time clock crystal
MicroSD card slot with SDIO interface
USB OTG FS slave to interface with host PC terminal
EEPROM with I2C interface
SWD/JTAG probe interface
Debug Probes : either Segger or ST-LINK/V2
(any of the popular development boards on ebay based on STM32F407VET6 with RTC clock, USB and MicroSD socket will work fine to test the code)
IDE/Toolchain : TrueStudio (Eclipse) + GCC + GDB,
Libraries: STM32Cube with HAL and LL libraries, STM32CubeMX is used to generate configuration files (this has been done and will be provided but changes can be made too).
Middleware : FATFS and USB_OTG
Required interfaces: USB OTG, UART, SPI, I2C , 1-wire,
Timers: experience with all modes available in STM32F4 are required,
Interrupts and DMA experience is required,
ADC conversion into a buffer using ISR interrupts triggered by a timer.
This particular task is the "entry" point to start a cooperation by making a new code template based on the USB CDC communication between target and host PC terminal. The follow up tasks will be based on this code.
The outline: input/output redirection from the target to USB OTG, setup and reading RTC registers, use Interrupts and Timers for USB communication.
This task details:
USB OTG FS slave communication with host PC terminal replacing standard read/write system file operations to redirect printf(), scanf(), etc... to the USB (working code example provided ).
Debugging printf() and Error Handler must use redirected printf() to USB (no semi-hosting).
Reception of incoming data from host PC through USB OTG must be done using ISR interrupts called by hardware.
RTC registers setup to be done from the incoming string "hr:min:sec" from host PC through USB. Reading RTC registers, sending out Real Time string to PC over USB in ISR routine triggered by a timer every 1 sec.
Sending out a dummy string "File Management" to PC over USB in ISR routine triggered by a timer every 1 sec.
Note: Tech documents provided here: State-Event transitions diagram in PDF and [login to view URL] file. Whole project generated in STM32CubeMX with included state-event template code in the main loop, - will be provided in a zip file .
In short: the configuration file *.ioc and the state-event transitions code provided as well as the examples of code for the USB CDC communication also available, but this code must be changed to use hardware resources with Interrupts and Timers to minimize use of the MCU time.
To better understand our needs, here is a glimpse of our next needs when this task is done: MicroSD card integration task, SPI communication in transferring bulk data task, ADC using timed interrupts task and so on with our mini-projects.
Hope to find someone with whom we can continue to the follow up tasks after the delivery of this one.
Thank you for reading our project details.
27 freelancer đang chào giá trung bình $781 cho công việc này
hi. I am an electrical engineer with specialization in embedded systems. I have worked on stm32f4 and have all the knowledge required for this task. hopefully we can take this project to next level