Примерно так
typedef unsigned long int hcc_u32;
| |_______________| |_____|
| | |
Определить это значение как это
extern hcc_u32 _BDT_BASE[];
| | |
| | +----- массив
| +---- тип эл-тов массива
+----- находится в другом файле
#define BDT_BASE ((hcc_u32*)(_BDT_BASE))
| | |_____________________|
| | |
| | +----- это значение
| +------- вместо этого
+------ подставлять
#define BDT_ADR_RX(ep, b) (BDT_BASE[((ep)<<3)+((b)<<1)+1])
| |_______________| |______________________________|
| | |
| | +------ это значение (с переменными аргументами)
| +--------- вместо этого
+----- подставлять