I have a lot of constant data, and the total size is almost 200K. 8-bank will be used. However, I remember that a function can only use the constant data in the same bank. Is it right? and If it is true, how should I deal with such a large constant? Thanks a lot
You haven't said what chip you're using.
possibly consider changing to a CPU that does not used paged memory... thus there is no problem... mitsubitshi have a good range of CPU's in the M16C/62 family that have upto 384K on board flash with 32K onboard RAM... their memory maps are contiginous 1mb of address space... thus 200K is no problems !!
possibly consider changing to a CPU that does not used paged memory If you want to stay in the '51s there is Philips MX and 669. I believe Maxim has an offering too. Erik