PICC编译器会自己分配存储单元到其他bank吗

描述

问:PICC编译器会自己分配存储单元到其他bank吗?还是需要用户来强制分配呢?

答:你需要用一个bankx限定符来分配存储器到其他bank。例如:

bank1 char fred;

这将在bank1定义一个字符型变量。

一个普通的指针(不带有bankx限定的)可以指向bank0或bank1,但是不能指向bank2或bank3。你可以定义bank2指针,例如:

bank2 char * b2p;

这个指针将不能指向bank0或bank1。

另一个例子:

bank2 char * bank2 ptr1; //一个位于bank2的指针指向bank2的字符型数据

char * bank3 ptr2; //一个位于bank3的指针指向bank0的字符型数据

实现bank自动分配是不太现实的,至少在没有增大代码开销的情况下是很难实现的。(译者注:这个问答是针对PICC STD版本的。对于PICC PRO版本,编译器会自动分配使用其他bank,而bankx限定符在默认状态下不再有效。如果用户习惯于自己用bankx自己分配bank,可以在编译选项中使能BANK QUAL。)

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分