问: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。)
全部0条评论
快来发表一下你的评论吧 !