![]() |
發布時間: 2020-8-3 18:56
正文摘要:求助各位大神,我的一個小程序中定義了4個字節位尋址寄存器,程序正常(圖1),可是一但定義第5個字節,程序就報錯(圖2)。理論上用bdata定義的可位尋址寄存器最多可以定義16個字節,占用20~2F地址 ... |
disorder 發表于 2020-8-4 12:03 多謝,查到了原因,是全局變量定義太多了,所以不管是定義位尋址的 還是其他的 都會報錯。半路出家要學的太多了。 我用的是STC89和90的芯片,定義全局變量最多能多大地址? |
1692483014 發表于 2020-8-4 09:51 我是半路出家學C的,map文件找了半天也沒找到 |
本帖最后由 btxzilong 于 2020-8-4 13:09 編輯 disorder 發表于 2020-8-4 12:03 多謝,查出來了,源程序定義了太多的全局變量,不管是增加位尋址的 還是其他的變量 都會報錯。半路出家做單片機,要學的太多了。 |
應該是夠的 在變量定義的時候后面加上flag _at_ 0x20/flag _at_ 0x21這些試試 我懷疑可能是程序的其他部分有占用 |
看一下你的map文件,看看不同的變量都是占多大空間的。 |