広告 Optibootを使ってみる2continue form: [Optibootを使ってみる1]
まだOptibootはうまくいっていない ググってもなかなか情報が見つからないので、ソースを直接見ることにした。 まず、デバックのために「LED_DATA_FLASH」をつけてコンパイルする。具体的にはMakefileで atmega328: CFLAGS += '-DLED_START_FLASHES=3' '-DBAUD_RATE=115200' '-DLED_DATA_FLASH=1' みたいにやる。これが定義されていれば、本来はLEDがつきっぱなし(または点滅?)になるはず。 /* Forever loop */ と書かれている部分のどこかで止まっている。 ソースを書き換えて、必ず送信するようにする。そしてターミナルでシリアル通信すると、ちゃんと送信してくるので、RS232のスピードなどはあっているらしい。 で、どこで止まっているかを見ると、受信するサブルーチン「getch」で引っかかっている。もっと言うと while(!(UART_SRA & _BV(RXC0))) ; という部分で抜け出せないでいるみたい。 ということは、受信できてないってことか。 とりあえず古いブートローダーのソースと見比べながら解決していこうと考えているけど、挫折するかも。 continue on: [Optibootを使ってみる3]
広告 |