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-4my_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〜の文字列表示をださないように変更