關於#3 - 確保它移植到PC,這裏的策略,我用:
首先,經過嵌入代碼和改變任何「詮釋」或「無符號長」到「INT16」 或'uint32'(或者你選擇的任何約定)。
裹在嵌入式頭部在其中定義的條件內的類型的部分:
#ifndef CORE_TYPE_DEFINITIONS
#define CORE_TYPE_DEFINITIONS
typedef long int16;
/*...*/
#endif
創建一個「PC_Types.h」文件,該文件定義的相同類型的個人計算機。
#ifdef CORE_TYPE_DEFINITIONS
#error "Core Types already defined"
#else
#define CORE_TYPE_DEFINITIONS
typedef short int16;
/*...*/
#endif
在PC項目,爲每個嵌入式C文件,其中包含以下包裝:
#include "PC_Types.h"
#include "ModuleX.c" //the file under test
#include "TestHarness.h" //verification functions
int TestModuleXUnit1(void)
{
/* setup */
/* call Unit1(); */
/* verify post-conditions */
return result;
}
通過包裝的每一個文件,你有所有可用的耦合功能需要。 #包裝文件中的原始源文件允許您直接從源代碼管理系統中更新嵌入代碼,而無需進行任何修改。在包含的源代碼之後添加測試功能使得測試代碼可以完全訪問所有模塊的功能,即使它們沒有公共頭文件。
非常感謝,這是我開始的好地方! – IntelliChick 2010-06-28 22:56:09