/**
 * LPCXpresso1769 constatnt hash array.
 このオブジェクトは、ハッシュリストです。
 */
var LPCX17xx_h=function()
{
	//i_a1へi_a2をマージ
	function marge(i_a1/*,...*/){
		for(var i2=1;i2<arguments.length;i2++){
			for (var i in arguments[i2]){
				i_a1[i]=arguments[i2][i];
			}
		}
	}
	var BASE={
		LPC_FLASH_BASE:	0x00000000,
		LPC_RAM_BASE:	0x10000000,
		LPC_GPIO_BASE:	0x2009C000,
		LPC_APB0_BASE:	0x40000000,
		LPC_APB1_BASE:	0x40080000,
		LPC_AHB_BASE:	0x50000000,
		LPC_CM3_BASE:	0xE0000000
	};
	var BASE_APB1=function(i_base){
		return{};
	}
	var BASE_APB0=function(i_base){
		return{};
	}
	var BASE_AHB =function(i_base){
		return{};
	}
	//
	var BASE_GPIO=function(i_base){
		return {
		LPC_GPIO0_BASE:i_base + 0x00000,
		LPC_GPIO1_BASE:i_base + 0x00020,
		LPC_GPIO2_BASE:i_base + 0x00040,
		LPC_GPIO3_BASE:i_base + 0x00060,
		LPC_GPIO4_BASE:i_base + 0x00080};
	}(BASE.LPC_GPIO_BASE);
		
	function GPIOx(i_base)
	{
		return {
		FIODIR:i_base+		0x00000,//4
		RESERVED0:i_base+	0x00004,//12
		FIOMASK:i_base+		0x00010,//4
		FIOPIN:i_base+		0x00014,//4
		FIOSET:i_base+		0x00018,//4
		FIOCLR:i_base+		0x0001C};//4
	}
	/*
	function PINCON(i_base)
	{
		return{
  		PINSEL0:i_base+0x00,
		PINSEL1:i_base+0x04,
		PINSEL2:i_base+0x08;
		PINSEL3:i_base+0x0c;
		PINSEL4+i_base+0x10;
		PINSEL5+i_base+0x14;
		PINSEL6+i_base+0x18;
		PINSEL7+i_base+0x;
		PINSEL8+i_base+0x;
		PINSEL9+i_base+0x;
		PINSEL10+i_base+0x;
		RESERVED0[5];
  __IO uint32_t PINMODE0+i_base+0x;
  __IO uint32_t PINMODE1+i_base+0x;
  __IO uint32_t PINMODE2+i_base+0x;
  __IO uint32_t PINMODE3+i_base+0x;
  __IO uint32_t PINMODE4+i_base+0x;
  __IO uint32_t PINMODE5+i_base+0x;
  __IO uint32_t PINMODE6+i_base+0x;
  __IO uint32_t PINMODE7+i_base+0x;
  __IO uint32_t PINMODE8+i_base+0x;
  __IO uint32_t PINMODE9+i_base+0x;
  __IO uint32_t PINMODE_OD0+i_base+0x;
  __IO uint32_t PINMODE_OD1+i_base+0x;
  __IO uint32_t PINMODE_OD2+i_base+0x;
  __IO uint32_t PINMODE_OD3+i_base+0x;
  __IO uint32_t PINMODE_OD4+i_base+0x;
  __IO uint32_t I2CPADCFG;
} LPC_PINCON_TypeDef;	
	
	*/
	
	//定義済配列の連結
	var ret={};//連想配列
	marge(ret,
		//Peripheral memory map
		BASE,
		BASE_APB1,BASE_APB0,BASE_AHB,BASE_GPIO,
		//Peripheral declaration
		{
			LPC_GPIO0:GPIOx(BASE_GPIO.LPC_GPIO0_BASE),
			LPC_GPIO1:GPIOx(BASE_GPIO.LPC_GPIO1_BASE),
			LPC_GPIO2:GPIOx(BASE_GPIO.LPC_GPIO2_BASE),
			LPC_GPIO3:GPIOx(BASE_GPIO.LPC_GPIO3_BASE),
			LPC_GPIO4:GPIOx(BASE_GPIO.LPC_GPIO4_BASE)
		}
	);
	return ret;
	
}();
