• R/O
  • HTTP
  • SSH
  • HTTPS

kz_h8write: コミット

H8/3069F writer for KOZOS - kz_h8write


コミットメタ情報

リビジョン6ea9e6f5ba1192fbc6c3231f5ba8c8bf379d6a83 (tree)
日時2012-12-18 15:50:52
作者Shinichiro Nakamura <shinta.main.jp@gmai...>
コミッターShinichiro Nakamura

ログメッセージ

Bug fixed.

変更サマリ

差分

--- a/doc/README.txt
+++ b/doc/README.txt
@@ -52,9 +52,13 @@ serial.h シリアルポートライブラリのインターフェー
5252 引数の指定方法を書籍で使っている範囲でh8writeと互換性をとるようにした。
5353 書籍では、-3069、-f20、MOTファイル名、シリアルデバイスが指定されている。
5454
55+2012/12/18 Version 0.2.0
56+ 書き込み対象motファイルに依存して起きるバグを修正した。
57+
5558 =======================================
5659 謝辞
5760 =======================================
5861 やまちゅうさん
5962 Version 0.0.1でおきる問題について詳細なレポートを頂きました。
60-
63+蔵花たけしさん
64+ Version 0.1.0でおきる問題について詳細なレポートを頂きました。
--- a/src/kz_h8write.c
+++ b/src/kz_h8write.c
@@ -57,6 +57,12 @@
5757 #define SERIAL_TIMEOUT_MS 500
5858
5959 /**
60+ * @brief 切り上げ処理。
61+ * @details 数値AをBで切り上げる。
62+ */
63+#define ROUND_OUT(A,B) ((((A)+((B)-1))/(B))*(B))
64+
65+/**
6066 * @brief ユーザオプション構造体。
6167 */
6268 typedef struct {
@@ -530,7 +536,7 @@ enum ErrorCode program(SERIAL *serial)
530536 * 128バイト書き込みを実行する。
531537 */
532538 fprintf(stderr, "Programming:");
533- for (int i = 0; i < (int)memory_lastaddr; i += 128) {
539+ for (int i = 0; i <= (int)ROUND_OUT(memory_lastaddr, 128); i += 128) {
534540 unsigned char buf[256];
535541 unsigned char chksum = 0;
536542 buf[0] = 0x50;
@@ -740,6 +746,13 @@ int main(int argc, char **argv)
740746 }
741747
742748 /*
749+ * メモリイメージを初期化する。
750+ */
751+ for (int i = 0; i < sizeof(memory_image); i++) {
752+ memory_image[i] = 0xff;
753+ }
754+
755+ /*
743756 * motファイルを読み込む。
744757 */
745758 mot_t mot;
旧リポジトリブラウザで表示