Page 1 of 1

Code changings for custom board

Posted: Sun Dec 27, 2015 7:21 am
by A319
Hi,

Last night, I worked on my camera project for which I use a STM32F429IIH. So far I was using the STM429 discovery board for development and everything worked fine.
Since I can't look under the BGA package, I don't know exactly if there's a way to check, if all solder joints are correct. But I assume they are because I've already soldered BGA manually and I can flash the memory. So basically it seems to work.
For persons who are interested in:
- Photos of production: https://drive.google.com/folderview?id= ... sp=sharing
- Eagle Project files: https://github.com/DL7AD/pecanpico7/ (At the moment it contains some errors)

Since the code didn't startup, I changed the main to a very simple hello world example:

Code: Select all

#include "ch.h"
#include "hal.h"

int main(void) {
   // Startup RTOS
   halInit();
   chSysInit();

   palSetPadMode(GPIOC, 13, PAL_MODE_OUTPUT_PUSHPULL); // LED 1
   palSetPadMode(GPIOC, 15, PAL_MODE_OUTPUT_PUSHPULL); // LED 2
   palSetPadMode(GPIOE, 3, PAL_MODE_OUTPUT_PUSHPULL); // LED 3
   while(1) {
      palClearPad(GPIOC, 13);
      palClearPad(GPIOC, 15);
      palClearPad(GPIOE, 3);
      chThdSleepMilliseconds(500);
      palSetPad(GPIOC, 13);
      palSetPad(GPIOC, 15);
      palSetPad(GPIOE, 3);
      chThdSleepMilliseconds(500);
   }
}


Since I use a different oscillator (26MHz), I've taken this into account in the board.h. I've taken the board configuration NONSTANDARD_STM32F4_BARTHESS1 and patched the frequency. I can flash the code to the uC memory but the code doesn't start up (No Blinking). Finally I changed the clock to it's internal, but this didn't change it.

Code: Select all

#define STM32_NO_INIT                       FALSE
#define STM32_HSI_ENABLED                   TRUE
#define STM32_LSI_ENABLED                   TRUE
#define STM32_HSE_ENABLED                   FALSE
#define STM32_LSE_ENABLED                   FALSE
#define STM32_CLOCK48_REQUIRED              TRUE
#define STM32_SW                            STM32_SW_HSI
#define STM32_PLLSRC                        STM32_PLLSRC_HSE
#define STM32_PLLM_VALUE                    26
#define STM32_PLLN_VALUE                    336
#define STM32_PLLP_VALUE                    2
#define STM32_PLLQ_VALUE                    7
#define STM32_HPRE                          STM32_HPRE_DIV1
#define STM32_PPRE1                         STM32_PPRE1_DIV4
#define STM32_PPRE2                         STM32_PPRE2_DIV2
#define STM32_RTCSEL                        STM32_RTCSEL_LSI
#define STM32_RTCPRE_VALUE                  8
#define STM32_MCO1SEL                       STM32_MCO1SEL_HSI
#define STM32_MCO1PRE                       STM32_MCO1PRE_DIV1
#define STM32_MCO2SEL                       STM32_MCO2SEL_SYSCLK
#define STM32_MCO2PRE                       STM32_MCO2PRE_DIV5
#define STM32_I2SSRC                        STM32_I2SSRC_CKIN
#define STM32_PLLI2SN_VALUE                 192
#define STM32_PLLI2SR_VALUE                 5
#define STM32_PVD_ENABLE                    FALSE
#define STM32_PLS                           STM32_PLS_LEV0
#define STM32_BKPRAM_ENABLE                 FALSE


Is there something else what I can test on RTOS level?

Regards
Sven

Re: Code changings for custom board

Posted: Sun Dec 27, 2015 8:56 am
by Giovanni
You should assess where it hangs, assuming it at least starts.

Giovanni

Re: Code changings for custom board

Posted: Mon Dec 28, 2015 8:22 am
by A319
Hi Giovanni,

It was my fault. I chose a TCXO which hasn't been suitable for my STM32F429. It only generates 0.7Vpp but the high voltage level of clockin must be above 0.7*Vcc. :roll:

Regards
Sven

Re: Code changings for custom board

Posted: Mon Dec 28, 2015 5:08 pm
by Koen
Hello,

your 0.7Vpp TCXO should clock it fine provided the STM32 oscillator input buffer is enabled, like it would for a normal crystal oscillator (so HSE_BYPASS disabled). It will bias the TCXO output to useable level. Don't forget a 1000pF capacitor between TCXO output and OSC input, leave OSC output floating.

Re: Code changings for custom board

Posted: Mon Dec 28, 2015 5:16 pm
by Giovanni
Good to know, never did that.