OSDN Git Service

Bug fixed.
authorShinichiro Nakamura <shinta.main.jp@gmail.com>
Tue, 18 Dec 2012 06:50:52 +0000 (15:50 +0900)
committerShinichiro Nakamura <shinta.main.jp@gmail.com>
Tue, 18 Dec 2012 06:50:52 +0000 (15:50 +0900)
doc/README.txt
src/kz_h8write.c

index 08e73a9..9cfca87 100644 (file)
@@ -52,9 +52,13 @@ serial.h            シリアルポートライブラリのインターフェー
  引数の指定方法を書籍で使っている範囲でh8writeと互換性をとるようにした。
  書籍では、-3069、-f20、MOTファイル名、シリアルデバイスが指定されている。
 
+2012/12/18 Version 0.2.0
+ 書き込み対象motファイルに依存して起きるバグを修正した。
+
 =======================================
  謝辞
 =======================================
 やまちゅうさん
  Version 0.0.1でおきる問題について詳細なレポートを頂きました。
-
+蔵花たけしさん
+ Version 0.1.0でおきる問題について詳細なレポートを頂きました。
index f0d09fb..753e36f 100644 (file)
 #define SERIAL_TIMEOUT_MS 500
 
 /**
+ * @brief 切り上げ処理。
+ * @details 数値AをBで切り上げる。
+ */
+#define ROUND_OUT(A,B) ((((A)+((B)-1))/(B))*(B))
+
+/**
  * @brief ユーザオプション構造体。
  */
 typedef struct {
@@ -530,7 +536,7 @@ enum ErrorCode program(SERIAL *serial)
      * 128バイト書き込みを実行する。
      */
     fprintf(stderr, "Programming:");
-    for (int i = 0; i < (int)memory_lastaddr; i += 128) {
+    for (int i = 0; i <= (int)ROUND_OUT(memory_lastaddr, 128); i += 128) {
         unsigned char buf[256];
         unsigned char chksum = 0;
         buf[0] = 0x50;
@@ -740,6 +746,13 @@ int main(int argc, char **argv)
     }
 
     /*
+     * メモリイメージを初期化する。
+     */
+    for (int i = 0; i < sizeof(memory_image); i++) {
+        memory_image[i] = 0xff;
+    }
+
+    /*
      * motファイルを読み込む。
      */
     mot_t mot;