We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi, I am running UART solution on 8051. There is only UART interrupt handler and no other interrupts. All code runs in polling mode, having 4 TASK and using minimal OS (RTX)
There are two specific functions which randomly gets called sometimes. These functions are system initialisation functions and are not executed in any path during traffic test. so surely, there is corruption happening, which causes these functions to get called randomly.
I want to understand what are tools/methods to follow to find out root cause for such corruption symptoms. i would like to have suggestion for best way to debug this issue on 8051 platform.
Best Regards. Thanks for your time.
-Rajan Batra
Note that "whatever fit the app" is normally not a good way to select processor. The processor is normally only "don't care" in situations where it is already fitted to a device - like your example where the sensor already have a processor fitted.
Almost any processor can solve almost any problem - but some processors will solve it better or cheaper or allowing more design choices. And this is where a 8051 chip can almost never represent a better choice. The need to keep down the transistor count to an absolute minimum means it has a number of design issues compared to most other 8-bit architectures, while the 32-bit world has dropped enough in price to force lots of 8051 manufacturers to kill off their 8051 offerings and instead go for Cortex chips. And the bit-banding allows lightning-fast one-bit operations.
Power comes in because power is almost always be an issue to consider. High-end devices often needs to consider the temperature - especially if they need to operate over extended temperature ranges. While a huge amount of devices are now battery-operated. And lots of devices needs a real-time clock that should run for extended times without power connected.
So my notes about power earlier was because the price and power consumption was for a long time important reasons why 8-bit processors so often was way better choices. Today both 8-bit and 32-bit processors can keep operating for 10+ years on a small coin cell. And the price of 32-bit processors have dropped enough that it's often the implementation cost that is more important.
Note that "whatever fit the app" is normally not a good way to select processor. an old adage goes "if you heard what I thought I said you would understand me", so let me expand the above to "whatever fit the app best" it is impossible to give general rules for 'best'. Production volume affect the weighing between development cost and unit cost, power can be an issue, tooling cost can be an issue .....
Erik