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

📄 diff.txt

📁 针对德州仪器DM270开发板的bootloader,其实现了内核的下载以及文件系统的下载
💻 TXT
📖 第 1 页 / 共 3 页
字号:
? diff.txt? i2c.d? pmpConfig.h? pmu.d? rr_i2c.c? rr_i2c.hIndex: ChangeLog===================================================================RCS file: /home/cvs/rrload/ChangeLog,vretrieving revision 1.3diff -r1.3 ChangeLog2a3,5> 04.04.14(ver5.24-2.6)> ======================> 1. Battery啊 low threashold voltage捞窍肺 冻绢瘤搁 stand by mode肺 皑.3a7,21> 04.04.14(ver5.34-2.6)> ======================> 1. rrload俊辑 main battery check routine 火涝.>  	main battery啊 3.6V焊促 累栏搁 stand by mode肺 皑.> > 04.04.02(ver5.34-2.5)> ======================> 1. debug message 荐沥 > 2. 弥檬 charger俊 狼秦辑 enable 登菌阑 版快 促矫 stand by肺 傈券.> 	--> charger俊 狼秦 pmu绰 enable登瘤 臼澜.> > 04.03.30(ver5.23-2.4)> ======================> 1.chager俊 包茄 葛电 interrupt mask.> 	1) INT2M <==0xffIndex: Makefile===================================================================RCS file: /home/cvs/rrload/Makefile,vretrieving revision 1.4diff -r1.4 Makefile48,50c48,50< ifeq ($(BSPCONF_BTLDR_CS8900_DEBUG),y)< DEBUG += -DBSPCONF_BTLDR_CS8900_DEBUG=1< endif---> #ifeq ($(BSPCONF_BTLDR_CS8900_DEBUG),y)> #DEBUG += -DBSPCONF_BTLDR_CS8900_DEBUG=1> #endif211c211,212<   ETHER = ether_cs8900.o---> # ETHER = ether_cs8900.o>   ETHER = 305,310d305< #use EVM3 board< PMU_BOARD = -DPMP100_EVM< #use ES1 board< #PMU_BOARD = -DPMP100_ES1< < PMU_FLAGS = -DUSE_PMU $(PMUBOARD)313,317c308< #CFLAGS  = -MD -g -Wall -D$(NetRate) $(KERN)< < # use PMU< CFLAGS  = -MD -g -Wall -D$(NetRate) $(KERN) $(PMU_FLAGS)< ---> CFLAGS  = -MD -g -Wall -D$(NetRate) $(KERN)Index: btldr_pi.c===================================================================RCS file: /home/cvs/rrload/btldr_pi.c,vretrieving revision 1.1.1.1diff -r1.1.1.1 btldr_pi.c263c263<   tftp_init();---> //  tftp_init();265c265<   ether_init();---> //  ether_init();Index: btldr_ui.c===================================================================RCS file: /home/cvs/rrload/btldr_ui.c,vretrieving revision 1.4diff -r1.4 btldr_ui.c47a48> #include "pmpConfig.h"1742a1744,1750> > 	//Added By Lee...> 	if(pmu_OnkeyCheck()) //wakeup by not onkey> 		// Modified By Lee... 04.04.02> 		pmu_goStandBy(); //pmu go standby if it was not waken by on key..> //		waitOnKey(); > 1752,1755d1759< < 	//Added By Lee...< /*	if(pmu_OnKeyCheck())< 		waitOnKey(); */Index: btldr_ui.d===================================================================RCS file: /home/cvs/rrload/btldr_ui.d,vretrieving revision 1.2diff -r1.2 btldr_ui.d2c2<  flash.h version.h pmu.h dm270-registers.h--->  flash.h version.h pmpConfig.h pmu.h dm270-registers.hIndex: i2c.c===================================================================RCS file: /home/cvs/rrload/i2c.c,vretrieving revision 1.1diff -r1.1 i2c.c1,8c1,23< /***************************************************************/< /*     i2c for PMU(PCF50606) control                           */< /*     Date : 2004. 03. 16					                   */< /*     Version : 0.1                                           */< /*     Reigncom Ltd.		                                   */		< /*						                                       */< /***************************************************************/< 									---> /*****************************************************************************> *> *             Copyright (C) 2002 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.c> *> *  File Description:> *> *     This file contains the I2C driver functions> *> *> *****************************************************************************/> 11d25< //==========    Definitions   =================13,23c27,51< #define REG	*(volatile unsigned short *)< #define OSEL	0x3089A< #define O0DIV	0x3089C< #define O1DIV	0x3089E< #define PWM0C	0x308A2< #define PWM0H	0x308A4< #define PWM1C	0x308A6< #define PWM1H	0x308A8< #define BITSET_BASE		0x3058C< #define BITCLR_BASE		0x30592< #define DIR_BASE	0x30580---> /* *************************   Global Variables   ************************* */> static UINT16 i2c_scl,i2c_sda;> static volatile UINT16 *dir_scl, *bitset_scl, *bitclr_scl;> static volatile UINT16 *dir_sda, *bitset_sda, *bitclr_sda;> > /* ***********************   Function Prototypes   ************************ */> > static void  makeSclLow(void);> static void  makeSclHigh(void);> static void  makeSdaLow(void);> static void  makeSdaHigh(void);> static BOOL  readSda(void);> static void  makeSdaInput(void);> static void  makeSdaOutput(void);> static void  i2cStart(void);> static void  i2cStop(void);> static BOOL  i2cReadBit(void);> static void  i2cWriteBit(BOOL bit);> static BOOL  i2cGetAck(void);> static void  i2cSendAck(void);> static void  i2cSendNack(void);> static UINT8 i2cReadByte(void);> static void  i2cWriteByte(UINT8 byte);> static void  i2cWait(void);> 24a53> /* ****************************   BEGIN CODE   **************************** */26,32c55,105< void GIODirSet(unsigned char port, unsigned char dir){                                                 <     unsigned char gio_offset = 0;                                                                      <     <     while(port > 15){        <         port -= 16; <         gio_offset +=2;  <     }---> /* main initialization function */> void I2C_init(INT16 scl_gio, INT16 sda_gio)> {>    /* configure pointers based on GIO usage */>    if (scl_gio >= 32)>    {>       dir_scl = DIR2;>       bitset_scl = BITSET2;>       bitclr_scl = BITCLR2;>       i2c_scl = 1 << (scl_gio-32);>    }>    else if (scl_gio >= 16)>    {>       dir_scl = DIR1;>       bitset_scl = BITSET1;>  	  bitclr_scl = BITCLR1;>       i2c_scl = 1 << (scl_gio-16);>    }>    else>   {>          dir_scl = DIR0;>          bitset_scl = BITSET0;>          bitclr_scl = BITCLR0;>          i2c_scl = 1 << scl_gio;>    }> >    if (sda_gio >= 32)>    {>       dir_sda = DIR2;>       bitset_sda = BITSET2;>       bitclr_sda = BITCLR2;>       i2c_sda = 1 << (sda_gio-32);>    }>    else if (sda_gio >= 16)>       {>          dir_sda = DIR1;>          bitset_sda = BITSET1;>          bitclr_sda = BITCLR1;>          i2c_sda = 1 << (sda_gio-16);>       }>       else>       {>          dir_sda = DIR0;>          bitset_sda = BITSET0;>          bitclr_sda = BITCLR0;>          i2c_sda = 1 << sda_gio;>       }> >    /* configure the 2 GIO lines as outputs */>    *dir_scl &= ~i2c_scl;>    *dir_sda &= ~i2c_sda;34,37c107,108<     if(dir)         <         REG (DIR_BASE + gio_offset) |= (1 << port);                                                    <     else            <         REG (DIR_BASE + gio_offset) &= ~(1 << port);                                                   --->    /* put bus in stop state */>    i2cStop();39a111,114> void I2C_writeReg(UINT8 slaveAddr, UINT8 subAddr, UINT8 val,>                  UINT8 *successFlag)> {>    UINT8 flag=1;41,42c116< void GIOSet(unsigned char port,unsigned char set){<     unsigned char gio_offset = 0;                                                                      --->    i2cStart();44,47c118,119<     while(port > 15){        <         port -= 16; <         gio_offset +=2;  <     }               --->    i2cWriteByte(slaveAddr & 0xfe);      /* LSb = 0 for write */>    flag &= i2cGetAck();49,53c121,122<     if(set)         <         REG (BITSET_BASE + gio_offset) = (1 << port);                                                  <     else            <         REG (BITCLR_BASE + gio_offset) = (1 << port);                                                  < }--->    i2cWriteByte(subAddr);>    flag &= i2cGetAck();55,58c124,125< unsigned char GIOGet(unsigned char port){< 	unsigned char gio_offset = 0;< 	unsigned short temp;< 	unsigned char res;--->    i2cWriteByte(val);>    flag &= i2cGetAck();60,66c127< 	while(port > 15){< 		port -= 16;< 		gio_offset += 2;< 	}< 	< 	temp = REG (BITSET_BASE + gio_offset);< 	res = temp & (1 << port);--->    i2cStop();68,71c129< 	if(res)< 		return(1);< 	else< 		return(0);--->    *successFlag = (flag) ? I2C_SUCCESS : I2C_ERROR;74,77d131< void set_PMU_SCL_High(void){< //   REG BITSET1 = PMU_SCL_GIO;< 	GIOSet(PMU_SCL_GIO,1);< }79,82c133,136< void set_PMU_SCL_Low(void){<    // REG BITCLR1 = PMU_SCL_GIO;< 	GIOSet(PMU_SCL_GIO,0);< }---> void I2C_writeRegs(UINT8 slaveAddr, UINT8 subAddr, UINT8 *val,>                   UINT32 count, UINT8 *successFlag)> {>    UINT8 i, flag=1;84,87c138,149< void set_PMU_SDA_High(void){<   //  REG BITSET1 = PMU_SDA_GIO;< 	GIOSet(PMU_SDA_GIO,1);< }--->    i2cStart();>    i2cWriteByte(slaveAddr & 0xfe);      /* LSb = 0 for write */>    flag &= i2cGetAck();>    i2cWriteByte(subAddr);>    flag &= i2cGetAck();> >    for (i = 0; i < count; i++)>    {>       i2cWriteByte(val[i]);>       flag &= i2cGetAck();>    }>    i2cStop();89,91c151< void set_PMU_SDA_Low(void){<   //  REG BITCLR1 = PMU_SDA_GIO;< 	GIOSet(PMU_SDA_GIO,0);--->    *successFlag = (flag) ? I2C_SUCCESS : I2C_ERROR;94,96c154,182< void make_PMU_SDA_Input(void){< //	GIODirSet(PMU_SDA_GIO,1);< 	REG 0x30584 |= (0x1);---> unsigned char I2C_readReg(UINT8 slaveAddr, UINT8 subAddr,>                  UINT8 *successFlag)> {>    UINT8 val, flag=1;> >    i2cStart();> >    i2cWriteByte(slaveAddr & 0xfe);      /* LSb = 0 for write */>    flag &= i2cGetAck();> >    i2cWriteByte(subAddr);>    flag &= i2cGetAck();> >    i2cStart();>    i2cWriteByte(slaveAddr | 0x01);      /* LSb = 1 for read */>    flag &= i2cGetAck();> >    makeSdaInput();>    i2cWait();>    val = i2cReadByte();> >    makeSdaOutput();>    i2cWait();>    i2cSendNack();>    i2cStop();> >    *successFlag = (flag) ? I2C_SUCCESS : I2C_ERROR;> >    return val;99,101c185,211< void make_PMU_SDA_Output(void){< //	GIODirSet(PMU_SDA_GIO,0);< 	REG 0x30584 &= ~(0x1);---> > void I2C_readRegs(UINT8 slaveAddr, UINT8 subAddr, UINT8 *val,>                  UINT32 count, UINT8 *successFlag)> {>    UINT32 i, flag=1;> >    i2cStart();>    i2cWriteByte(0xfe&slaveAddr); // "write" must be even number>    flag &= i2cGetAck();> >    i2cWriteByte(subAddr);>    flag &= i2cGetAck();> >    i2cStart();>    i2cWriteByte((0xfe&slaveAddr)+1);>    flag &= i2cGetAck();> > >    for(i=0; i<count; i++)>    {>       val[i] = i2cReadByte();>       if (i == count-1)>          i2cSendNack();>       else>          i2cSendAck();>    }>    i2cStop();104,119c214,220< unsigned char get_SDA(void){< 	volatile unsigned char temp;< 	i2c_wait();< 	make_PMU_SDA_Input();< 	set_PMU_SCL_High();< 	i2c_wait();< 	i2c_wait();< 	i2c_wait();< 	i2c_wait();< 	temp  = GIOGet(PMU_SDA_GIO);< 	set_PMU_SCL_Low();< 	i2c_wait();< 	if(temp)< 		return(1);< 	else< 		return(0);---> > /* **********************   Local Helper Functions   ********************** */> > /* write a '0' to SCL */> static void makeSclLow(void)> {>    *bitclr_scl = i2c_scl;122d222< unsigned char get_Ack(void){124,126c224,228< 	volatile unsigned char res=0;< 	res = get_SDA();< 	make_PMU_SDA_Output();---> /* write a '1' to SCL */> static void makeSclHigh(void)> {>    *bitset_scl = i2c_scl;> }128,131d229< 	if(!(res & 0x1))< 		return(1);< 	else< 		return(0); 132a231,234> /* write a '0' to SDA */> static void makeSdaLow(void)> {>    *bitclr_sda = i2c_sda;135,136c237,241< void send_Ack(void){< 	GIOSet(PMU_SDA_GIO,0);---> > /* write a '1' to SDA */> static void makeSdaHigh(void)> {>    *bitset_sda = i2c_sda;139,140c244,254< void send_Nack(void){< 	GIOSet(PMU_SDA_GIO,1);---> > /* read SDA */> static BOOL readSda(void)> {>    UINT16 usTemp;> >    usTemp = *bitset_sda;>    if ((usTemp & i2c_sda) != 0)>       return (BOOL)1;>    else>       return (BOOL)0;143,146c257,261< void i2c_wait(void){< 	unsigned char i;< 	for(i=0;i<200;i++)< 		;---> > /* set SDA as input */> static void makeSdaInput(void)> {>    *dir_sda |= i2c_sda;149,154d263< void i2c_Init(void){< 	set_PMU_SCL_High();< 	set_PMU_SDA_High();< 	GIODirSet(PMU_SCL_GIO,0); //dedicated gio output.< 	GIODirSet(PMU_SDA_GIO,0); //dedicated gio output.< 	i2c_wait();156,157c265,269< 	i2c_Open();< 	i2c_wait();---> /* set SDA as output */> static void makeSdaOutput(void)> {>    makeSdaHigh();                       /* was pulled up, keep same state */>    *dir_sda &= ~i2c_sda;160,163c272,280< void i2c_Open(void){< 	set_PMU_SDA_Low();< 	i2c_wait();< 	set_PMU_SCL_Low();---> static void i2cStart(void)> {>    makeSdaHigh();>    makeSclHigh();>    i2cWait();>    makeSdaLow();>    i2cWait();>    makeSclLow();>    i2cWait();166,170c283,289< void i2c_Stop(void){< 	set_PMU_SDA_Low();< 	set_PMU_SCL_High();< 	i2c_wait();< 	set_PMU_SDA_High();---> static void i2cStop(void)> {>    makeSdaLow();>    makeSclHigh();>    i2cWait();>    makeSdaHigh();>    i2cWait();173,174c292,294< int i2c_Send_Byte(unsigned char buff){<     int j=8;---> static BOOL i2cReadBit(void)> {>    BOOL bit;176,177c296,304<     while(j--){< 		i2c_wait();--->    makeSclHigh();>    i2cWait();>    i2cWait();>    i2cWait();>    i2cWait();>    i2cWait();>    i2cWait();>    bit = readSda();>    makeSclLow();179,188c306<        if(buff & (0x1 << j)){<            set_PMU_SDA_High();<        }else{<            set_PMU_SDA_Low();< 	  }< 		i2c_wait();<        set_PMU_SCL_High();< 		i2c_wait();< 		set_PMU_SCL_Low();<     }---

⌨️ 快捷键说明

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