trouble using standard peripheral library

whwnever i try to run a make it ends up saying undefined reference to `assert_param’ in the linker section.the object files are generated but the .bin or .out is not generated.what should i do?

abhinav:
whwnever i try to run a make it ends up saying undefined reference to `assert_param’ in the linker section.the object files are generated but the .bin or .out is not generated.what should i do?

He can’t find the assert_param macro.

I think you have to add it in your own code,

if you look at the other examples you can see how they done it.

A example can be found in:

  • Project/STM32F10x_StdPeriph_Examples/GPIO/IOToggle/stm32f10x_conf.h
#ifdef  USE_FULL_ASSERT
  #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__))
  void assert_failed(uint8_t* file, uint32_t line);
#else
  #define assert_param(expr) ((void)0)
#endif

So depending on if you would like a assert that you can debug, or if you just like to ignore them.

if you look at the assert_failed function you will just see a while true loop,

in there you can have a breakpoint so gdb stops.

And you can analyse the stackframe etc etc.

So you know what went wrong (and maybe a way to fix it)

Otherwise it will probably hang or reboot, and you would not know why…

Have fun

BR

Johan

got my answer.we have to include the stm32f10x_conf.h file given in the example programs of spi in each of the .c files…works like a charm…

but still i dont know how to write the hello world to display.neither do i know which header files to include for hello world from the spi library