UMEHOSHI ITA TOP PAGE COMPUTER SHIEN LAB
[UMEHOSHI ITA]の制御で使っているIC「PIC32MX270F256B-I/SO」のフラッシュメモリには、テスト用プログラムが書き込まれいています。
このプログラムを「テスト・ウメ・フラッシュ」と呼んでおり、これを利用したユーザーのプログラムを
「ウメ・エディットプログラム」と呼ぶことにしています。
この「PIC32MX270F256B-I/SO」に予め書き込まれている「テスト・ウメ・フラッシュ」のプログラムソースは、
このリンクで紹介していますが、最初のバージョン(2021年7月)時より、変更した内容を以下に示しています。
(下記は、上の行の方が新しく、下の行が古いファイルになっています。)
変更時期 | 対象ファイル名 | 変更概要 |
---|---|---|
2023-4 | 以下の4項目 | 「PIC32MX270F256B-I/SO」のEEPROMの書き込みを、ユーザー用の「ウメ・エディットプログラム」で可能にするため、以下のソース群を変更や追加を行う |
2023-4 | my_util.c my_util.h |
EEPROMの消去、WORD書き込み関数を追加に伴い、
さらに追加する可能な便利機能追記のためな処理の記述用として、このソースファイルをプロジェクトに追加 追加関数は、EEPROM操作時の共通関数のNVM_unlock、ページ消去関数のNVM_erase_page、NVM_write_word関数を追加した。 また power_on_start関数を追加している。 |
2023-4 | common.h | 上記を実現するため、下記マクロを追加した。 _PTR_HANDLERSの添え字として60,61の定義を追加した。 それぞれは _IDX_NVM_ERASE_PAGE, _IDX_NVM_WRITE_WORD です。 |
2023-4 | my_sys.c | この実現に対して、power_on_flag変数を追加して、init_handle_area関数で変更した。 これを利用し、init_interrupt()関数でパワーを伴わないリセットで、0x9D020000の記憶内容が0xFFでなければ、 それが関数へのポインタとして実行するように変更する。 |
2023-4 | my_usb_cmd.c |
send_ume_id() のUSB出力を,"ume202304"に変更
int safetyflag= 1;の書き込み範囲を制限するフラグの追加
これが1の時に、書き込みで以下の範囲内での書き込みの制限を行うようにsetToMemory()関数を変更 (これまでRAMは0x80005000から0x80008000にプログラムを転送させていたが、RAM領域やROM領域にマッチしないと例外で動作できなくるので、その対応の処理) setToMemory関数では、0x9D020000 以上で 0x9D03FFFC 以下時のアドレスである場合、ROMとして書き込み処理を行い、 0x80000000 以上で 0x8000ffff 以下、又は 0xa0000000 以上で 0xa000ffff 以下であれば、RAMとして書き込む処理に変更 (safetyflagが0の場合は、この範囲制限がなく書き込み処理が試みられる) 戻り値は、0で処理の成功を意味し、0以外が失敗。 また、select_command内で、書き込み失敗時に応答のSET〜の文字列表示をださないように変更 |