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

code working in simulator but not when burnt.

hi
am using 89c55 and wrote a code in c which acquires data from a serial device performs calculations and the gives an alarm when an abnormality is detected. when i compiled i got as Program Size: data=9.0 xdata=7569 code=4140. i used large memory model.it works well when i checked with keil simulator but when i burnt into my uc i don see any output. iam new to uc's should i add any eeproms before burning?? please help me out. thanks in advance.

regards,
deepthi

Parents
  • The text "The flash memory is for code" should be read as "is intended for code". I also wrote that if "an array stores constant - unchanging - data, then you can move the array into the flash, i.e. among the code."

    No, I don't think any manufacturer sells any processor with flash memory > code size. But the compiler does support placing read-only data into the code region, so it will be enough to have a processor with a flash size larger than what you need for the program code. The remaining region of the flash may then be used for constant data.

    There are some 8051 chips that have a partially overlapping memory structure, where the application can reprogram the flash. This can allow the flash to be used for semi-static data - but the flash memory supports a limited number of write cycles, so the flash region can't be used instead of RAM.

    I'm not sure what you mean with "what does data size represent". The processor may have more than one data region, in which case there may be more than one data size.

Reply
  • The text "The flash memory is for code" should be read as "is intended for code". I also wrote that if "an array stores constant - unchanging - data, then you can move the array into the flash, i.e. among the code."

    No, I don't think any manufacturer sells any processor with flash memory > code size. But the compiler does support placing read-only data into the code region, so it will be enough to have a processor with a flash size larger than what you need for the program code. The remaining region of the flash may then be used for constant data.

    There are some 8051 chips that have a partially overlapping memory structure, where the application can reprogram the flash. This can allow the flash to be used for semi-static data - but the flash memory supports a limited number of write cycles, so the flash region can't be used instead of RAM.

    I'm not sure what you mean with "what does data size represent". The processor may have more than one data region, in which case there may be more than one data size.

Children