[PR]
ソーテック
TOPへ戻る
★
20070730 there are no sections to be copied!って何だ?
winavr の標準のmakeファイルを使用して、コンパイルすると、
インストールした環境によりますが、コンパイラの途中で
【c:\WinAVR-20070525\bin\avr-objcopy.exe: there are no sections to be copied!】
というメッセージを出力しているとことがあります。
日本語に訳すと、【.eeprom のセクションがないため、eeprom.eep が作れませんでした。】
という感じです。
★
サンプル
プログラムに.eeprom セクションというのを使用します。
●サンプルソースファイル
#include
char __attribute__((section(".eeprom"))) val[] = { 1,2,3,4,5,6,7,8,9,0 }; main() { }
EEPROM部に、1,2,3,4,5,6,7,8,9,0 というデータを格納する宣言です。
これをコンパイルすると。
Creating load file for EEPROM: eeprom.eep avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" \ --change-section-lma .eeprom=0 --n o-change-warnings -O ihex eeprom.elf eeprom.eep || exit 0 Creating Extended Listing: eeprom.lss
そして、eeprom.eep という rom ファイルファイルが出来上がります。
書き込みツールの、AVRSP-G の ROMデータという枠で読み込むことができます。
★
ちなみに
#include
//char __attribute__((section(".eeprom"))) val[] = { 1,2,3,4,5,6,7,8,9,0 }; char val[] = { 1,2,3,4,5,6,7,8,9,0 }; main() { }
これをコンパイルすると。
Creating load file for EEPROM: eeprom.eep avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" \ --change-section-lma .eeprom=0 --n o-change-warnings -O ihex eeprom.elf e eprom.eep || exit 0 c:\WinAVR-20070525\bin\avr-objcopy.exe: there are no sections to be copied! Creating Extended Listing: eeprom.lss
there are no sections to be copied!って、表示されて eeprom.eep というファイルは
作られません。
.eeprom セクションについては、
ココ
で詳しく書かれています。
あきぼうのPage
2007/07/30 初版
TOPへ戻る