我試圖保留一些字節的sram地址必須在加載時知道,以便它可以適合PROGSPACE。直到如今我測試我的代碼確定與Arduino的納米板一個棘手的分配由地址設置爲(0x1F6)和後上節目我做在加載時分配/保留avr sram與加載時的已知地址以適合progspace
volatile byte shifty_data[3];
,以確保其在堆不自動覆蓋... 代碼工作正常,但我對此並不滿意,因爲它與其他內核不兼容,並且可能與環境更改相兼容。 直到現在我已經考慮malloc __heap_start(沒有成功,因爲它不是常量和地址不知道在加載時,我認爲)的變化,我也看過avr/io.h,特別是在iom328p.h通過RAMSTART定義,這可能會起作用,但是...它在systemn上似乎太低了,因爲我想使用它的硬件SPI ...並且它可能是在較高級別(最好是在arduino文件中)更好的方法。 有什麼想法?
是的,謝謝你,我最終使用了一個全局變量,它的地址可以放入progspace女巫是單獨的(因此我的困惑),因爲它們在BSS上,加載時知道地址 –