結合テスト準備

git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-09-30%20-%20paladin.7z/paladin/ctr_card_test@8 ff8ce827-af98-4349-adb5-4c00699b5328
This commit is contained in:
(no author) 2010-02-22 12:41:09 +00:00
parent ec416726f6
commit 4a3a2a1d4d
12 changed files with 184 additions and 56 deletions

View File

@ -2,7 +2,7 @@
using namespace nn::red::nakayama; using namespace nn::red::nakayama;
class BackupMemoryTest : public Program class BackupMemoryTest : public CardTestProgram
{ {
virtual void Execute() virtual void Execute()
{ {

View File

@ -23,12 +23,20 @@ namespace nakayama{
bool cardFunctionTestStart(u8* buffer, size_t buffer_size, TestCaseID case_id, detailInfo* info) bool cardFunctionTestStart(u8* buffer, size_t buffer_size, TestCaseID case_id, detailInfo* info)
{ {
NN_TLOG_("cardFunctionTestStart\n"); NN_TLOG_("cardFunctionTestStart\n");
// 菅原さんが実装した関数を呼ぶ
return true; return true;
} }
bool cardFunctionTestEnd(void) bool cardFunctionTestEnd(void)
{ {
NN_TLOG_("cardFunctionTestEnd\n"); NN_TLOG_("cardFunctionTestEnd\n");
// 菅原さんが実装した関数を呼ぶ
return true; return true;
} }

View File

@ -25,6 +25,15 @@ namespace nn{
namespace red{ namespace red{
namespace nakayama{ namespace nakayama{
/* **************************************************
define
************************************************** */
#define BUFFER_SIZE (2048 * 512) // 0x100000
//#define INTEGRATION_TEST
/* ************************************************** /* **************************************************
struct struct
@ -41,6 +50,7 @@ struct settingInfo {
u32 reserved2; u32 reserved2;
}; };
// 受信情報
struct detailInfo { struct detailInfo {
u32 mID1; //ID1 u32 mID1; //ID1
u32 mID2; //ID2 u32 mID2; //ID2
@ -53,6 +63,16 @@ struct detailInfo {
u64 errorData[10]; //Error Data u64 errorData[10]; //Error Data
}; };
// ARM11 設定情報
struct settingData {
u32 AccessPattern :3; // [0: 2] AccessPattern(INC:0 - REPEAT:7)
u32 Loop :1; // [3] Loop(Once:0 - Repeat:1)
u32 ReadCount :2; // [4: 5] ReadCount(1000:0 - 10000000:3)
u32 BackUpMemory :3; // [6: 8] BackUpMemory(No:0 - 4MFlash:3)
u32 WriteData :3; // [9:11] WriteData(0000h:0 - Repeat:6)
u32 :0;
};
/* ************************************************** /* **************************************************
@ -79,9 +99,79 @@ enum TestCaseID {
}; };
bool cardFunctionTestStart(u8* buffer, size_t buffer_size, TestCaseID case_id, detailInfo* info); enum CardType {
CARD_TYPE_S1,
CARD_TYPE_S2
};
// アクセスパターン
enum CardAccessPattern {
SETTING_ACCESS_PATTERN_INC,
SETTING_ACCESS_PATTERN_DEC,
SETTING_ACCESS_PATTERN_COMP,
SETTING_ACCESS_PATTERN_RAMDOM1,
SETTING_ACCESS_PATTERN_RAMDOM2,
SETTING_ACCESS_PATTERN_ID1,
SETTING_ACCESS_PATTERN_ID2,
SETTING_ACCESS_PATTERN_REPEAT
};
// DMAタイプ
enum CardDmaType {
SETTING_DMA_TYPE_REPEAT,
SETTING_DMA_TYPE_DMA0,
SETTING_DMA_TYPE_DMA1,
SETTING_DMA_TYPE_DMA2,
SETTING_DMA_TYPE_DMA3,
SETTING_DMA_TYPE_DMA4,
SETTING_DMA_TYPE_DMA5,
SETTING_DMA_TYPE_DMA6,
SETTING_DMA_TYPE_DMA7,
SETTING_DMA_TYPE_CPU
};
// ループ
enum CardLoopType {
SETTING_LOOP_TYPE_ONCE,
SETTING_LOOP_TYPE_REPEAT
};
// リードカウント
enum CardReadCount {
SETTING_READ_COUNT_10000,
SETTING_READ_COUNT_100000,
SETTING_READ_COUNT_1000000,
SETTING_READ_COUNT_10000000
};
// バックアップメモリ
enum CardBackupMemType {
SETTING_BACKUP_MEM_TYPE_NO,
SETTING_BACKUP_MEM_TYPE_64K_EEP,
SETTING_BACKUP_MEM_TYPE_1M_FLASH,
SETTING_BACKUP_MEM_TYPE_4M_FLASH
};
// ライトデータ
enum CardWriteData {
SETTING_WRITE_DATA_0000,
SETTING_WRITE_DATA_55AA,
SETTING_WRITE_DATA_00FF,
SETTING_WRITE_DATA_FFFF,
SETTING_WRITE_DATA_DEC,
SETTING_WRITE_DATA_INC,
SETTING_WRITE_DATA_REPEAT
};
bool cardFunctionTestEnd(void);
} /* nakayama */ } /* nakayama */
} /* red */ } /* red */

View File

@ -43,14 +43,14 @@ public:
while (1) while (1)
{ {
pad.ReadKey();
page.Show(Display::GetInstance(Display::Lower)); page.Show(Display::GetInstance(Display::Lower));
if (pad.IsTrigger(KeyPad::A)) if (pad.IsTrigger(KeyPad::A))
{ {
#ifdef INTEGRATION_TEST
// 引数:buffer, BUFFER_SIZE, TestCaseID(TID_FUNC_RDID1), detailInfo // 引数:buffer, BUFFER_SIZE, TestCaseID(TID_FUNC_RDID1), detailInfo
cardFunctionTestStart( (u8*)card_test_buffer, BUFFER_SIZE, TID_FUNC_RDID1, &detail);
//cardFunctionTestStart(); #endif
} }
if (pad.IsTrigger(KeyPad::B)) if (pad.IsTrigger(KeyPad::B))
@ -104,14 +104,14 @@ public:
while (1) while (1)
{ {
pad.ReadKey();
page.Show(Display::GetInstance(Display::Lower)); page.Show(Display::GetInstance(Display::Lower));
if (pad.IsTrigger(KeyPad::A)) if (pad.IsTrigger(KeyPad::A))
{ {
#ifdef INTEGRATION_TEST
// 引数:buffer, BUFFER_SIZE, TestCaseID(TID_FUNC_RDID2), detailInfo // 引数:buffer, BUFFER_SIZE, TestCaseID(TID_FUNC_RDID2), detailInfo
cardFunctionTestStart( (u8*)card_test_buffer, BUFFER_SIZE, TID_FUNC_RDID2, &detail);
//cardFunctionTestStart(); #endif
} }
if (pad.IsTrigger(KeyPad::B)) if (pad.IsTrigger(KeyPad::B))
@ -127,8 +127,6 @@ public:
#define TEMP_BUFFER_SIZE 0x90 #define TEMP_BUFFER_SIZE 0x90
#define DUMP_NUM 0x100 #define DUMP_NUM 0x100
#define ONE_PAGE_SIZE 0x80 #define ONE_PAGE_SIZE 0x80
#define DUMP_MAP_BASE_X 0
#define DUMP_MUP_BASE_Y 70
class ReadSeqPageVerify: public CardTestProgram class ReadSeqPageVerify: public CardTestProgram
{ {
@ -176,9 +174,6 @@ public:
temp_buffer[index] = index & 0xff; temp_buffer[index] = index & 0xff;
} }
// キー操作読み出し用
KeyPad& pad = KeyPad::GetInstance();
// 表示用フラグ // 表示用フラグ
bool done = false; bool done = false;
bool refresh = false; bool refresh = false;
@ -189,17 +184,29 @@ public:
// デバッグ用 // デバッグ用
verify_result = true; verify_result = true;
// ƒL<C692>[<E28098>ì“ÇÝ<E2809A>oµ—p
KeyPad& pad = KeyPad::GetInstance();
// ループ // ループ
while (1) while (1)
{ {
pad.ReadKey();
page.Show(Display::GetInstance(Display::Lower)); page.Show(Display::GetInstance(Display::Lower));
if (pad.IsTrigger(KeyPad::A)) if (pad.IsTrigger(KeyPad::A))
{ {
// 引数:buffer, BUFFER_SIZE, TestCaseID(TID_FUNC_RDSEQ_WITH_VERIFY), detailInfo setting.up_down = 0;
//cardFunctionTestStart(); setting.StartAddress = address.GetValue();
setting.size = read_size.GetValue();
setting.EndAddress = setting.StartAddress + setting.size;
setting.data = 0;
setting.reserved1 = 0;
setting.reserved2 = 0;
#ifdef INTEGRATION_TEST
cardSettingMenu( &setting );
cardFunctionTestStart( (u8*)card_test_buffer, BUFFER_SIZE, TID_FUNC_RDSEQ_WITH_VERIFY, &detail);
#endif
// ダンプ表示開始アドレス & 表示サイズ // ダンプ表示開始アドレス & 表示サイズ
dump_start_address = address.GetValue(); dump_start_address = address.GetValue();
show_size = read_size.GetValue() > ONE_PAGE_SIZE ? ONE_PAGE_SIZE : read_size.GetValue(); show_size = read_size.GetValue() > ONE_PAGE_SIZE ? ONE_PAGE_SIZE : read_size.GetValue();
@ -304,7 +311,6 @@ public:
while (1) while (1)
{ {
pad.ReadKey();
page.Show(Display::GetInstance(Display::Lower)); page.Show(Display::GetInstance(Display::Lower));
if (pad.IsTrigger(KeyPad::A)) if (pad.IsTrigger(KeyPad::A))
@ -393,7 +399,6 @@ public:
while (1) while (1)
{ {
pad.ReadKey();
page.Show(Display::GetInstance(Display::Lower)); page.Show(Display::GetInstance(Display::Lower));
if (pad.IsTrigger(KeyPad::A)) if (pad.IsTrigger(KeyPad::A))
@ -477,7 +482,6 @@ public:
while (1) while (1)
{ {
pad.ReadKey();
page.Show(Display::GetInstance(Display::Lower)); page.Show(Display::GetInstance(Display::Lower));
if (pad.IsTrigger(KeyPad::A)) if (pad.IsTrigger(KeyPad::A))
@ -557,7 +561,6 @@ public:
while (1) while (1)
{ {
pad.ReadKey();
page.Show(Display::GetInstance(Display::Lower)); page.Show(Display::GetInstance(Display::Lower));
if (pad.IsTrigger(KeyPad::A)) if (pad.IsTrigger(KeyPad::A))
@ -626,7 +629,6 @@ public:
while (1) while (1)
{ {
pad.ReadKey();
page.Show(Display::GetInstance(Display::Lower)); page.Show(Display::GetInstance(Display::Lower));
if (pad.IsTrigger(KeyPad::A)) if (pad.IsTrigger(KeyPad::A))
@ -670,7 +672,6 @@ public:
while (1) while (1)
{ {
pad.ReadKey();
page.Show(Display::GetInstance(Display::Lower)); page.Show(Display::GetInstance(Display::Lower));
if (pad.IsTrigger(KeyPad::A)) if (pad.IsTrigger(KeyPad::A))
@ -714,7 +715,6 @@ public:
while (1) while (1)
{ {
pad.ReadKey();
page.Show(Display::GetInstance(Display::Lower)); page.Show(Display::GetInstance(Display::Lower));
if (pad.IsTrigger(KeyPad::B)) if (pad.IsTrigger(KeyPad::B))

View File

@ -7,7 +7,7 @@
using namespace nn::red::nakayama; using namespace nn::red::nakayama;
class CtrCardTest: public Program class CtrCardTest: public CardTestProgram
{ {
public: public:
virtual void Execute() virtual void Execute()

View File

@ -55,10 +55,18 @@ public:
{ {
run = true; run = true;
// S1なら 引数:buffer, BUFFER_SIZE, TestCaseID(TID_FUNC_TEST1), detailInfo #ifdef INTEGRATION_TEST
// S2なら 引数:buffer, BUFFER_SIZE, TestCaseID(TID_FUNC_TEST2), detailInfo if ( card_type == CARD_TYPE_S1 )
{
//cardFunctionTestStart(); // S1Èç ˆø<CB86>”:buffer, BUFFER_SIZE, TestCaseID(TID_FUNC_TEST1), detailInfo
cardFunctionTestStart( (u8*)card_test_buffer, BUFFER_SIZE, TID_FUNC_TEST1, &detail);
}
else
{
// S2Èç ˆø<CB86>”:buffer, BUFFER_SIZE, TestCaseID(TID_FUNC_TEST2), detailInfo
cardFunctionTestStart( (u8*)card_test_buffer, BUFFER_SIZE, TID_FUNC_TEST2, &detail);
}
#endif
} }
} }
@ -68,7 +76,11 @@ public:
if( run ) if( run )
{ {
run = false; run = false;
#ifdef INTEGRATION_TEST
cardFunctionTestEnd(); cardFunctionTestEnd();
#endif
} }
else else
{ {
@ -121,9 +133,10 @@ public:
{ {
run = true; run = true;
#ifdef INTEGRATION_TEST
// ˆø<CB86>”:buffer, BUFFER_SIZE, TestCaseID(TID_FUNC_INTEG), detailInfo // ˆø<CB86>”:buffer, BUFFER_SIZE, TestCaseID(TID_FUNC_INTEG), detailInfo
cardFunctionTestStart( (u8*)card_test_buffer, BUFFER_SIZE, TID_FUNC_INTEG, &detail);
//cardFunctionTestStart(); #endif
} }
} }
@ -133,7 +146,10 @@ public:
if( run ) if( run )
{ {
run = false; run = false;
#ifdef INTEGRATION_TEST
cardFunctionTestEnd(); cardFunctionTestEnd();
#endif
} }
else else
{ {

View File

@ -20,7 +20,6 @@ SOURCES[] =
nakayama.cpp nakayama.cpp
CtrCardTest.cpp CtrCardTest.cpp
FunctionTest.cpp FunctionTest.cpp
CardTestFunction.cpp
LIBS += libnn_demo LIBS += libnn_demo

View File

@ -2,7 +2,7 @@
using namespace nn::red::nakayama; using namespace nn::red::nakayama;
class AgingTestRWMem: public Program class AgingTestRWMem: public CardTestProgram
{ {
public: public:
virtual void Execute() virtual void Execute()
@ -99,7 +99,7 @@ public:
while (1) while (1)
{ {
pad.ReadKey(); // pad.ReadKey();
page.Show(Display::GetInstance(Display::Lower)); page.Show(Display::GetInstance(Display::Lower));
if (pad.IsTrigger(KeyPad::B)) if (pad.IsTrigger(KeyPad::B))
@ -112,7 +112,7 @@ public:
}; };
}; };
class ReadTestRWMem: public Program class ReadTestRWMem: public CardTestProgram
{ {
public: public:
virtual void Execute() virtual void Execute()
@ -185,7 +185,7 @@ public:
}; };
class WriteTestRWMem: public Program class WriteTestRWMem: public CardTestProgram
{ {
public: public:
virtual void Execute() virtual void Execute()
@ -258,7 +258,7 @@ public:
}; };
class ReadSpeedRWMem: public Program class ReadSpeedRWMem: public CardTestProgram
{ {
public: public:
virtual void Execute() virtual void Execute()
@ -298,7 +298,7 @@ public:
}; };
class WriteSpeedRWMem: public Program class WriteSpeedRWMem: public CardTestProgram
{ {
public: public:
virtual void Execute() virtual void Execute()
@ -338,7 +338,7 @@ public:
}; };
class ReadOnlyRWMem: public Program class ReadOnlyRWMem: public CardTestProgram
{ {
public: public:
virtual void Execute() virtual void Execute()
@ -379,7 +379,7 @@ public:
}; };
}; };
class WriteOnlyRWMem: public Program class WriteOnlyRWMem: public CardTestProgram
{ {
public: public:
virtual void Execute() virtual void Execute()
@ -422,7 +422,7 @@ public:
#define ID_NUM 3 #define ID_NUM 3
class ReliabilityTestForRWMemory: public Program class ReliabilityTestForRWMemory: public CardTestProgram
{ {
virtual void Execute() virtual void Execute()
{ {
@ -440,7 +440,7 @@ class ReliabilityTestForRWMemory: public Program
date.Text = __DATE__; date.Text = __DATE__;
page.Add(date); page.Add(date);
Selector<Program> menu; Selector<CardTestProgram> menu;
menu.X = 20; menu.X = 20;
menu.Y = 40; menu.Y = 40;
page.Add(menu); page.Add(menu);

View File

@ -2,7 +2,7 @@
using namespace nn::red::nakayama; using namespace nn::red::nakayama;
class AgingTestRom: public Program class AgingTestRom: public CardTestProgram
{ {
public: public:
virtual void Execute() virtual void Execute()
@ -109,7 +109,7 @@ public:
}; };
}; };
class ReadTestRom: public Program class ReadTestRom: public CardTestProgram
{ {
public: public:
virtual void Execute() virtual void Execute()
@ -227,7 +227,7 @@ public:
}; };
}; };
class ReadSpeedRom: public Program class ReadSpeedRom: public CardTestProgram
{ {
public: public:
virtual void Execute() virtual void Execute()
@ -266,7 +266,7 @@ public:
}; };
}; };
class ReadOnlyRom: public Program class ReadOnlyRom: public CardTestProgram
{ {
public: public:
virtual void Execute() virtual void Execute()
@ -309,7 +309,7 @@ public:
#define ID_NUM 3 #define ID_NUM 3
class ReliabilityTestForRom: public Program class ReliabilityTestForRom: public CardTestProgram
{ {
virtual void Execute() virtual void Execute()
{ {
@ -327,7 +327,7 @@ class ReliabilityTestForRom: public Program
date.Text = __DATE__; date.Text = __DATE__;
page.Add(date); page.Add(date);
Selector<Program> menu; Selector<CardTestProgram> menu;
menu.X = 20; menu.X = 20;
menu.Y = 40; menu.Y = 40;
page.Add(menu); page.Add(menu);

View File

@ -18,6 +18,10 @@
#include <nn/os.h> #include <nn/os.h>
#include <nn/dbg.h> #include <nn/dbg.h>
#ifdef INTEGRATION_TEST
#include <nn/os/os_DeviceMemory.h>
#endif
#include "nakayama.h" #include "nakayama.h"
#include "CtrCardTest.cpp" #include "CtrCardTest.cpp"
@ -25,8 +29,17 @@ using namespace nn::red::nakayama;
extern "C" void nnMain() extern "C" void nnMain()
{ {
CtrCardTest program; CtrCardTest program;
program.Execute();
while(1){}; #ifdef INTEGRATION_TEST
// 連続したバッファの確保
nn::os::DeviceMemoryBlock* pDeviceMemoryBlock = new nn::os::DeviceMemoryBlock(BUFFER_SIZE, false);
// 確保したバッファを登録
program.card_test_buffer = pDeviceMemoryBlock->GetAddress();
#endif
program.Execute();
while(1){};
} }

View File

@ -618,12 +618,13 @@ void ValueSelector::KeyIn(KeyPad& key)
*---------------------------------------------------------------------------*/ *---------------------------------------------------------------------------*/
void VariableSelector::KeyIn(KeyPad& key) void VariableSelector::KeyIn(KeyPad& key)
{ {
if( !EditMode ) if( !EditMode )
{ {
ValueSelector::KeyIn(key); ValueSelector::KeyIn(key);
// 選択中のアイテムが編集可能オブジェクト // 選択中のアイテムが編集可能オブジェクト
if( selector::items[selector::current_item]->Editable ) if( items[current_item]->Editable )
{ {
// 右ボタンが押された場合 // 右ボタンが押された場合
if( key.IsTrigger(KeyPad::RIGHT) ) if( key.IsTrigger(KeyPad::RIGHT) )

View File

@ -1480,14 +1480,15 @@ public:
class CardTestProgram : public Program{ class CardTestProgram : public Program{
public: public:
static settingInfo setting; settingInfo setting;
static detailInfo detail; detailInfo detail;
CardType card_type; CardType card_type;
bool verify_result; bool verify_result;
void* card_test_buffer;
}; };
//settingInfo CardTestProgram::setting;
//detailInfo CardTestProgram::detail;
/*!--------------------------------------------------------------------------* /*!--------------------------------------------------------------------------*