We are planning to build a ROM mask + flash environment. That is the lower 32K code space will be mapping to ROM-mask and the upper 32K to flash. The lower 32K will check a function table in the upper 32k (flash). We we put drivers and basic APIs in the ROM-mask which serve as a library (and can't be changed after first release) By updating the flash (upper 32k), we can have different application.
we are planning to build several projects that share the same 32K ROM-mask source code (which is grouped by userclass) and have different application code. But the lower 32k are different.
Is there any solution??
Why? You think you will save money by having a mask-programmed chip? The huge cost of having errors in mask-programmed devices has moved almost all users to pure flash solutions, in which case the availability of mask-programmable devices quite small.
Another thing - your text sometimes suggests that it is the upper half that is mask-programmable, and sometimes that it is the lower half.
An important factor to consider is if your design is fulfilling KISS principle (Keep It Simple, Stupid) - if it doesn't, then you should think twice or trice before continuing. Complicating things tends to affect cost and quality.
en.wikipedia.org/.../KISS_principle
we see this one on a fairly regular basis (invisible fixed code similar to an OS)
my wild guess is that those that propose such a solution are trying to "sell software by the piece"
Erik
View all questions in Keil forum