Extreme code optimization for ARM CORTEX M4

We have written a code in C language for a microcontroller from Nuvoton , which has an ARM Cortex M4 core. Essentislly , the microcontroller is connected to three multi-channel simultaneously sampling sigma-delta convertors in cascade and gets data for 3 voltage channels and 21 current channels. The microcontroller has to essentially run RMS calculating algorithms for all channels , multiply the signed samples for voltage and current to arrive at watts and finally , run Hilbert tranform on current channels and then multiply with voltage samples to arrive at VAR values. For 24 channels total , the microcontroller , running at 84 MHz seems to do the job with the code we have written. However , when we simulate for 87 channels , the code doesn't deliver and arrays get over-run with new data before old data is processed . We suspect our algorithms and code ( all in C ) , though proven for functionality , need to be optimised ( probably by converting some or all to assembly language ) aggresively .

The optimization can be by tweaking the algorithms , changing data types or structures used or converting some/all portion to assembly language. There are Interupt service routines handling communication with ADCs over SPI .

We are an India based company dealing in power and energy measuring products . Established in 1993 . I am the technical director responsible for development of new products.

Навыки: Программирование на С, Электроника, Микроконтроллер, Электротехника

О клиенте:
( 0 отзыв(-а, -ов) ) Vadodara, India

ID проекта: #26647626


(1 отзыв)

4 фрилансеров(-а) готовы выполнить эту работу в среднем за $555


Hi I have lots of experience in cortex based microcontroller from nxp, STM, Nuvoton, atmel etc. I can help you here for optimization but before that I need to look into the code and understand whether is there any ro Больше

$356 USD за 15 дней(-я)
(21 отзывов(-а))

Sounds like your timer interrupts are not finishing in time. I can optimize your software by reducing calls, and jumps. I can also take a look at your math routines and make sure they are written to the least steps. I Больше

$1333 USD за 7 дней(-я)
(0 отзывов(-а))

Hi! The decision about optimization could not be invented without specific analysis of the software and, possibly, hardware. The problem at the moment is that someone needs to collect profiles from the software in que Больше

$280 USD за 7 дней(-я)
(0 отзывов(-а))