有關變數宣告
|
||||
---|---|---|---|---|
資深會員
|
小弟使用p18f6722,先前有問過關於#pragma的用法。因為p18f6722從linker script中可看到DATABANK有十多個,而這些data bank似乎是在硬體上是分開的。
根據詢問公司前輩的結果,若宣告變數時,變數的範圍跨越兩個bank,使用時會出問題,因此現在是手動宣告變數位址: #pragma udata bank00=0x60 //160 -- 變數宣告段 -- #pragma udata bank02=0x200 //256 -- 變數宣告段 -- 然後在每一個bank中計算宣告的變數總size,以避免變數超過邊界 因為手動宣告變數位址實在相當不方便,若不用擔心變數宣告時跨bank會出問題,做起來會方便一些 請問版主大哥是否有遇到過這個問題?一般又是如何做這樣的宣告? --------------------------------------------------------------------------- 問題舉例:若在bank00的0x196位址處宣告一個char array[10], 會使得array跨越bank00及bank02 ---------------------------------------------------------------------------
發表於: 2008/6/20 11:17
|
|||
|