keil C51中文件编译连接时的错误提示:'PATA':SEGMENT TOO LARG。应该怎么改呀?急啊!!

来源:百度知道 编辑:UC知道 时间:2024/06/14 12:37:04
keil C51中文件编译连接时的错误提示:'PATA':SEGMENT TOO LARG。应该怎么改呀?急啊!!
我在编译一个能放出12首音乐的C程序 ,用的是AT89C51单片机
问题为'PDATA':SEGMENT TOO LARG,所有的数组都没有设置存储类型,默认在keil C51中设置的存储类型为PDATA,也没有外部存储,只有一块单片机,有什么办法吗???急啊???

依你的设置,
用AT89C51还装不了的话,说明你的音乐编码太大,建议你,减少音乐的编码,

通常1k的RAM中,idata占256b,剩下的768b的xdata分为3页256b的pdata,通过p2口设定页数。
如果pdata超过一页的话最好用xdata来代替pdata。

AT89C51只有128b的RAM,只能定义data变量。尽量把数据放到ROM中,比如你的音乐编码,用const unsigned char code music[];定义,这样 music[]就放到ROM中了。