Re: stack frame too large
|
||||
---|---|---|---|---|
中級會員
|
> 一般 Local Variable 是佔用 Stack RAM 所以是動態安排
> 的,這點是不一樣的。一般的變數是不會自找麻煩取使用堆 > 疊的 RAM。 >.<~ 我不想自找麻煩, 讓我們跳回我原來的問題, 再修一下問法? 我有一個 buf[257] , 257 bytes, compile 不能過, 錯誤訊息為 stack frame too large, 我又不要靜態的 occupied 我重要的記憶體, 我要擺區域, 不要全域, 這時我該怎麼做? 謝謝~~
發表於: 2008/12/3 15:20
|
|||
|
Re: stack frame too large
|
||||
---|---|---|---|---|
版主
|
1.#pragma udata 不能是區域變數? 一定要全域? 我讀完後就 release 不用了, 空出來的記憶體可以用作它用可以嗎?
一般 Local Variable 是佔用 Stack RAM 所以是動態安排的,這點是不一樣的。一般的變數是不會自找麻煩取使用堆疊的 RAM。 2.若我要用的 memory 是 0x101, 超過 256 又該如何用? 再把W401 第四張的後段看完就知道了如侯修改LKR檔來擴充 BANK。
發表於: 2008/12/3 13:09
|
|||
|
Re: stack frame too large
|
||||
---|---|---|---|---|
中級會員
|
我看到了
原來在右邊的 "教材及講義" 下去找 我試後有二個問題 1.#pragma udata 不能是區域變數? 一定要全域? 我讀完後就 release 不用了, 空出來的記憶體可以用作它用可以嗎? 2.若我要用的 memory 是 0x101, 超過 256 又該如何用?
發表於: 2008/12/3 10:28
|
|||
|
Re: stack frame too large
|
||||
---|---|---|---|---|
中級會員
|
你好, 可以麻煩你再多給我一些資訊嗎? 因為我是新手
RTC 教材 W401 <-- 這是什麼東東 最好是直接 code/config 貼上來啦 謝謝 ^^
發表於: 2008/12/3 9:36
|
|||
|
Re: stack frame too large
|
||||
---|---|---|---|---|
版主
|
看一下 RTC 教材 W401 裡的第五章裡對 #pragma udata 的描述後就知道了。
因為 char buf[256] 須佔256Bytes RAM 所以要去宣告 buf[ ] 的起始位置從 0xn00 開始。
發表於: 2008/12/3 7:51
|
|||
|
stack frame too large
|
||||
---|---|---|---|---|
中級會員
|
我把我以前在silicon 的 code port 到 MC 來, 但 flash 讀一個 page 至少要 256 byte. 所以我遇到了這個錯誤訊息
請問要何解? Error [1300] stack frame too large unsigned char buf[256]; // Flash_Init(); Flash_Read_Page(0,buf); 我用的是PIC18F6XJ5X, 1 個 bank 是 0x100 bytes
發表於: 2008/12/2 18:53
|
|||
|