⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 diff.txt

📁 针对德州仪器DM270开发板的bootloader,其实现了内核的下载以及文件系统的下载
💻 TXT
📖 第 1 页 / 共 3 页
字号:
>    i2cWait();190c308< 	return 0;--->    return bit;193,195c311,316< unsigned char i2c_Read_Byte(void){< 	int i =8;< 	volatile unsigned char temp,res= 0;---> static void i2cWriteBit(BOOL bit)> {>    if (bit)>       makeSdaHigh();>    else>       makeSdaLow();197,202c318,320< 	while(i--){< 		temp = get_SDA();< 		res |= (temp << i);< 		i2c_wait();< 	}< 	return res;--->    makeSclHigh();>    i2cWait();>    makeSclLow();205,206c323< void i2c_writeReg(unsigned char devaddr, unsigned char subaddr,< 					unsigned char value, unsigned char *successflag)---> static BOOL i2cGetAck(void)208,212c325< 	unsigned char flag=1;< 	< 	i2c_Init();< 	i2c_Send_Byte(devaddr & 0xfe); //device write addr...< 	flag &= get_Ack(); --->    BOOL ackVal;214,215c327,331< 	i2c_Send_Byte(subaddr);< 	flag &= get_Ack();--->    makeSdaInput();>    i2cWait();>    ackVal = (BOOL)(!i2cReadBit());      /* 0 - Ack, 1 - NACK */>    makeSdaOutput();>    i2cWait();217,220c333,334< 	i2c_Send_Byte(value);< 	flag &= get_Ack();< < 	i2c_Stop();--->    return ackVal;> }222c336,338< 	*successflag = (flag)? 0 : 1;---> static void i2cSendNack(void)> {>    i2cWriteBit((BOOL)1);225,226c341< unsigned char i2c_readReg(unsigned char devaddr, unsigned char subaddr,< 						unsigned char *successflag)---> static void i2cSendAck(void)228c343,344< 	unsigned char val,flag = 1;--->    i2cWriteBit((BOOL)0);> }230,232c346,348< 	i2c_Init();< 	i2c_Send_Byte(devaddr & 0xfe);< 	flag &= get_Ack();---> static UINT8 i2cReadByte(void)> {>    UINT8 i, mask=0x80, retVal=0;234,235c350,355< 	i2c_Send_Byte(subaddr);< 	flag &= get_Ack();--->    for (i = 0; i < 8; i++)>    {>       if (i2cReadBit())>          retVal |= mask;>       mask >>= 1;>    }237,239c357,358< 	i2c_Init();< 	i2c_Send_Byte(devaddr |= 0x01);< 	flag &= get_Ack();--->    return retVal;> }241,242c360,362< 	i2c_wait();< 	val = i2c_Read_Byte();---> static void i2cWriteByte(UINT8 byte)> {>    UINT8 i, mask=0x80;244,247c364,372< 	make_PMU_SDA_Output();< 	i2c_wait();< 	send_Nack();< 	i2c_Stop();--->    for (i = 0; i < 8; i++)>    {>       if (byte & mask)>          i2cWriteBit((BOOL)1);>       else>          i2cWriteBit((BOOL)0);>       mask >>= 1;>    }> }249,250c374,376< 	*successflag = (flag)? 0 : 1;< 	return(val);---> static void i2cWait(void)> {>    volatile int i;251a378,379>    for (i = 0; i < 100; i++)>       ;Index: i2c.h===================================================================RCS file: /home/cvs/rrload/i2c.h,vretrieving revision 1.1diff -r1.1 i2c.h1,2c1,67< #ifndef __I2C_H__< #define __I2C__H__---> /*****************************************************************************> *> *             Copyright (C) 2001 by Ingenient Technologies, Inc.> *                            All Rights Reserved.> *> *             Use of this software is restricted to the terms and> *            conditions of Ingenient's software license agreement.> *> *                             www.ingenient.com> *> ******************************************************************************> *> *  Filename:> *> *     i2c.h> *> *  File Description:> *> *     Function prototypes, etc. for functions in i2c.c> *> *> *****************************************************************************/> > #ifndef I2C_H> #define I2C_H> > /* ***************************   Definitions   **************************** */> #define REG *(unsigned short *)> #define UINT8	unsigned char> #define UINT16	unsigned short> #define UINT32	unsigned long> #define INT16	short> > #define GIO_REGISTER_BASE    0x00030580   // GIO register address> > #define DIR0     (volatile UINT16 *)(GIO_REGISTER_BASE)> #define BITSET0  (volatile UINT16 *)(GIO_REGISTER_BASE + 0x000C)> #define BITCLR0  (volatile UINT16 *)(GIO_REGISTER_BASE + 0x0012)> > #define DIR1     (volatile UINT16 *)(GIO_REGISTER_BASE + 2)> #define BITSET1  (volatile UINT16 *)(GIO_REGISTER_BASE + 0x000E)> #define BITCLR1  (volatile UINT16 *)(GIO_REGISTER_BASE + 0x0014)> > #define DIR2     (volatile UINT16 *)(GIO_REGISTER_BASE + 4)> #define BITSET2  (volatile UINT16 *)(GIO_REGISTER_BASE + 0x0010)> #define BITCLR2  (volatile UINT16 *)(GIO_REGISTER_BASE + 0x0016)> > > #define BOOL	unsigned char> typedef enum {I2C_SUCCESS, I2C_ERROR} I2C_RETURN;> > /* ****************************   Structures   **************************** */> > > /* *************************   Global Variables   ************************* */> > > /* ***********************   Function Prototypes   ************************ */> void  I2C_init(INT16 scl_gio, INT16 sda_gio);> void  I2C_writeReg(UINT8 slaveAddr, UINT8 subAddr, UINT8 val,>                    UINT8 *successFlag);> void  I2C_writeRegs(UINT8 slaveAddr, UINT8 subAddr, UINT8 *val,>                     UINT32 count, UINT8 *successFlag);> unsigned char I2C_readReg(UINT8 slaveAddr, UINT8 subAddr,>                   UINT8 *successFlag);> void I2C_readRegs(UINT8 slaveAddr, UINT8 subAddr, UINT8 *val,>                   UINT32 count, UINT8 *successFlag);4,5c69< #define PMU_SCL_GIO   31    //GIO24< #define PMU_SDA_GIO   32    //GIO23---> #endif /* I2C_H */7,39d70< #define PMU_ADDR	10< < < void GIODirSet(unsigned char port, unsigned char dir);                                                 < void GIOSet(unsigned char port,unsigned char set);< unsigned char GIOGet(unsigned char port);< < void set_PMU_SCL_High(void);< void set_PMU_SCL_Low(void);< < void set_PMU_SDA_High(void);< void set_PMU_SDA_Low(void);< < void set_PMU_GPIO_High(void);< < void make_PMU_SDA_Input(void);< void make_PMU_SDA_Output(void);< void i2c_Init(void);< void i2c_Open(void);< unsigned char get_SDA(void);< void send_Ack(void);< void sendNack(void);< void i2c_wait(void);< void i2c_Stop(void);< void i2c_Init(void);< int i2c_Send_Byte(unsigned char buff);< unsigned char i2c_Read_Byte(void);< < void i2c_writeReg(unsigned char devaddr, unsigned char subaddr,< 					unsigned char value, unsigned char *successflag);< unsigned char i2c_readReg(unsigned char devaddr, unsigned char subaddr,< 						unsigned char *successflag);< #endif  //__I2C_H__Index: memconfig.h===================================================================RCS file: /home/cvs/rrload/memconfig.h,vretrieving revision 1.1.1.1diff -r1.1.1.1 memconfig.h76c76< #define BSPCONF_SDRAM_SIZE 0x02e19f00---> #define BSPCONF_SDRAM_SIZE 0x0400000097c97< #define BSPCONF_BTLDR_CS8900_DEBUG 1---> #undef BSPCONF_BTLDR_CS8900_DEBUG113c113< #define BSPCONF_RAMDISK_SIZE 5120---> #define BSPCONF_RAMDISK_SIZE 256118c118< #define BSPCONF_DRAM_SIZE 0x01759f00---> #define BSPCONF_DRAM_SIZE 0x02940000129c129< #define BSPCONF_ETHERNET_TYPE ETHERNET_TYPE_CS8900---> #define BSPCONF_ETHERNET_TYPE ETHERNET_TYPE_NONE138c138< #define BSPCONF_NETWORK_TARGET_IP "10.1.8.100"---> #define BSPCONF_NETWORK_TARGET_IP "10.10.27.50"143,145c143,145< #define BSPCONF_NETWORK_TARGET_GW_IP "10.1.8.226"< #define BSPCONF_NETWORK_TARGET_NET_IP "10.0.0.0"< #define BSPCONF_NETWORK_SOURCE_IP "10.1.8.226"---> #define BSPCONF_NETWORK_TARGET_GW_IP "10.10.10.10"> #define BSPCONF_NETWORK_TARGET_NET_IP "10.10.10.10"> #define BSPCONF_NETWORK_SOURCE_IP "192.168.200.58"147c147< #define BSPCONF_NETWORK_SOURCE_MAC "00:0B:CD:08:30:8B"---> #define BSPCONF_NETWORK_SOURCE_MAC "00:08:A1:49:C9:1B"Index: net.c===================================================================RCS file: /home/cvs/rrload/net.c,vretrieving revision 1.1.1.1diff -r1.1.1.1 net.c111,115c111,115<       ether_submit(mode,               // in<                    device_MAC,         // in<                    server_MAC,         // in<                    (void *)ipdatagram, // in/out<                    &ip_len);           // in/out--->  //     ether_submit(mode,               // in>  //                  device_MAC,         // in>  //                  server_MAC,         // in>  //                  (void *)ipdatagram, // in/out>  //                  &ip_len);           // in/out119c119<       ether_submit(FLUSH,device_MAC,server_MAC,NULL,NULL);---> //      ether_submit(FLUSH,device_MAC,server_MAC,NULL,NULL);Index: pmu.c===================================================================RCS file: /home/cvs/rrload/pmu.c,vretrieving revision 1.3diff -r1.3 pmu.c10a11> #include "pmpConfig.h"17,19c18,19< < #define REG *(unsigned short *)< #define DIR0  0x30580---> #define I2C_SCL_GIO	 31> #define I2C_SDA_GIO	 3227a28,41> unsigned char pmu_write_reg(unsigned char subaddr, unsigned char data){> 	unsigned char flag;> > 	I2C_writeReg(PMU_DEV_ADDR,subaddr,data, &flag);> 	return(flag);> }> > unsigned char pmu_read_reg(unsigned char subaddr, unsigned char *value){> 	unsigned char flag;> > 	*value = I2C_readReg(PMU_DEV_ADDR, subaddr, &flag);> 	return(flag);> }> 29a44,46> 	unsigned char temp;> > 	I2C_init(I2C_SCL_GIO, I2C_SDA_GIO);31c48< 	i2c_writeReg(PMU_DEV_ADDR, 0x1b,0xf8,&flag);  //DCDC1 1.5V set.---> 	flag = pmu_write_reg(DCDC1,0xf8);  //DCDC1 1.5V set.34c51< 		util_printf("i2c success\n");---> 		util_printf("PMU DCDC1 1.5V set..\n");38c55< 	i2c_writeReg(PMU_DEV_ADDR, 0x3a,0x7,&flag); //GPO3 constant low --> FET open---> 	flag = pmu_write_reg(GPOC3,0x7); //GPO3 constant low --> FET open41c58< 		util_printf("i2c success\n");---> 		util_printf("GPO3 low...\n");46c63< 	i2c_writeReg(PMU_DEV_ADDR,0x24, 0x6, &flag); //D1REGC1阑 power off---> 	flag = pmu_write_reg(D1REGC1, 0x6); //D1REGC1阑 power off49c66< 		util_printf("i2c success\n");---> 		util_printf("D1REGC1 set...\n");54c71< 	i2c_writeReg(PMU_DEV_ADDR,0x21, 0xe3, &flag); //DCUDDC1俊 1.8V set---> 	flag = pmu_write_reg(DCUDC1, 0xe3); //DCUDDC1俊 1.8V set57c74< 		util_printf("i2c success\n");---> 		util_printf("DCUDDC1 1.8v set...\n");62c79< 	i2c_writeReg(PMU_DEV_ADDR,0x3b, 0x7, &flag); //GPOC4甫 low active --> FFT open---> 	flag = pmu_write_reg(GPOC4, 0x7); //GPOC4甫 low active --> FFT open65c82< 		util_printf("i2c success\n");---> 		util_printf("GPOC4 low active.\n");69c86,103<  ---> >  	//========== Added 04.04.13 ===================> 	flag = pmu_write_reg(LPREGC1,0x2f); //LPVDD 2.4V, ECO mode. > 	flag = pmu_write_reg(ADCC2, 0x83); //BATVOLT, subtractor> 	flag = pmu_read_reg(ADCS1, &temp); //read battery volt> #if defined(DEBUG)> 	util_printf("Battry : %d\n",temp);> #endif> >     //====  Modified 04.04.14 ======================> //	if(temp < 67){ // If battery voltage is below 3.6V> 	if(temp < 78){ // If battery voltage is below 3.6V> 		util_printf("LOW BATTERY...!!\n");> 		util_printf("GO TO STANDBY MODE...!!\n");> 		pmu_goStandBy(); //go to stand by mode.> 	}> 	//=============================================> 	71c105< 	i2c_writeReg(PMU_DEV_ADDR,0x25, 0xf8, &flag); //USB device power---> 	flag = pmu_write_reg(D2REGC1, 0xf8); //USB device power74c108< 		util_printf("i2c success\n");---> 		util_printf("1st USB power set.\n");79c113< 	i2c_writeReg(PMU_DEV_ADDR,0x26, 0xf0, &flag); //USB device power---> 	flag = pmu_write_reg(D3REGC1, 0xf0); //USB device power82c116< 		util_printf("i2c success\n");---> 		util_printf("2nd USB power set.\n");88c122< 	i2c_writeReg(PMU_DEV_ADDR,0x36,0x80,&flag); //LED1 pattern setting---> 	flag = pmu_write_reg(LEDC1,0x80); //LED1 pattern setting91c125< 		util_printf("i2c success\n");---> 		util_printf("LED1 pattern .\n");96c130< 	i2c_writeReg(PMU_DEV_ADDR,0x39,0x1,&flag); //GPOC2俊 LED1 ouput enable---> 	flag = pmu_write_reg(GPOC2,0x1); //GPOC2俊 LED1 ouput enable99c133< 		util_printf("i2c success\n");---> 		util_printf("LED1 output ...\n");102a137,194> 	//==========  Added 04.03.27  ===============> //	pmu_write_reg(INT1M,0x48,&flag); //Mask the SECOND interrupt.> 	//Modified By Lee 04.03.30 for mask ON KEYF interrupt> 	flag = pmu_write_reg(INT1M,0x4a); //Mask the SECOND interrupt.> #if defined(DEBUG)> 	if(!flag)> 		util_printf("INT1M mask .\n");> 	else> 		util_printf("i2c failed\n");> #endif > > #if defined(NOT_WAKEUP_BY_CHARGER)> 	//===========  Added 04.03.30  ==============> 	flag = pmu_write_reg(INT2M,0xff); //Mask the all interrupts by charger.> #if defined(DEBUG)> 	if(!flag)> 		util_printf("INT2M mask .\n");> 	else> 		util_printf("i2c failed\n");> #endif > > 	flag = pmu_write_reg(INT3M,0x0e); //Mask the all about accessory & touch screen interrupt.> #if defined(DEBUG)> 	if(!flag)> 		util_printf("INT3M mask .\n");> 	else> 		util_printf("i2c failed\n");> #endif > > 	flag = pmu_write_reg(OOCC1,0x44); //Mask the wake up by charger interrupt.> #if defined(DEBUG)> 	if(!flag)> 		util_printf("wakeup setting.\n");> 	else> 		util_printf("i2c failed\n");> #endif> #endif > > }> > unsigned char read_irqPort(void){> 	volatile unsigned char key_val;> 	volatile unsigned short port;> > 	#if defined(PMP100_EVM)> 		REG DIR0 |= (1 << 6);> 	#else> 		REG DIR0 |= (1 << 5);> 	#endif> > 		port = REG BITSET0;	> 	#if defined(PMP100_EVM)> 		key_val = port & (1 << 6);> 	#else> 		key_val = port & (1 << 5);> 	#endif> > 	return(key_val);106a199> 	unsigned char temp;108c201,212< 		key_val = i2c_readReg(PMU_DEV_ADDR,0x02,&flag); //button ON KEY check.---> 		flag = pmu_read_reg(INT1,&key_val); //button ON KEY check.> 	#if defined(DEBUG)> 		util_printf("%x\n",key_val);> 	#endif> 		flag = pmu_read_reg(INT2,&temp);> 	#if defined(DEBUG)> 		util_printf("%x\n",temp);> 	#endif> 		flag = pmu_read_reg(INT3,&temp);> 	#if defined(DEBUG)> 		util_printf("%x\n",temp);> 	#endif114a219,280> unsigned char detect_interrupt(void){> 	unsigned char flag;> 	unsigned char key_val;> > 	if(!read_irqPort()){> 		flag = pmu_read_reg(INT1,&key_val); //Read INT1 Register.> 		if((key_val & 0x3)){> 		#if defined(DEBUG)> 			util_printf("ONKEY DETECTED\n");> 		#endif> 			return ONKEY_DETECT;> 		}> 		if(key_val & 0x4){> 		#if defined(DEBUG)> 			util_printf("ONKEY1S DETECTED\n");> 		#endif> 			return ONKEY1S_DETECT;> 		}> 		if(key_val & 0x10){> 		#if defined(DEBUG)> 			util_printf("EXTONF DETECTED\n");> 		#endif> 			return EXTONF_DETECT;> 		} > 		if(key_val & 0x80){> 		#if defined(DEBUG)> 			util_printf("ALARM DETECTED\n");> 		#endif> 			return ALARM_DETECT;> 		}> 	}> > 	if(!read_irqPort()){> 		flag = pmu_read_reg(INT2,&key_val);> 		if(key_val & 0x1){> 		#if defined(DEBUG)> 			util_printf("CHGINS DETECTED\n");> 		#endif> 			return(CHGINS_DETECT);> 		}> 		if(key_val & 0x2){> 		#if defined(DEBUG)> 			util_printf("CHGRM DETECTED\n");> 		#endif> 			return(CHGRM_DETECT);> 		}> 	}> > 	if(!read_irqPort()){> 		flag = pmu_read_reg(INT3, &key_val);> 		if(key_val & 0x1){> 		#if defined(DEBUG)> 			util_printf("ADCREADY DETECTED\n");> 		#endif> 			return(ADCREADY_DETECT);> 		}> 	}> > 	return(0);> 		

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -