This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

printf() cause strange functions in flash

I use the printf() function in my programm and I take a look in the new stack frame window from keil. I'm working with an ARM controller - but I don't know if that would be important to my question.

My stack frame window looks like:

send_character()
fputc()
100011b6()
10000925()
10001146()
10000dba()
main()

Could someone explain me the three number functions (I think they are generated by the use of printf())?

I can't see this functions in my symbol window so could there be a problem, that a data abort or something like that would happen?

Moreover the memory address is the address of the flash memory - so if that would always happen if I call printf() than the flash memory won't be written so oft...

thanks in advance for your information

Chris

Parents
  • If the library doesn't contain any debugging information, the debugger will have a hard time trying to convert an address to a function name.

    Most probably, the three numeric functions represents static function hidden within the Keil library. The other three functions have external linking, so the debugger can retrieve their name from that information even if no debugging information is available from inside the library.

Reply
  • If the library doesn't contain any debugging information, the debugger will have a hard time trying to convert an address to a function name.

    Most probably, the three numeric functions represents static function hidden within the Keil library. The other three functions have external linking, so the debugger can retrieve their name from that information even if no debugging information is available from inside the library.

Children
No data