Whenever I try to send float value on the UART, the code compiles perfectly. But when I try to burn in on my LPC2138, it doesn't burn. Can you help me in solving my problem?
my code is:
printf("%f",AnsAfterNSamples(N)); //where AnsAfterNSamples(N) retruns a float
The error is as follow:
Programming Done. Contents missmatch at: 00001000H (Flash=FFH Required=00H) ! Contents missmatch at: 00001001H (Flash=FFH Required=00H) ! Contents missmatch at: 00001002H (Flash=FFH Required=D4H) ! Contents missmatch at: 00001003H (Flash=FFH Required=E5H) ! Contents missmatch at: 00001004H (Flash=FFH Required=00H) ! . . . . . Contents missmatch at: 0000105EH (Flash=FFH Required=00H) ! Contents missmatch at: 0000105FH (Flash=FFH Required=1AH) ! Contents missmatch at: 00001060H (Flash=FFH Required=01H) ! Contents missmatch at: 00001061H (Flash=FFH Required=00H) ! Contents missmatch at: 00001062H (Flash=FFH Required=17H) ! Contents missmatch at: 00001063H (Flash=FFH Required=E3H) ! Too many errors to display !
But when I try to burn in on my LPC2138, it doesn't burn.
It's rather obvious that printf() has just about no relevance to the problem you have. Its ownly influence is that printf() of floating-point numbers is a complex job, and thus makes your programs quite a bit bigger.
The problem you have is that the flash programming step fails to work for any address beyond the first 4 kilobytes --- that like you might be trying to over-use an evaluation version. Well, either that, or you've misconfigured the flash routines.